diff --git a/src/engine/CollisionEngine/Mesh.java b/src/engine/CollisionEngine/Mesh.java index 98d6f5a3..379cefc6 100644 --- a/src/engine/CollisionEngine/Mesh.java +++ b/src/engine/CollisionEngine/Mesh.java @@ -28,8 +28,15 @@ public class Mesh { return false; //character moving is higher than the max Y of this mesh - if(charY > this.maxY && charHeight + charY < this.minY) + float feet = charY; + float head = feet + charHeight; + + if(head < this.minY && feet > this.maxY){ return false; + } + + //if(charY > this.maxY && charHeight + charY < this.minY) + // return false; for(Triangle tri : triangles) if(tri.collides(line)) diff --git a/src/engine/db/handlers/dbBuildingHandler.java b/src/engine/db/handlers/dbBuildingHandler.java index 260761bd..935c7387 100644 --- a/src/engine/db/handlers/dbBuildingHandler.java +++ b/src/engine/db/handlers/dbBuildingHandler.java @@ -895,7 +895,7 @@ public class dbBuildingHandler extends dbHandlerBase { } ArrayList triPoints = new ArrayList<>(); for(int i = 0; i < floatPoints.size(); i += 3){ - triPoints.add(new Vector3f(floatPoints.get(i),floatPoints.get(i+1),floatPoints.get(i+2) * -1)); + triPoints.add(new Vector3f(floatPoints.get(i),floatPoints.get(i+1),floatPoints.get(i+2))); } if(BuildingManager.mesh_triangle_points.containsKey(rs.getInt("meshID")) == false){