Skip to content

Overworld updates for 5.1#384

Open
initsu wants to merge 17 commits into5.1from
overworld-5.1
Open

Overworld updates for 5.1#384
initsu wants to merge 17 commits into5.1from
overworld-5.1

Conversation

@initsu
Copy link
Collaborator

@initsu initsu commented Feb 17, 2026

This contains a lot of work on the overworld, some of it to make smaller overworlds possible, and some of it general improvements.

I'm sure there will be feedback, so I pushed it to it's own branch in this repo if you want to check it out and test it. The commits are pretty well separated. (I would not recommend viewing all the changes at once.)

The "Vanilla-Weighted" West & East climates uses the count of each tile in the vanilla game for weighting (as opposed to classic where every tile type is weighted equally.) This means mostly less graveyards and swamps. (Also West and East are somewhat different). Since it uses a different weighted sampler, it's not a performance problem. I'm open to better name suggestions than Vanilla-Weighted.

Refactor and improve Overworld cave and trap tile placement probably fixes some bugs with VoD trap tiles.

Personally, I really like the option of smaller overworlds to play quicker seeds.

With the performance improvements to GrowTerrain this is quite a bit faster than 5.0 in my testing.

(GUI is likely not final.)

- Improve performance by pre-creating the Location.Coord tuple. This tuple was re-created a ton during overworld generation. Better to store it as a tuple to begin with, so the Coord comparisons are cheap.

- Some remaining offsets by 30 have been adjusted.

- There were some GetLocationByCoords calls that did not have the correct Y+30 offset in 5.0, and surely were wrong in:
WestHyrule.BlockCaves
EastHyrule.BlockCaves
MazeIsland.DrawRiver

- (Some are still left as offset by 30 because it's not worth messing with when it's not broken.)
- Refactor Climate to use new IWeightedSamplers
- Multiple Overworld sizes per continent
- Tweak ComboBox theme a bit
- No longer try to put ocean perpendicular to DM Calderas as there are always
  already mountain in place and will always fail.
- Existing code had a lot of copy-paste and was less robust. It should have a higher success rate now.
- Using new IntVector2 type to make code that traversed the map more readable.
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

Comments