Replace alltemperate and singlepole with upper and lower latitude bound
Blocking issue: Since alltemperate and singlepole are boolean server settings, they can appear in requirements. There is currently no way to make equivalent checks with latitude-related requirements. What's more, there is no way to differentiate between "alltemperate+singlepole" and "alltemperate without singlepole" by latitude bounds alone, so any requirement vector that checks singlepole (present or negated), without also checking that alltemperate is disabled, will be impossible to migrate either way.
Reply To (Anonymous)
There is currently no way to make equivalent checks with latitude-related requirements.
~> #44182
What's more, there is no way to differentiate between "alltemperate+singlepole" and "alltemperate without singlepole" by latitude bounds alone, so any requirement vector that checks singlepole (present or negated), without also checking that alltemperate is disabled, will be impossible to migrate either way.
~> #44181
Progress update: I've had an unfinished patch for this lying around for a couple of days now, somewhat stalled. It's currently still missing compatibility code for the settings – savecompat, which I'm waiting on #44105 for to avoid merge conflicts or duplicate code; and rscompat for the ruleset-controlled server settings in game.ruleset, which is looking like it'll be an absolute shitshow right now (might have to look into restructuring part of that).
I'm also considering splitting a (comparatively small) part from this to reduce the ultimate patch size – making alltemperate and singlepole server setting requirements illegal altogether (since they can already be expressed as World-ranged latitude requirements, since #44182).
Reply To alienvalkyrie
I'm also considering splitting a (comparatively small) part from this to reduce the ultimate patch size – making alltemperate and singlepole server setting requirements illegal altogether
did that ~> #44326
With this change, scenario authors that want to support many different rulesets (including those with latitude requirements) should likely add appropriate latitude bounds to their scenarios ~> I don't think we have a "Changes in what a 3.2 scenario can do" thread to notify them? (Since this isn't exactly a ruleset feature.)
Action by the original authors notwithstanding, we might also want to do that for the supplied scenarios once they are updated to 3.2 format.
Follow-up to #44037. The new function that handles game settings affecting latitude can easily work with arbitrary upper and lower latitude bounds ~> we can allow more exotic world shapes by making those server settings.
Since this makes latitude no longer mapgen-internal, #44036 should likely be resolved first.