Skip to content

Conversation

@HansGR
Copy link

@HansGR HansGR commented Jan 30, 2023

This package incorporates tracker logging, including handling for meta-events (NEW GAME, SAVE GAME, LOAD GAME, RESET) and for KT events (ktAmbush [Inferno spot], ktGuardian [Guardian spot], statueLeft, statueRight, statueMid, Defeated Tier 1, Defeated Tier 2, Defeated Tier 3, Defeated Kefka - gg!). To support this, four new values are added to GetSaveDataResponse (gameTime, saveCheck [save checksum], onTier, gg).

Tests & parses tracker logging.  Includes special handling for *NEW GAME*, *SAVE GAME*, *LOAD GAME*, and *RESET*.  For all other events, pushes any tracker changes (characters, events, dragons, chests) to the log.
Added log tracking for the following endgame events:
- unlockKefka (i.e. meet final kefka requirements)
- unlockSkip (i.e. meet KT skip requirements)
- ktAmbush (i.e. Inferno spot)
- switchyard (3 switches to enter gauntlet)
- ktGuardian (i.e. Guardian spot)
- statueLeft (i.e. Doom spot)
- statueRight (i.e. Goddess spot)
- statueMid (i.e. Poltrgeist spot)
- finalCinematic (a stand-in for "beat the game", although it only activates just after the first book-flipping-pages cinematic ends).

TBD:
- EnterFinalBattle (activate final 3 switches)
- DefeatKefka (ideally, on "crackow")
both of these will apparently require new custom event bits.  (So would DefeatTier1-3, if implemented.)
- Added the following tracking messages for the final battle:
"Defeated Tier 1"
"Defeated Tier 2"
"Defeated Tier 3"
"Defeated Kefka - gg!"
These run off two new fields in GetSaveDataResponse: response.onTier = {0, 1, 2, 3, 4} and response.gg = {0, 1}.
These fields update based on monster formation and the "gg bit" $009A, which (in battle mode) enables the Kefka dissolving animation.  Because of this it is actually tracked about 4 seconds after the first 'crackow', which is when we stop the timer in races.  It might be worth timing this out and adjusting it in the code.  Also since both the monster formations and the gg-bit are used for other purposes outside of battle, there is a small chance that this gets tracked under other conditions.  If that's a problem we can further constrain it.

- Switch to the true game time, which is stored at 0x021b (in the menu ram).
Added a -5 second correction to the "Defeated Kefka - gg!" tracking item.  This tracks off of when the dissolve begins which is about 150 frames (5 seconds) after the actual "Crackow".  This correction makes the tracker timing match racing conventions.  (Note that nothing in the tracker is more accurate than the update rate, i.e. +/- 0.5 seconds.)
@vercel
Copy link

vercel bot commented Jan 30, 2023

@HansGR is attempting to deploy a commit to the ff6wc Team on Vercel.

A member of the Team first needs to authorize it.

@vercel
Copy link

vercel bot commented Jan 30, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated
tempest ❌ Failed (Inspect) Jan 30, 2023 at 3:37PM (UTC)

kielbasiago pushed a commit that referenced this pull request Mar 22, 2025
Cleaning up unused dependencies and adding port retry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant