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 locations from pool that are not shuffled. #5023

Merged
merged 8 commits into from
Feb 12, 2025

Conversation

leggettc18
Copy link
Contributor

@leggettc18 leggettc18 commented Feb 8, 2025

Fixes #4890

Removes locations from the location pool that should not be shuffled, according to the user's chosen settings. For example, if Fairies are not shuffled, previously they were in the pool and had vanilla items placed on them. and would still appear in the spoiler log. Now, they simply never enter the pool, don't need to have vanilla items manually placed on them, and do not appear in the spoiler log.

Part of this change also makes the dungeon location list dynamic, which simplifies the process of adding new locations further. Now, instead of needing to add locations to the respective dungeon location list at compile time, these lists are automatically generated when generating a seed, so all you have to do is put it in the main locationTable, instead of having to both put it there and add the RC to the Dungeons. This resulted in a lot of cleanup in the DungeonInfo classes, with one list that starts out empty instead of like six lists filled with RCs.

Build Artifacts

@leggettc18
Copy link
Contributor Author

@serprex Your comments should be addressed by f266ba5

Copy link
Contributor

@serprex serprex left a comment

Choose a reason for hiding this comment

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

tested on rocksanity PR, this is exactly what I was wanting yesterday when I took a look at shuffling inside dungeons

@serprex
Copy link
Contributor

serprex commented Feb 9, 2025

with this change can we remove bool placeVanilla from PlaceItemsForType in 3drando/item_pool.c?

then uncomment so we stop unconditionally calling PlaceItemsForType(RCTYPE_FREESTANDING

@leggettc18
Copy link
Contributor Author

Good catch, we probably can.

@leggettc18
Copy link
Contributor Author

with this change can we remove bool placeVanilla from PlaceItemsForType in 3drando/item_pool.c?

then uncomment so we stop unconditionally calling PlaceItemsForType(RCTYPE_FREESTANDING

Done, we still unconditionally call PlaceItemsForType but now that function just doesn't do anything if nothing is actually shuffled.

@leggettc18
Copy link
Contributor Author

@serprex if you could go through and hit "resolve conversation" on the comments you made that have been addressed, so there's a bit less visual noise for me to sift through when I check this PR for any new reviews/comments that would be great.

@serprex
Copy link
Contributor

serprex commented Feb 10, 2025

I don't have necessary permissions to resolve my comments. I can delete them if you'd like

@leggettc18
Copy link
Contributor Author

Oh, my mistake, I didn't realize that required permissions! We should probably look into that if we want to encourage more reviewers.

@aMannus aMannus merged commit d4b9e8c into HarbourMasters:develop Feb 12, 2025
5 checks passed
@leggettc18 leggettc18 deleted the dungeon-location-cleanup branch February 12, 2025 22:20
leggettc18 added a commit to leggettc18/Shipwright that referenced this pull request Feb 13, 2025
aMannus pushed a commit that referenced this pull request Feb 13, 2025
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.

Rando - Clean up dungeon locations in spoilers
3 participants