private zobject[,] zobjectmap = new zobject[160, 160]; //Objects on the zoomed in map, viewable by the player. #endregion Fields #region Constructors public Geosphere(Single scale, Single sd, int rough, int displace, int icecap) { // Set up our inital geosphere. rnd = new Random((int)sd); iceCapRange = icecap; planetScaler = scale; displaceMag = displace; roughness = rough; seed = sd; int i; for (i = 0; i < 12; i++) verticies[i] = new vertex_structure(); for (i = 0; i < 11000; i++) { oldMidpoints[i] = new vertex_structure(); newMidpoints[i] = new vertex_structure(); } for (i = 0; i < 32400; i++) { triangles[i] = new triangles_structure(); } // The initial coorodinates of our geosphere. Prob could have done one real time. // Drew it in milkshap rather and copied the corodinates. #region INITAL COORDINATES verticies[0].X = -26.2865543F / planetScaler; verticies[0].Y = 0.0F / planetScaler; verticies[0].Z = -42.53254F / planetScaler; verticies[1].X = 26.2865543F / planetScaler; verticies[1].Y = 0.0F / planetScaler; verticies[1].Z = -42.53254F / planetScaler; verticies[2].X = 0.0F / planetScaler; verticies[2].Y = -42.53254F / planetScaler; verticies[2].Z = -26.2865543F / planetScaler; verticies[3].X = -42.53254F / planetScaler; verticies[3].Y = -26.2865543F / planetScaler; verticies[3].Z = 0.0F / planetScaler; verticies[4].X = 0.0F / planetScaler; verticies[4].Y = -42.53254F / planetScaler; verticies[4].Z = 26.2865543F / planetScaler; verticies[5].X = 42.53254F / planetScaler; verticies[5].Y = -26.2865543F / planetScaler; verticies[5].Z = 0.0F / planetScaler; verticies[6].X = 42.53254F / planetScaler; verticies[6].Y = 26.2865543F / planetScaler; verticies[6].Z = 0.0F / planetScaler; verticies[7].X = 26.2865543F / planetScaler; verticies[7].Y = 0.0F / planetScaler; verticies[7].Z = 42.53254F / planetScaler; verticies[8].X = -26.2865543F / planetScaler; verticies[8].Y = 0.0F / planetScaler; verticies[8].Z = 42.53254F / planetScaler; verticies[9].X = 0.0F / planetScaler; verticies[9].Y = 42.53254F / planetScaler; verticies[9].Z = 26.2865543F / planetScaler; verticies[10].X = 0.0F / planetScaler; verticies[10].Y = 42.53254F / planetScaler; verticies[10].Z = -26.2865543F / planetScaler; verticies[11].X = -42.53254F / planetScaler; verticies[11].Y = 26.2865543F / planetScaler; verticies[11].Z = 0.0F / planetScaler; // Assign each triangle 3 verticies. triangles[0].A = verticies[0]; triangles[0].B = verticies[2]; triangles[0].C = verticies[1]; triangles[1].A = verticies[9]; triangles[1].B = verticies[8]; triangles[1].C = verticies[11]; triangles[2].A = verticies[5]; triangles[2].B = verticies[2]; triangles[2].C = verticies[4]; triangles[3].A = verticies[10]; triangles[3].B = verticies[6]; triangles[3].C = verticies[9]; triangles[4].A = verticies[11]; triangles[4].B = verticies[0]; triangles[4].C = verticies[10]; triangles[5].A = verticies[6]; triangles[5].B = verticies[5]; triangles[5].C = verticies[7]; triangles[6].A = verticies[0]; triangles[6].B = verticies[3]; triangles[6].C = verticies[2]; triangles[7].A = verticies[7]; triangles[7].B = verticies[4]; triangles[7].C = verticies[8]; triangles[8].A = verticies[6]; triangles[8].B = verticies[1]; triangles[8].C = verticies[5]; triangles[9].A = verticies[8]; triangles[9].B = verticies[4]; triangles[9].C = verticies[3]; triangles[10].A = verticies[10]; triangles[10].B = verticies[1]; triangles[10].C = verticies[6]; triangles[11].A = verticies[8]; triangles[11].B = verticies[3]; triangles[11].C = verticies[11]; triangles[12].A = verticies[10]; triangles[12].B = verticies[0]; triangles[12].C = verticies[1]; triangles[13].A = verticies[6]; triangles[13].B = verticies[7]; triangles[13].C = verticies[9]; triangles[14].A = verticies[11]; triangles[14].B = verticies[3]; triangles[14].C = verticies[0]; triangles[15].A = verticies[7]; triangles[15].B = verticies[5]; triangles[15].C = verticies[4]; triangles[16].A = verticies[3]; triangles[16].B = verticies[4]; triangles[16].C = verticies[2]; triangles[17].A = verticies[9]; triangles[17].B = verticies[11]; triangles[17].C = verticies[10]; triangles[18].A = verticies[1]; triangles[18].B = verticies[2]; triangles[18].C = verticies[5]; triangles[19].A = verticies[9]; triangles[19].B = verticies[7]; triangles[19].C = verticies[8]; #endregion maxtriangles = 20; // We start with 20 triangles / 11 verticies maxElev = 50.0F / planetScaler; minElev = 50.0F / planetScaler; radius = 50.0F / planetScaler; for (i = 0; i < 11000; i++) { oldMidpoints[i].X = 99; newMidpoints[i].X = 98; } }
public Geosphere(Single scale, Single sd, int rough, int displace, int icecap) { // Set up our inital geosphere. int i; iceCapRange = icecap; planetScaler = scale; displaceMag = displace; roughness = rough; seed = sd; for (i = 0; i < 11; i++) { verticies[i] = new vertex_structure(); } for (i = 0; i < 10999; i++) { oldMidpoints[i] = new vertex_structure(); newMidpoints[i] = new vertex_structure(); } for (i = 0; i < 32399; i++) { triangles[i] = new triangles_structure(); } // The initial coorodinates of our geosphere. Prob could have done one real time. // Drew it in milkshap rather and copied the corodinates. verticies[0].X = -26.2865543F / planetScaler; verticies[0].Y = 0.0F / planetScaler; verticies[0].Z = -42.53254F / planetScaler; verticies[1].X = 26.2865543F / planetScaler; verticies[1].Y = 0.0F / planetScaler; verticies[1].Z = -42.53254F / planetScaler; verticies[2].X = 0.0F / planetScaler; verticies[2].Y = -42.53254F / planetScaler; verticies[2].Z = -26.2865543F / planetScaler; verticies[3].X = -42.53254F / planetScaler; verticies[3].Y = -26.2865543F / planetScaler; verticies[3].Z = 0.0F / planetScaler; verticies[4].X = 0.0F / planetScaler; verticies[4].Y = -42.53254F / planetScaler; verticies[4].Z = 26.2865543F / planetScaler; verticies[5].X = 42.53254F / planetScaler; verticies[5].Y = -26.2865543F / planetScaler; verticies[5].Z = 0.0F / planetScaler; verticies[6].X = 42.53254F / planetScaler; verticies[6].Y = 26.2865543F / planetScaler; verticies[6].Z = 0.0F / planetScaler; verticies[7].X = 26.2865543F / planetScaler; verticies[7].Y = 0.0F / planetScaler; verticies[7].Z = 42.53254F / planetScaler; verticies[8].X = -26.2865543F / planetScaler; verticies[8].Y = 0.0F / planetScaler; verticies[8].Z = 42.53254F / planetScaler; verticies[9].X = 0.0F / planetScaler; verticies[9].Y = 42.53254F / planetScaler; verticies[9].Z = 26.2865543F / planetScaler; verticies[10].X = 0.0F / planetScaler; verticies[10].Y = 42.53254F / planetScaler; verticies[10].Z = -26.2865543F / planetScaler; verticies[11].X = -42.53254F / planetScaler; verticies[11].Y = 26.2865543F / planetScaler; verticies[11].Z = 0.0F / planetScaler; // Assign each triangle 3 verticies. triangles[0].A = verticies[0]; triangles[0].B = verticies[2]; triangles[0].C = verticies[1]; triangles[1].A = verticies[9]; triangles[1].B = verticies[8]; triangles[1].C = verticies[11]; triangles[2].A = verticies[5]; triangles[2].B = verticies[2]; triangles[2].C = verticies[4]; triangles[3].A = verticies[10]; triangles[3].B = verticies[6]; triangles[3].C = verticies[9]; triangles[4].A = verticies[11]; triangles[4].B = verticies[0]; triangles[4].C = verticies[10]; triangles[5].A = verticies[6]; triangles[5].B = verticies[5]; triangles[5].C = verticies[7]; triangles[6].A = verticies[0]; triangles[6].B = verticies[3]; triangles[6].C = verticies[2]; triangles[7].A = verticies[7]; triangles[7].B = verticies[4]; triangles[7].C = verticies[8]; triangles[8].A = verticies[6]; triangles[8].B = verticies[1]; triangles[8].C = verticies[5]; triangles[9].A = verticies[8]; triangles[9].B = verticies[4]; triangles[9].C = verticies[3]; triangles[10].A = verticies[10]; triangles[10].B = verticies[1]; triangles[10].C = verticies[6]; triangles[11].A = verticies[8]; triangles[11].B = verticies[3]; triangles[11].C = verticies[11]; triangles[12].A = verticies[10]; triangles[12].B = verticies[0]; triangles[12].C = verticies[1]; triangles[13].A = verticies[6]; triangles[13].B = verticies[7]; triangles[13].C = verticies[9]; triangles[14].A = verticies[11]; triangles[14].B = verticies[3]; triangles[14].C = verticies[0]; triangles[15].A = verticies[7]; triangles[15].B = verticies[5]; triangles[15].C = verticies[4]; triangles[16].A = verticies[3]; triangles[16].B = verticies[4]; triangles[16].C = verticies[2]; triangles[17].A = verticies[9]; triangles[17].B = verticies[11]; triangles[17].C = verticies[10]; triangles[18].A = verticies[1]; triangles[18].B = verticies[2]; triangles[18].C = verticies[5]; triangles[19].A = verticies[9]; triangles[19].B = verticies[7]; triangles[19].C = verticies[8]; maxtriangles = 20; // We start with 20 triangles / 11 verticies maxElev = 50.0F / planetScaler; minElev = 50.0F / planetScaler; radius = 50.0F / planetScaler; for (i = 0; i < 10999; i++) { oldMidpoints[i].X = 99; newMidpoints[i].X = 98; } }