øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2225.30e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexd963.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&board=8.60e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexd963.html.zx³$h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈà•¤—ÜOKtext/htmlISO-8859-1gzip8:Ö—ÜÿÿÿÿÿÿÿÿTue, 10 Mar 2020 23:53:47 GMT0ó°° ®0®P®€§²ð®²$h^ÿÿÿÿÿÿÿÿ$—Ü Quick Megafix topic

Author Topic: Quick Megafix topic  (Read 4045 times)

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #30 on: January 22, 2017, 01:26:43 PM »
huh, i also get the bug on vanilla running or Smoke Bombing on the second Quick turn.  hell, i can even cast Rasp for the second turn.

-------

EDIT: i suspect Bit 3 of $3AA0 is involved, for no other reason than 6 of its 8 bits are the devil.
« Last Edit: January 22, 2017, 02:13:30 PM by assassin »

Tenkarider

  • Guard Leader
  • *
  • Posts: 50
    • View Profile
Re: Quick Megafix topic
« Reply #31 on: January 22, 2017, 06:03:41 PM »
afaik, as far as Quick is active the caster can't miss to make the next action, or the battle will never proceed

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #32 on: January 22, 2017, 06:19:45 PM »
huh, i also get the bug on vanilla running or Smoke Bombing on the second Quick turn.  hell, i can even cast Rasp for the second turn.

*Scratches his head* I'm testing it on the vanilla game and the only way I have for triggering the bug, with the patch, is palidor+smoke bomb. If the characters jump, if the quick caster runs, first or second turn,... I tried all of this and it's fine.

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Quick Megafix topic
« Reply #33 on: January 22, 2017, 08:16:09 PM »
There has to be code that handles the case of Quick casters who never reach their 2nd turn (suicide is the first thought, although the same could be said of Smoke Bomb, etc.). If that code executes, it should be made to safely bring the quick extra turns back down to 0, and let the regular queue work its magic.

5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #34 on: January 23, 2017, 08:00:02 AM »
I'm testing it on the vanilla game and the only way I have for triggering the bug, with the patch, is palidor+smoke bomb.

this sentence is a jumble; are you trying it on vanilla or with the patch?

-------------

Imzogelmo: it's not enough to just clear the Quick variables; various mystery flags have to be altered.  Flee (i.e. from running) does both.  Smoke Bomb/etc. doesn't do the latter.  and while its flagging the entity in $2F4C precipitates the former, C2/144F and its C2/07C8 call happen too late for the changes to be visible in C2/083F (and thus C2/091F).

my patch adds the Flee steps into Smoke Bomb/etc, fixing *some* of the bug.

however, it looks like there's a (semi-) separate Palidor-specific one.  and if my prior post is right, it comes simply from Quick interrupting Palidor (albeit timing sensitive enough where uber low jumping character Speed somehow dodges the issue).  not Quick plus fleeing, or Quick plus dying; just Quick.

various Great Satan bits are more elusive in purpose than the well-defined Quick variables.  so this isn't yet clear how to solve.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #35 on: January 23, 2017, 08:24:55 AM »
this sentence is a jumble; are you trying it on vanilla or with the patch?

Yeah :P  I meant a clean rom with just that fix.

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Quick Megafix topic
« Reply #36 on: January 23, 2017, 06:42:30 PM »
Isn't there a queue just for Palidor landings though? i.e. actions which one can do when it's not actually your turn (and distinct from counters)?


I hear ya on the Great Satan bits; but all bits were in that category at some point. It sounds like its close to being cracked though. What I mean by that is, we have all the possible uses of all bits in disassembly, so it's just a matter of connecting the dots (where there are dots) and seeing what code is skipped/executed depending on those unknown bits.
5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #37 on: February 06, 2017, 06:40:34 PM »
to revisit the surprising success of my first Quick fix, because that's less depressing than the second:

Quote from: me
a change being mulled is only skipping the relocated code on Quick's final turn.

with a little testing, skipping versus not skipping it on the first Quick turn doesn't seem to change anything.  and since its job seems to be keeping the gauge from resetting, just running it once after the second X-Magic turn makes more sense, as there should be no need between those turns.  (and i'm not just saying that because it avoids adding more code.)

---------

i had thought that C2/093D would run 4 times: between X-Magic turns on first Quick turn, at end of first Quick turn, between X-Magic turns on second Quick turn, and at end of second Quick turn.

in reality. that last one doesn't happen, because C2/0100 has already detected the end of Quick and nulled $3404 by then.  but what does happen instead is that C2/093D runs right after the Quick casting turn.

this shouldn't change the patch, but it's further amusement from how i had no idea what was going on while somehow making a working patch. :P

---------

inspecting Square's code shows the space-consuming Variable $EE usage can be avoided, letting me fit the patch inline:
http://assassin17.brinkster.net/forum-posts/quick-gembox-try-fix1-shrink.asm

i don't see any callers looking at $EE results (it's usually just a local scratch variable), so not saving to it should be fine.  but that stretch of code is inefficient by Bank C2 standards, almost making me wonder whether Square had something more complex planned there.  who knows; pending other Quick remedies, maybe it'll have to be added back.

the new way clobbers Y.  but that gets clobbered anyway sometimes by C2/095C, and the recent C2/09D2 call could've put various things in it as well.  iow, should be safe.

--------

does one of Leet Sketcher's patches alter Function C2/091F?  that seems vaguely familiar -- unless it was just C2/08nn -- but i wouldn't recall where to start looking.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #38 on: February 06, 2017, 07:31:15 PM »
does one of Leet Sketcher's patches alter Function C2/091F?  that seems vaguely familiar -- unless it was just C2/08nn -- but i wouldn't recall where to start looking.

Invisible zombie   http://l33t5k37ch3r.altervista.org/invisible-zombie.html


Reading your post, I think it's better to stick with the old fix, at least for now :P


assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #39 on: February 06, 2017, 08:14:29 PM »
thanks; it would've taken me ages to find that.

argh, so i'm 3 bytes over, or 2 if i shifted his code down to claim the NOP.  a possible 2-byte optimization can be done by combining the (vanilla address) C2/08E8 and C2/08F9 checks with an AND.

but it's a bit early to worry about space saving in what's still an alpha patch. :)  also, just changing an "org" statement and two instructions in free space land for compatibility seduces my lazy side.

-------

EDIT: i lied; it's never too soon for this stuff.  here's another:
Code: [Select]
C2/08D5: A9 C2 LDA #$C2 (Wound, Petrify, Zombie)
C2/08D7: E0 08 CPX #$08 (Is entity a monster?)
C2/08D9: B0 02 BCS $08DD (+2) (If so, branch)
C2/08DB: A9 C0 LDA #$C0 (If not, ignore Zombie)

--------

lda #$30
CPX #$08
rol
rol
« Last Edit: February 06, 2017, 08:25:34 PM by assassin »

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Quick Megafix topic
« Reply #40 on: February 06, 2017, 09:42:06 PM »
Hmm, well, I like this (alpha) patch enough to put it in the compilation, so there's that...

Invisible Zombie never really struck me as a fix so much as a rule-change, so I haven't included it yet. That's why I didn't notice a conflict yet. However, Leet has been kind enough to make versions to work around everyone else's patches, so it only seems right to give the same consideration to him.  :hmm:

Anyway, I'm wanting to know more about this other Quick fix stuff. What is it that is not working?
5/31/16 - I have an assembly of the battle portion of C2, relocated to the F0 bank, which has both vanilla and patch code in my dropbox. I'll be updating it with additional patches as I have time. I will *not* be releasing it publicly, but ask me for the link and I'll share.