private unsafe void ParseHeightMap(byte* mh2oChunk, SMLiquidInstance* instance)
{
if (HasHeightMapData(instance) && UseExistsTable(instance->liquidObjectId, instance->liquidType))
{
var data = (float*)(mh2oChunk + instance->data);
HeightMap = new float[VerticesPerRow, VerticesPerRow];
for (int y = MinY; y <= MaxY; y++)
{
for (int x = MinX; x <= MaxX; x++)
{
int index = y*(MaxX - MinX + 1) + x;
HeightMap[y, x] = data[index];
}
}
}
else
{
HeightMap = ArrayUtil.MakeTwoDimensionalArray(instance->maxWaterHeight, VerticesPerRow, VerticesPerRow);
}
}