internal unsafe ChunkLiquid(byte* mh2oChunk, SMLiquidChunk* chunk)
{
if (AnyLiquidLayer(chunk))
{
var instance = GetInstance(mh2oChunk, chunk);
Flags = instance->liquidObjectId;
Type = instance->liquidType;
MinX = MinY = 0;
MaxY = MaxX = 8;
MinHeight = instance->minWaterHeight;
MaxHeight = instance->maxWaterHeight;
if (instance->liquidObjectId < 42) // most probably for wmos...
{
MinX = instance->xOffset;
MinY = instance->yOffset;
MaxX = instance->xOffset + instance->width;
MaxY = instance->yOffset + instance->height;
}
ParseExistsTable(mh2oChunk, instance);
ParseHeightMap(mh2oChunk, instance);
}
else
{
ExistsTable = EmptyExistsTable;
HeightMap = null;
}
}