public TerrainTextureFlag ReadTerrainTextureFlag(Stream stream) { StreamTools s = new StreamTools(); byte[] bytes = new byte[4]; TerrainTextureFlag value = new TerrainTextureFlag(); stream.Read(bytes, 0, 4); BitArray flags = new BitArray(bytes); value.do_not_load_specular_or_height_texture_but_use_cubemap = flags[0]; bool[] texScaleBools = new bool[4]; texScaleBools[3] = flags[4]; texScaleBools[2] = flags[5]; texScaleBools[1] = flags[6]; texScaleBools[0] = flags[7]; value.texture_scale = s.getUintFrom4Bits(texScaleBools); value.texture_scale = (int)Mathf.Pow(2, value.texture_scale); return(value); }