@feelotraveller: I'm trying to get biome identifications to be correct, rather than to reduce detail to hide the uncertainty, but that might be a fallback option if I fail.
Incorrect savagery: Interesting find. The script uses the logic 0-33, 34-66, 67-100 for the grouping of savagery and evilness. When trying to look that up on the wiki I fail to get any numbers for the groups. Does anyone have a reference to a specification of where the boundaries lie?
There's one check I'd like to see performed on that save, either by you or by me if you provide the save, and that's to check whether there are whip vines or highwood (including saplings) within that biome, since those are present in savage biomes only. If they are present it's a clear indication the biome is in fact savage, while an absence is inconclusive. Farm plotting can't be used since plots can grow suitable crops regardless of the local evil/savage rating.
If "reembark" means embarking afresh in a copy of the world the shear mutability is known. If it's a reclaim or resume control that would be new info, though, as I have no info on those cases.
@Fleeting Frames: Thanks for the save, I'll look at it to see if some nuggets of wisdom can be gleaned from it. Uuencoding a few million characters is a bit much, though, and wouldn't fit in a post.
Getting confused by my walls of text is probably fairly easy
Anyway, I've been bitching about inability to determine where a location is an air biome or not. However, the info is already displayed by the biome offset view, so it's a matter of checking whether the 256 offsets in a tile are all zero or not. Since doing that individual for each 2 m tile would likely make the script even slower, I need to reorganize the code to check blocks only once, rather than 256 times.
Edit: The save examination provided a lot of interesting info. I've farm plotted the save on all level except the top (which can't be reached), and there's a fairly poor match between what we get and what the script produces. What I've seen indicates the following:
- I've yet to see the base air biome being wrong. Thus, I'll assume that is correct when there are no anomalous offsets for the time being.
- All the biomes present are present in the surrounding (or current) tile (to the degree a match can be established). There's terrifying dry broadleaf in several surrounding tiles, and there are a fair number of dry broadleaf tiles in the air. This biome is not reported for any of the 16*16 tiles visible at pre embark for the area, and so must have jumped in, somehow. One interesting case is the detection of a temperate savanna tile in the air, while the surrounding tiles contain only tropical, and the embark 16*16 none at all. Thus, it has jumped in and changed tropicality. My assumption for the time being is that anomalies can take on any of the 9 nearby world map biomes with a possible tropicality change. It's also evident the out of bounds recovery mechanism is flawed: it likely seemed to work simply because the fallback is a likely outcome from the one of the nine selection, in particular since its basic type may be present at multiple world map coordinates. As a result, I'll revert back to flagging anomalies as unknown, and will try provide a list of what they can be instead.
- It's still unknown if non zero offsets while still within bounds actually correspond to the biome usage of the offset would yield. I'll assume that for the time being, but it needs to be tested further. However, if all air biomes are shown as either the air base one, a within bounds one, or unknown, it should be reasonably easy to target the within bounds ones for a check.