øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2300.0e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index273b.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&board=8.80e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index273b.html.zx%h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈà•¤íÆOKtext/htmlISO-8859-1gzip@øÕíÆÿÿÿÿÿÿÿÿTue, 10 Mar 2020 23:55:10 GMT0ó°° ®0®P®€§²ð®%h^ÿÿÿÿÿÿÿÿ^"íÆ New patch: Precious Jewels Glitch fix

Author Topic: New patch: Precious Jewels Glitch fix  (Read 884 times)

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
New patch: Precious Jewels Glitch fix
« on: October 28, 2016, 04:24:48 PM »
New patch, everybody! This fixes the oddity of the Fanatics' Tower cult swarming you despite the fact that you didn't really take the Gem Box. It does so by introducing a new method that checks if a certain treasure chest is open, and it introduces an event script that uses this with the Gem Box chest. Now the event of the MagiMaster battle will be guaranteed not to trigger unless the chest is open.

In other news, I have decided to redesignate Turn Around as a bugfix patch instead of a tweak.
"Do not meddle in the affairs of wizards, for they are subtle and quick to anger." -Gildor from The Lord of the Rings

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: New patch: Precious Jewels Glitch fix
« Reply #1 on: October 28, 2016, 04:45:51 PM »
I know in the original the event sets a bit if you step on the square in front of the chest. I would think that the easiest fix would be to add additional conditions to that event, and only set the relevant event bit if you stand on that square and press A while facing up (as there are bits to check each of those conditions, no new command is needed, just an expanded event bit conditional).

Of course I'm not sure what method you used, but that was just what I had considered.
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.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: New patch: Precious Jewels Glitch fix
« Reply #2 on: October 28, 2016, 05:59:35 PM »
IIRC, that won't work. If you set a trigger, that requires the button pressed, next to a chest, the game will ignore the chest (or it's the opposite?, I can't remember :P).

But, as you said, you could handle everything via event code, including the chest (modifying the tile of the chest and giving the item); but it requires additional code to the "on enter" event of the map ("if you already have this, modify the tile of the chest, open it"), for the next time the game loads that map. That's how I have it.

13375K31C43R

  • Ultros
  • *
  • Posts: 675
  • Gender: Male
    • View Profile
    • Leet Sketcher's Final Fantasy III Patches
Re: New patch: Precious Jewels Glitch fix
« Reply #3 on: October 28, 2016, 06:26:42 PM »
My solution was to add a new event code function, very similar to the "check event bits" function, except you can use it to check whether a treasure chest has been opened or closed because the game handles treasure chests in a similar fashion, setting a bit for every chest you open so it stays open for the rest of the game. So the offset in RAM where this new event function looks is just a bit different. There's a place in RAM for treasure chests, very close to the RAM for event bits, and, as I discovered, both are close to the RAM for doors that can or cannot be opened.

One thing the game already does with this particular event, for example. is make it impossible to reopen the door to the Gem Box room after acquiring the Gem Box, and making it possible again after you beat MagiMaster. It does this when you leave the Gem Box room:

Code: [Select]
CC5448: {DC-99}               Set event bit $1E80($699) [$1F53, bit 1]

It then clears that bit after the boss battle.
"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 patch: Precious Jewels Glitch fix
« Reply #4 on: October 29, 2016, 02:24:18 AM »
Quote
But, as you said, you could handle everything via event code, including the chest (modifying the tile of the chest and giving the item); but it requires additional code to the "on enter" event of the map ("if you already have this, modify the tile of the chest, open it"), for the next time the game loads that map. That's how I have it.

maybe this is okay for a one-time fudge.  but generally speaking: :noooo:

for this approach taken to extremes, see Secret of Evermore.  it doesn't even HAVE such a thing as treasure chest data, but instead implements treasures (and much more) via some giant, uber-powerful script that makes use of "Read RAM variable" and "Set RAM variable" commands that can affect a wide range of addresses.  coincidentally, treasure data still hasn't been decoded 21 years after the game's release, though darkmoon2321 is on the verge of it.  (and that's only because he's tackling the entirely reasonable task of decoding said giant scripting system.  i have no idea why only one other person made a true dent in it before him [my nick/scratch doesn't count]; it's like people see it as the epitome of non-trivial, or worse, as some great, looming Satan.)

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: New patch: Precious Jewels Glitch fix
« Reply #5 on: October 29, 2016, 09:11:33 AM »
implements treasures (and much more) via some giant, uber-powerful script that makes use of "Read RAM variable" and "Set RAM variable" commands that can affect a wide range of addresses.

I guess the weird (cheap?) drop system of this game is included there (yes, I have seen the documentation of certain guy :P).

i have no idea why only one other person made a true dent in it before him [my nick/scratch doesn't count]; it's like people see it as the epitome of non-trivial, or worse, as some great, looming Satan.)

I don't know why, but it seems hackers tend to avoid arpgs, with the exception of zelda games.  :happy:

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: New patch: Precious Jewels Glitch fix
« Reply #6 on: October 29, 2016, 04:39:39 PM »
I guess the weird (cheap?) drop system of this game is included there (yes, I have seen the documentation of certain guy :P).

yeah, that was no picnic either.  but trivial to work around compared to treasure chests and hidden ingredients.  i just had to find the variables used (it's always the same 9), then visit every area and copy+paste their RAM values.  doing the same thing for treasures would require finding each treasure (as that's when its variable is accessed), which partly defeats the purpose, and won't catch well-hidden ones.

soon enough, searching darkmoon's script dumps will tell us the needed info.

-------

to tie it back to this: leet's patch might be overkill, but:
1) i prefer it to SoE's eviler style of overkill (definitely a relevant comparison if you can't combine the event with a conventional chest).
2) square probably should have made that event command to start with.
3) other hackers can use his patch as a base, more readily than if he'd gone the coordinates + button press checking route.

Xenovant

  • Tunnel Armor
  • *
  • Posts: 154
  • (ಠ_ಠ)
    • View Profile
Re: New patch: Precious Jewels Glitch fix
« Reply #7 on: October 29, 2016, 08:10:37 PM »
to tie it back to this: leet's patch might be overkill, but:
1) i prefer it to SoE's eviler style of overkill (definitely a relevant comparison if you can't combine the event with a conventional chest).
2) square probably should have made that event command to start with.
3) other hackers can use his patch as a base, more readily than if he'd gone the coordinates + button press checking route.

I agree with everything :P As a fix, it's an "overkill", as you said, but this patch is interesting for hackers.

Imzogelmo

  • Ogopogo Aficianado
  • *
  • Posts: 241
  • Gender: Male
  • Ask me about my other job.
    • View Profile
    • NEPROMR
Re: New patch: Precious Jewels Glitch fix
« Reply #8 on: October 30, 2016, 12:01:36 AM »
I agree that it is a good idea for an event command, and in the case of further hacking it could certainly be useful in a more general sense.

My thought was just that a one-time fudge would work and not use up any of the rare unused event command space. Of course both methods work just fine, and I agree that if any other instances in the game need such a fix then an event command clearly is the best method (as my method would be kludgey even if the chest were approachable from multiple directions).

I think any "ultimate edition" needs to have several event commands that didn't make it into vanilla FF6, and an event command to check treasure chests would certainly be among those.
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.