Debug: Add chicken bits for water region invalidation/init

This commit is contained in:
Jonathan G Rennison
2024-01-10 17:41:09 +00:00
parent b45b8e77f3
commit de91c56ed5
4 changed files with 34 additions and 0 deletions

View File

@@ -484,6 +484,28 @@ uint GetWaterRegionTileDebugColourIndex(TileIndex tile)
}
}
void DebugInvalidateAllWaterRegions()
{
const uint32_t size_x = GetWaterRegionMapSizeX();
const uint32_t size_y = GetWaterRegionMapSizeY();
for (uint32_t y = 0; y < size_y; y++) {
for (uint32_t x = 0; x < size_x; x++) {
GetWaterRegionRef(x, y).Invalidate();
}
}
}
void DebugInitAllWaterRegions()
{
const uint32_t size_x = GetWaterRegionMapSizeX();
const uint32_t size_y = GetWaterRegionMapSizeY();
for (uint32_t y = 0; y < size_y; y++) {
for (uint32_t x = 0; x < size_x; x++) {
GetWaterRegionRef(x, y).UpdateIfNotInitialized();
}
}
}
void WaterRegionCheckCaches(std::function<void(const char *)> log)
{
char cclog_buffer[1024];

View File

@@ -65,6 +65,8 @@ WaterRegionDesc GetWaterRegionInfo(TileIndex tile);
WaterRegionPatchDesc GetWaterRegionPatchInfo(TileIndex tile);
void InvalidateWaterRegion(TileIndex tile);
void DebugInvalidateAllWaterRegions();
void DebugInitAllWaterRegions();
using TVisitWaterRegionPatchCallBack = std::function<void(const WaterRegionPatchDesc &)>;
void VisitWaterRegionPatchNeighbors(const WaterRegionPatchDesc &water_region_patch, TVisitWaterRegionPatchCallBack &callback);