Fixed map collider generation
I didn't realize the bodies were generated in the same method that generates the mesh triangles, TODO consider splitting that
This commit is contained in:
@@ -347,9 +347,10 @@ namespace Barotrauma
|
|||||||
|
|
||||||
return pathCells;
|
return pathCells;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<Body> GeneratePolygons(List<VoronoiCell> cells, out List<VertexPositionTexture> verticeList, bool setSolid=true)
|
public static List<Body> GeneratePolygons(List<VoronoiCell> cells, out List<VertexPositionTexture> verticeList, bool setSolid=true)
|
||||||
{
|
{
|
||||||
|
//TODO: consider separating body generation from render triangle generation
|
||||||
verticeList = new List<VertexPositionTexture>();
|
verticeList = new List<VertexPositionTexture>();
|
||||||
var bodies = new List<Body>();
|
var bodies = new List<Body>();
|
||||||
|
|
||||||
|
|||||||
@@ -440,16 +440,17 @@ namespace Barotrauma
|
|||||||
|
|
||||||
List<VoronoiCell> cellsWithBody = new List<VoronoiCell>(cells);
|
List<VoronoiCell> cellsWithBody = new List<VoronoiCell>(cells);
|
||||||
|
|
||||||
#if CLIENT
|
|
||||||
List<VertexPositionTexture> bodyVertices;
|
List<VertexPositionTexture> bodyVertices;
|
||||||
bodies = CaveGenerator.GeneratePolygons(cellsWithBody, out bodyVertices);
|
bodies = CaveGenerator.GeneratePolygons(cellsWithBody, out bodyVertices);
|
||||||
|
|
||||||
|
#if CLIENT
|
||||||
|
|
||||||
renderer.SetBodyVertices(bodyVertices.ToArray());
|
renderer.SetBodyVertices(bodyVertices.ToArray());
|
||||||
renderer.SetWallVertices(CaveGenerator.GenerateWallShapes(cells));
|
renderer.SetWallVertices(CaveGenerator.GenerateWallShapes(cells));
|
||||||
|
|
||||||
renderer.PlaceSprites(generationParams.BackgroundSpriteAmount);
|
renderer.PlaceSprites(generationParams.BackgroundSpriteAmount);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ShaftBody = BodyFactory.CreateEdge(GameMain.World,
|
ShaftBody = BodyFactory.CreateEdge(GameMain.World,
|
||||||
ConvertUnits.ToSimUnits(new Vector2(borders.X, 0)),
|
ConvertUnits.ToSimUnits(new Vector2(borders.X, 0)),
|
||||||
ConvertUnits.ToSimUnits(new Vector2(borders.Right, 0)));
|
ConvertUnits.ToSimUnits(new Vector2(borders.Right, 0)));
|
||||||
|
|||||||
Reference in New Issue
Block a user