Stuff
public text v1 · immutable2059 for (int y2=0;y2<=scaled_square_size;y2++)
2060 {
2061 my1 = my + y2;
2062
2063 for (int x2=0;x2<=scaled_square_size;x2++)
2064 {
2065 mx1 = mx + x2;
2066
2067 float q = qualities_interp[y2][x2];
2068 calc_heights[y2][x2] = GetTerrainHeight(mx1, my1, base_quality, q);
2069
2070 is_seen = NumUnitsSeeingSquare[my1 << mipmap_level][mx1 << mipmap_level] > 0 ? 1 : 0;
2071 is_lighted = pWorld->NumLightsOnSquare[my1 << mipmap_level][mx1 << mipmap_level] > 0 ? 1 : 0;
2072
2073 calc_colours[y2][x2].r = terrainMaterialAmbientDiffuse[is_lighted][is_seen][0];
2074 calc_colours[y2][x2].g = terrainMaterialAmbientDiffuse[is_lighted][is_seen][1];
2075 calc_colours[y2][x2].b = terrainMaterialAmbientDiffuse[is_lighted][is_seen][2];
2076 calc_colours[y2][x2].a = terrainMaterialAmbientDiffuse[is_lighted][is_seen][3];
2077
2078 SphereNormal temp;
2079 GetTerrainNormal(mx1, my1, base_quality, q, temp);
2080
2081 float S = sin(temp.phi);
2082 calc_normals[y2][x2].x = S * cos(temp.theta);
2083 calc_normals[y2][x2].y = S * sin(temp.theta);
2084 calc_normals[y2][x2].z = cos(temp.phi);
2085
2086 GetTerrainTexCoord(mx1, my1, base_quality, q, calc_texcoords[y2][x2]);
2087 }
2088 }