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

Remove UpdateHelpers, massivly speeding up Seed generation time #4366

Merged

Conversation

Pepper0ni
Copy link
Contributor

@Pepper0ni Pepper0ni commented Sep 26, 2024

UpdateHelpers was running far, FAR too much and SCL exposed the issue, leading to the infamous seed generation times.

By removing it and directly calling functions to check real time instead, logic seed generation time on debug has been reduced by 90-95%, and reduced 80%+ on release. This PR mostly makes 1 to 1 swaps or easy to see unrolls to make resolving conflicts easier and reduce the chance of bugs. I did however fix a few obvious logic issues while I was there (logic thinking child can reflect nuts with hylian shield and some issues with gold scale.)

I also took the chance to clear a ton of unused stuff from the logic class, as if we go back to using helpers (which is in-theory faster, but would need changes to Time/Age handling to be realized) it will be in a very different structure.

Build Artifacts

Copy link
Contributor

@Pepe20129 Pepe20129 left a comment

Choose a reason for hiding this comment

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

Overall looks pretty good.

soh/soh/Enhancements/randomizer/logic.cpp Outdated Show resolved Hide resolved
soh/soh/Enhancements/randomizer/logic.cpp Outdated Show resolved Hide resolved
@Pepper0ni Pepper0ni changed the title Remove UpdateHelpers, massivly speeding up Seed generation time on (at least) debug Remove UpdateHelpers, massivly speeding up Seed generation time Sep 30, 2024
Copy link
Contributor

@Pepe20129 Pepe20129 left a comment

Choose a reason for hiding this comment

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

Just a small thing (not required to merge).

@Malkierian Malkierian merged commit 7110e40 into HarbourMasters:develop-rando Oct 2, 2024
5 checks passed
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.

3 participants