|
|
@ -985,14 +985,14 @@ public enum BuildingManager { |
|
|
|
building.buildingMeshes = new ArrayList<>(); |
|
|
|
building.buildingMeshes = new ArrayList<>(); |
|
|
|
float rotation = building.getRot().getRotation(); |
|
|
|
float rotation = building.getRot().getRotation(); |
|
|
|
Vector3f buildingLoc = new Vector3f(building.loc.x, building.loc.y, building.loc.z); |
|
|
|
Vector3f buildingLoc = new Vector3f(building.loc.x, building.loc.y, building.loc.z); |
|
|
|
|
|
|
|
int buildingMeshUUID = building.meshUUID; |
|
|
|
|
|
|
|
int blueprintMeshUUID = building.getBlueprint().getMeshForRank(building.rank); |
|
|
|
if(prop_meshes.containsKey(building.meshUUID) == false) |
|
|
|
if(prop_meshes.containsKey(building.meshUUID) == false) |
|
|
|
return;//no meshes to load for this prop
|
|
|
|
return;//no meshes to load for this prop
|
|
|
|
|
|
|
|
|
|
|
|
//ArrayList<Integer> meshes = prop_meshes.get(building.meshUUID);
|
|
|
|
//ArrayList<Integer> meshes = prop_meshes.get(building.meshUUID);
|
|
|
|
int buildingMeshUUID = building.meshUUID; |
|
|
|
|
|
|
|
int blueprintMeshUUID = building.getBlueprint().getMeshForRank(building.rank); |
|
|
|
|
|
|
|
ArrayList<Integer> meshes = prop_meshes.get(building.getBlueprint().getMeshForRank(building.rank)); |
|
|
|
ArrayList<Integer> meshes = prop_meshes.get(building.getBlueprint().getMeshForRank(building.rank)); |
|
|
|
|
|
|
|
|
|
|
|
for (int mesh : meshes) { |
|
|
|
for (int mesh : meshes) { |
|
|
|
|
|
|
|
|
|
|
|
if (!mesh_heights.containsKey(mesh) || !mesh_triangle_points.containsKey(mesh)) |
|
|
|
if (!mesh_heights.containsKey(mesh) || !mesh_triangle_points.containsKey(mesh)) |
|
|
@ -1001,7 +1001,7 @@ public enum BuildingManager { |
|
|
|
Mesh generatedMesh = new Mesh(); |
|
|
|
Mesh generatedMesh = new Mesh(); |
|
|
|
generatedMesh.maxY = building.loc.y + mesh_heights.get(mesh).x; |
|
|
|
generatedMesh.maxY = building.loc.y + mesh_heights.get(mesh).x; |
|
|
|
generatedMesh.minY = building.loc.y + mesh_heights.get(mesh).y; |
|
|
|
generatedMesh.minY = building.loc.y + mesh_heights.get(mesh).y; |
|
|
|
ArrayList<ArrayList<Vector3f>> triPoints = mesh_triangle_points.get(building.meshUUID); |
|
|
|
ArrayList<ArrayList<Vector3f>> triPoints = mesh_triangle_points.get(mesh); |
|
|
|
|
|
|
|
|
|
|
|
if (mesh_bounding_boxes.containsKey(mesh)) { |
|
|
|
if (mesh_bounding_boxes.containsKey(mesh)) { |
|
|
|
Rectangle2D boundingBox = mesh_bounding_boxes.get(mesh); |
|
|
|
Rectangle2D boundingBox = mesh_bounding_boxes.get(mesh); |
|
|
@ -1012,11 +1012,6 @@ public enum BuildingManager { |
|
|
|
Vector3f topRight = new Vector3f(building.loc.x + halfX, building.loc.y, building.loc.z - halfZ); |
|
|
|
Vector3f topRight = new Vector3f(building.loc.x + halfX, building.loc.y, building.loc.z - halfZ); |
|
|
|
Vector3f bottomLeft = new Vector3f(building.loc.x - halfX, building.loc.y, building.loc.z + halfZ); |
|
|
|
Vector3f bottomLeft = new Vector3f(building.loc.x - halfX, building.loc.y, building.loc.z + halfZ); |
|
|
|
|
|
|
|
|
|
|
|
topLeft.x *= -1; |
|
|
|
|
|
|
|
bottomLeft.x *= -1; |
|
|
|
|
|
|
|
topRight.x *= -1; |
|
|
|
|
|
|
|
bottomRight.x *= -1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
generatedMesh.BoundingLines = new ArrayList<>(); |
|
|
|
generatedMesh.BoundingLines = new ArrayList<>(); |
|
|
|
Point2D.Float p1 = new Point2D.Float(topLeft.x, topLeft.z); |
|
|
|
Point2D.Float p1 = new Point2D.Float(topLeft.x, topLeft.z); |
|
|
|
Point2D.Float p2 = new Point2D.Float(topRight.x, topRight.z); |
|
|
|
Point2D.Float p2 = new Point2D.Float(topRight.x, topRight.z); |
|
|
|