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

Author Topic: Quick Megafix topic  (Read 4045 times)

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #15 on: May 12, 2016, 05:08:43 PM »
I still like it. :) Can I see the code?


It's really simple, at the end of the quick spell (C2/42D4), add a jump to somewhere, and then, this:

Code: [Select]
STA $3402   ;the removed line, store the number of turns due to Quick
LDA $3A7C
CMP #$17    ;x-magic (the second spell)?
BNE skip    ;branch if it wasn't
DEC $3402   ;Quick -1
skip:
RTS

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #16 on: May 12, 2016, 06:30:46 PM »
the problem seems to be Smoke Bomb -specific.  i tried having the Quick user run away while their comrade was airborne, and things worked alright.  next, i edited Smoke Bomb to allow single targeting, and had a Quick user SB themselves with their allies on the ground.  the characters remaining couldn't run, and any commands i had them input wouldn't do anything -- eventually leading to a hanging battle.

so maybe there's some step(s) taken in Function C2/20DE to allow Quick compatibility that Smoke Bomb lacks?

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: Quick Megafix topic
« Reply #17 on: May 12, 2016, 06:37:10 PM »
so maybe there's some step(s) taken in Function C2/20DE to allow Quick compatibility that Smoke Bomb lacks?

I think you're right on the nose. That's the fleeing function, and it actually explicitly calls the "remove entities" function. Smoke Bomb marks entities to be removed from the same place in code as BabaBreath, which does not have an explicit call. I believe Engulf, Escape and Sneeze do the same thing, but none of those are affected because none of them can happen during Quick.
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #18 on: May 12, 2016, 06:44:46 PM »
- the two bit settings before the "JSR $07C8" are also curious..
- can BabaBreath happen during Quick with your patch applied, now that it's in a FC 1C block (iirc)?

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: Quick Megafix topic
« Reply #19 on: May 12, 2016, 06:51:01 PM »
- can BabaBreath happen during Quick with your patch applied, now that it's in a FC 1C block (iirc)?

It probably can. I know that violates the nature of Quick, but I think it's acceptable for two reasons. One, the battle is supposed to end immediately after BabaBreath is used. Two, Phunbaba is supposed to use BabaBreath twice after being hit below 15,360 HP, but he only does it once if the player manages to kill him from above that threshold. The combination of those things means that, if my patch is applied, players can't use Quick plus a hefty attacker or Ultima in order to easily perform a swift kill on Phunbaba to avoid losing a second party member.

The only possible drawback I see is that the Quick variables may not necessarily be cleared, which would lead to a game hang after Terra joins in. I hope that's not the case because Square probably accounted for the possibility of winning during the first Quick turn, so the Quick variables would have been cleared in that case, but I could be wrong.
« Last Edit: May 12, 2016, 06:58:14 PM by 13375K31C43R »
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #20 on: May 12, 2016, 06:54:59 PM »
to be sure, it won't hang if that happens?

anyway, i tested, and C2/146F is reached for the Quicked Smoke Bomb user, and C2/07C8 clears the Quick bytes.  so i'm leaning more towards those bit settings in the Flee function.

--------

EDIT (in response to your edit): doesn't Terra join in in a separate battle?  the variables should be cleared between the two fights, right?
« Last Edit: May 12, 2016, 07:01:49 PM by assassin »

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: Quick Megafix topic
« Reply #21 on: May 12, 2016, 07:51:26 PM »
I've just tested, no hang. :)
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #22 on: May 12, 2016, 07:59:40 PM »
good, me too. :)  but i think it might be depending on the boss death -- or an End Battle command in the other IF block -- happening right after the BabaBreath.  when i tweaked his script to use BabaBreath in an FC 1C + FC 05, but let the battle continue after, that'd lead to hanging if the Quick user had been expelled.  so it's situationally safe.  but because Square can already interrupt Quick with a BB inside their FC 12, that gives cover to you doing it inside an FC 1C.
« Last Edit: May 12, 2016, 09:00:27 PM by assassin »

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #23 on: May 13, 2016, 04:18:47 AM »
in my Jumper + running Quick user tests, getting rid of the "JSR $07C8" in Flee didn't bug things (though i advise keeping it in).  however, getting rid of the two preceding bit settings plus that did bug things, so it is apparently those bits that matter.

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

following up my modified Phunbaba script test..  i noticed if i tried to run after getting the hang from BabaBreath, the battle would unfreeze after getting a "Can't Run!" message.  what's happening is that C2/5BD0 expedites queuing a Flee if "Can't Run" is set.  then the mere execution of that -- which is done from an uber-high-priority queue -- somehow dislodges the hang.  the Flee function itself doesn't need to do much of anything, as most of it is skipped over, and things still dislodged when i skipped the "JSR $629E" to queue the message.

however, while a barebones Flee executing might undo the bug, it won't *prevent* it, as seen with the hacked Flee in the first section of this post.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #24 on: May 13, 2016, 10:33:23 AM »
I know it's not important, and right now, is irrelevant, but if a patch comes out of this, there is something that I think we should keep in mind: Assassin's x-magic/quick fix isn't compatible with LeetSketcher "Invisible zombie" tweak, nothing that can't be "fixed", but it's there :P

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: Quick Megafix topic
« Reply #25 on: May 24, 2016, 10:17:47 AM »
what is your view on other entities' Stop timers continuing to run?  on the one hand, it's an exception to that "time bubble".  on the other, as Stop's a mighty time freeze that trumps all of that entity's other time-based stuff by pausing them, maybe indeed nothing else should be able to pause it.  it's a Clash of the Titans.

Personally, I'd say that Quick trumps other-Stop. From the player's perspective, of course. From the characters' perspective it should all be instantaneous. :whoa:
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 #26 on: January 07, 2017, 01:37:00 PM »
finally made a Smoke Bomb + Quick patch:

http://assassin17.brinkster.net/forum-posts/smoke-bomb-quick-fix1.asm

by all accounts, it should have been a cakewalk, given we knew the three key things that differed between this and the working Flee function.  but some self-inflicted idiocy turned it into quite the adventure.  right off the bat, i got a crash with a flash of colors, from trying to run 8-bit code in 16-bit mode.  a bad omen indeed, as a needed "TYX" then eluded me for over an hour.  :angry:

i've gotten magnitudes of order dumber since May, when making that other Quick patch (which did have some small jackpot-winning luck on its side).  one silver lining is staring at the C2/3966 function made me realize my Bank C2 comment of "C2/3974: 0C 39 3A     TSB $3A39" needed expanding (though it frustratingly makes $3A3A's meaning more varied; EDIT: ah, this was already in the FF6Hacking wiki).

i've done limited testing, but the patch seems to work in the scenario of having 2 party members run, then having one Jump, and the last use Quick+first turn Smoke Bomb.

Quote from: me
in my Jumper + running Quick user tests, getting rid of the "JSR $07C8" in Flee didn't bug things (though i advise keeping it in).  however, getting rid of the two preceding bit settings plus that did bug things, so it is apparently those bits that matter.

aha, that wasn't quite right.  work on your deduction, ol' chap.

it seems the Bit 6 of $3204,X setting OR the "JSR $07C8" is enough to get rid of the problem.  however, i don't know why, so i'm keeping both, as well as the $3AA1 bit setting (as gauge resetting is sensible enough).  iow, near copy+paste of all 3 Square differences.
« Last Edit: January 07, 2017, 02:11:51 PM by assassin »

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #27 on: January 07, 2017, 02:05:05 PM »
And there goes a direct impact to my most hated enemy, the quick spell. Well done :P


EDIT: Tested this:
Quote
#133

Summon Palidor, and have someone cast Quick before everyone could drop down; have that person use a Smoke Bomb on his first of two turns. Those in mid-air won't escape, and Quick won't be broken, which situation results in a game hang.

The game still hangs >_<'

With the patch, the enemies start moving, yes, but those on the air are still stuck there.
« Last Edit: January 07, 2017, 02:26:55 PM by Xenovant »

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: Quick Megafix topic
« Reply #28 on: January 22, 2017, 01:20:21 AM »
:noooo:

i had the unfortunate timing of seeing your initial reply when editing my first post, so i didn't know there was trouble until checking the topic by chance 1.5 hours ago.

thanks for testing with Palidor.  oddly, my 10-Speed Gogo (hacked that way months/years ago) does eventually land, but doesn't when hacked up to 40-something Speed.  so it's like the other two characters being further along when Quick is cast is apparently working against them.  also, i am able to get the problem even with Quick+running.

i'm unable to get it with multiple individual, rapid-fire Jumps in place of Palidor, but am unsure whether this makes the issue specific to the Esper, or if i just haven't duplicated the timing involved.  if it is dependent on the Summon, that means we have Palidor complexity stacked on top of Quick complexity to unravel.  :eek:

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: Quick Megafix topic
« Reply #29 on: January 22, 2017, 11:48:50 AM »
Yeah, I think the issue is specific to Palidor.