private void PickRawDefaults(string path)
{
FileStream stream = File.Open(path, FileMode.Open, FileAccess.Read);
int length = (int) stream.Length;
stream.Close();
this.m_TerrainSize = base.terrainData.size;
if ((base.terrainData.heightmapWidth * base.terrainData.heightmapHeight) == length)
{
this.m_Width = base.terrainData.heightmapWidth;
this.m_Height = base.terrainData.heightmapHeight;
this.m_Depth = Depth.Bit8;
}
else if (((base.terrainData.heightmapWidth * base.terrainData.heightmapHeight) * 2) == length)
{
this.m_Width = base.terrainData.heightmapWidth;
this.m_Height = base.terrainData.heightmapHeight;
this.m_Depth = Depth.Bit16;
}
else
{
this.m_Depth = Depth.Bit16;
int num2 = length / this.m_Depth;
int num3 = Mathf.RoundToInt(Mathf.Sqrt((float) num2));
int num4 = Mathf.RoundToInt(Mathf.Sqrt((float) num2));
if (((num3 * num4) * this.m_Depth) == length)
{
this.m_Width = num3;
this.m_Height = num4;
}
else
{
this.m_Depth = Depth.Bit8;
num2 = length / this.m_Depth;
num3 = Mathf.RoundToInt(Mathf.Sqrt((float) num2));
num4 = Mathf.RoundToInt(Mathf.Sqrt((float) num2));
if (((num3 * num4) * this.m_Depth) == length)
{
this.m_Width = num3;
this.m_Height = num4;
}
else
{
this.m_Depth = Depth.Bit16;
}
}
}
}