Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flag tracker #3447

Merged
merged 17 commits into from
Nov 29, 2023
Merged

Conversation

Malkierian
Copy link
Contributor

@Malkierian Malkierian commented Nov 25, 2023

Switches check tracker over to OnFlagSet and OnSceneFlagSet, with some flag corrections in rcObjects. Still manually handles several vanilla "checks", like medallions, most songs, etc. This allows complete removal of delayed checking and check queues, making tracking instantaneous. Should now properly handle virtually all vanilla and MQ non-rando checks (though there are undoubtedly a few left that have bad values). Also changes tracker to always spoil all areas when not a randomizer save.

Build Artifacts

…l workarounds (some breaks still need to be found).

Remove areaChecks and looping functionality as redundant.
Fix tracker marking non-MQ variants of dungeon checks (e.g. map chest, etc) when collecting in MQ.
@Malkierian Malkierian changed the base branch from develop to develop-macready November 26, 2023 00:20
…he option is enabled in check tracker settings, selection, or set number of 12.

Fix vanilla checks being marked collected in MQ dungeons.
…ocation.cpp`, add RC to RandoInf for it to the table. Also don't send GI for flag if father, falsely triggers ZR frogs minigame.
Copy link
Contributor

@aMannus aMannus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can't say I fully grasp the item tracker code, but looks ok to me? 2 small comments.

soh/src/code/z_message_PAL.c Show resolved Hide resolved
Change scene and flag values to any existing enums.
Clarifying formatting for the checking loop vOrMQ conditions.
Copy link
Contributor

@garrettjoecox garrettjoecox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, not blocking but a few comments.

Simplify Always Win Gravedigging Tour and Fix Gravedigging Tour Glitch applications.
Modified all necessary paths to use vanilla GDT PoH collection flag instead of randomizer variant.
@briaguya-ai briaguya-ai merged commit c4f3462 into HarbourMasters:develop-macready Nov 29, 2023
8 checks passed
@Malkierian Malkierian deleted the flag-tracker branch November 29, 2023 06:58
A-Green-Spoon pushed a commit to A-Green-Spoon/Shipwright that referenced this pull request Nov 30, 2023
* Hook into flagset hooks for processing check tracking. Has some manual workarounds (some breaks still need to be found).
Remove areaChecks and looping functionality as redundant.

* Additional vanilla handling.

* Fix tracker not showing MQ checks in MQ non-rando.
Fix tracker marking non-MQ variants of dungeon checks (e.g. map chest, etc) when collecting in MQ.

* Set all areas to spoiled if not rando.

* Revert attempt to spoil in randomizer based on MQ dungeon count as I don't know how that works at the moment.

* Restore and update spoiling based on MQ dungeon settings (none, selection, or count of 12).
Fix Anju As Adult check.

* Remove Anchor-specific code :baguette:

* Use `ClearAreaTotals()` in `Teardown()` instead of the duplicate code there.

* Update to `ClearAreaChecksAndTotals()` with `vec.clear()` added.

* Fix type spoiling again. Now spoils on 0 MQ dungeons, not rando, if the option is enabled in check tracker settings, selection, or set number of 12.
Fix vanilla checks being marked collected in MQ dungeons.

* Fix 100 GS check.

* ACTUALLY fix 100 GS: change flag type to `RandomizerInf()` in `item_location.cpp`, add RC to RandoInf for it to the table. Also don't send GI for flag if father, falsely triggers ZR frogs minigame.

* Fix gravedigging tour tracking.

* Fix membership card check tracking.
Change scene and flag values to any existing enums.
Clarifying formatting for the checking loop vOrMQ conditions.

* Fix Gravedigging Tour tracking.
Simplify Always Win Gravedigging Tour and Fix Gravedigging Tour Glitch applications.
Modified all necessary paths to use vanilla GDT PoH collection flag instead of randomizer variant.

* Fix Kak Potion Shop being "seen" when entering as child.
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.

None yet

5 participants