øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2245.75e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexc3a9-2.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&board=8.40e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexc3a9-2.html.zxx$h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈà•¤ÊìOKtext/htmlISO-8859-1gzip@øÕÊìÿÿÿÿÿÿÿÿTue, 10 Mar 2020 23:52:48 GMT0ó°° ®0®P®€§²ð®w$h^ÿÿÿÿÿÿÿÿÍ"Êì New bank C3 disassembly, and related docs

Author Topic: New bank C3 disassembly, and related docs  (Read 7303 times)

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New bank C3 disassembly, and related docs
« Reply #75 on: March 14, 2017, 02:06:47 PM »
Yeah, I quickly realized what the problem was. I had done #1 but not #3.
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New bank C3 disassembly, and related docs
« Reply #76 on: March 19, 2017, 02:31:49 PM »
Any idea why I can't see SrBehemoth in my Rage menu after I've already gone through the Cave in the Veldt?

:edit:
I can confirm this problem is caused by the Rage Checklist menu patch. When the patch sees SrBehemoth's MSB as a 1, it neglects to add it to the Rage list. I would imagine this is true for White Drgn as well, because SrBehemoth and White Drgn are both bosses, but I have yet to test this.

:edit:
OK, no, apparently it doesn't happen with White Drgn. Now I can only guess that it has something to do with the formation oddities of SrBehemoth.
« Last Edit: March 19, 2017, 04:29:13 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: New bank C3 disassembly, and related docs
« Reply #77 on: March 19, 2017, 04:04:31 PM »
1)
does it still happen without my stuff applied?

2) random thought: Vanish + X-Zone is for scumbags.

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

EDIT:
Quote
When the patch sees SrBehemoth's MSB as a 1, it neglects to add it to the Rage list.

the living one (#281), sure.  that doesn't explain why undead (#127, i.e. the only Rageable one) wouldn't get added.
« Last Edit: March 19, 2017, 04:17:39 PM by assassin »

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New bank C3 disassembly, and related docs
« Reply #78 on: March 19, 2017, 04:42:36 PM »
1)
does it still happen without my stuff applied?

Yes.

2) random thought: Vanish + X-Zone is for scumbags.

I agree.
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New bank C3 disassembly, and related docs
« Reply #79 on: March 19, 2017, 05:14:54 PM »
the living one (#281), sure.  that doesn't explain why undead (#127, i.e. the only Rageable one) wouldn't get added.

I would wager that this has something to do with it. This is from Terii Senshi's Veldt Algorithms page:

Quote
A special note about the 2 SrBehemoth battles (in groups 54 and 57): After you beat the living SrBehemoth in the Veldt Cave (Don't Vanish + X-Zone him!), the game turns on a flag that causes the undead SrBehemoth formation to be loaded whenever a subsequent battle (i.e. a Veldt one) tries to load the living SrBehemoth formation. When you beat the undead one in the Veldt Cave, the game marks the LIVING formation as encounterable for the Veldt (this works because one variable still holds the first formation number, but all the enemies in the current formation have a value <= 255).

So you can now encounter the SrBehemoth (undead) battle in group 57 on the Veldt, in place of SrBehemoth (living). Once you've fought that, you'll also be able to encounter the SrBehemoth (undead) battle in group 54.
"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: New bank C3 disassembly, and related docs
« Reply #80 on: March 19, 2017, 05:16:20 PM »
OK, no, apparently it doesn't happen with White Drgn. Now I can only guess that it has something to do with the formation oddities of SrBehemoth.

argh, that was one of my first suspicions, but i wrongly ruled it out, because i can't remember the details and order in which this crap happens.

so when you finish the SrBehemoth 2-part battle (without Vanish + X-Zone scumbaggery, of course): the game marks the First Battle Formation as met for Veldt purposes, but on the basis of the current formation holding a sub-255 enemy ID.  a weird hybrid, yes, but seems intentional given how the game sets an event bit, and later uses it to swap between the two formations at battle start on a Veldt meeting.  (ultimately resulting in you meeting undead SrBehemoth twice per Veldt cycle.)

this nonsense will have to be simulated in some way by the patch.  there's hardcoding (e.g. enable monster #127 whenever formation #452 has been met, or slightly more flexible, enable #127 whenever a formation containing #281 has been met); this route is shorter and easier, but lame.  then there's using the Formation Interchange data and the event bit to follow how the game does it in the first place.  long, but noble.

-------

EDIT: because i am mentally challenged, i was envisioning the latter doing the interchange check within the formation loop.  slower than dirt.  better to have a separate loop that just goes through all 8 Formation Interchange entries.  if an activated first-halfer is found, then convert the second-halfer's formation # into Byte,Bit (a C2/5217 far-call helper would be nice), and call "mark6x8" for it.  EDIT2: and i guess you could double-check first that the first-halfer formation was actually met, if you don't want to rely too much on the event bit.
« Last Edit: March 21, 2017, 07:31:34 PM by assassin »

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: New bank C3 disassembly, and related docs
« Reply #81 on: March 20, 2017, 10:48:32 AM »
seeing as how the patch behavior isn't technically incorrect, and the issue resolves after the needed Veldt battle, i'd tend to say that making it telegraph the unlocking that'll occur in that battle isn't worth the effort. [EDIT: maybe it is.  regardless, am glad you documented the issue here.]
« Last Edit: March 21, 2017, 03:43:19 PM by assassin »

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New bank C3 disassembly, and related docs
« Reply #82 on: April 08, 2017, 04:39:48 PM »
I found and acquired the Pugs rage, and it shows up in the out-of-battle Rage menu, but in the in-battle menu it just shows a blank slot, and I can't actually select it. Does that have anything to do with this?

3) Bank C2: i had a 255-length alphabetized list largely for this bank's concerns.  we don't want Pugs' ID output there, because we can't use the rage, and it could overflow the $3A9A counter if somehow all others are possessed.  so when going 256-length, we would need "CMP #$FF / BEQ" at about C2/584A to skip Pugs.  C2/585F's "CPX #$FF" can be dropped, but i still need 2 more bytes.  it looks like the SwdTech and Blitz "TDC"s can go, though i'd sort of prefer to keep my changes in the Rage part of the function.  any ideas?
"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: New bank C3 disassembly, and related docs
« Reply #83 on: April 08, 2017, 08:29:20 PM »
this is covered in my patch's rage-list-alpha.txt .  there isn't a single post in this thread by either author suggesting any patch involved can make Pugs usable in battle, so your surprise at this surprises me. :P

in an 8-bit menuing system, some 0-255 value has to represent null.

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New bank C3 disassembly, and related docs
« Reply #84 on: April 08, 2017, 08:45:04 PM »
I get that that's a limitation, but there had better be a way around it. If we can't make Pugs usable in battle, then what's the point of having it as a Rage?
"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: New bank C3 disassembly, and related docs
« Reply #85 on: April 08, 2017, 08:55:00 PM »
there is no point.

1) but as far as a cartridge player, Square's target audience, knows, the Rage never is learned.
2) for Novalia Spirit or me, enabling the out-of-battle listing is just there for information for the curious.  that's why it's present as an added option to his patch, not a requirement.

making it work is non-trivial:

Quote from: Novalia Spirit
Getting this to work in battle would probably not be too difficult either. I'm guessing I could just assign Guard's value (#$00) to an unlocked Pugs Rage, and then add a check to see if the Rage is in the very first Rage slot. This would cause a problem with the variable holding the current Rage ($33A8,X), but this could probably be circumvented by setting an unused flag and adding the necessary checks.

and there are still the issues discussed in rage-list-alpha.txt .