Disabled the "infinite walls" at the edges of the level (don't work correctly with multiple subs), the barrier at the top of the level can't be passed through when outside the borders of the level
This commit is contained in:
@@ -54,7 +54,7 @@ namespace Barotrauma
|
|||||||
public const int GridCellSize = 2000;
|
public const int GridCellSize = 2000;
|
||||||
private List<VoronoiCell>[,] cellGrid;
|
private List<VoronoiCell>[,] cellGrid;
|
||||||
|
|
||||||
private WrappingWall[,] wrappingWalls;
|
//private WrappingWall[,] wrappingWalls;
|
||||||
|
|
||||||
//private float shaftHeight;
|
//private float shaftHeight;
|
||||||
|
|
||||||
@@ -97,10 +97,10 @@ namespace Barotrauma
|
|||||||
get { return ruins; }
|
get { return ruins; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public WrappingWall[,] WrappingWalls
|
//public WrappingWall[,] WrappingWalls
|
||||||
{
|
//{
|
||||||
get { return wrappingWalls; }
|
// get { return wrappingWalls; }
|
||||||
}
|
//}
|
||||||
|
|
||||||
public string Seed
|
public string Seed
|
||||||
{
|
{
|
||||||
@@ -440,6 +440,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
renderer.PlaceSprites(generationParams.BackgroundSpriteAmount);
|
renderer.PlaceSprites(generationParams.BackgroundSpriteAmount);
|
||||||
|
|
||||||
|
/*
|
||||||
wrappingWalls = new WrappingWall[2, 2];
|
wrappingWalls = new WrappingWall[2, 2];
|
||||||
|
|
||||||
Rectangle ignoredArea = new Rectangle((int)startPosition.X, 0, (int)(endPosition.X - startPosition.X), borders.Height);
|
Rectangle ignoredArea = new Rectangle((int)startPosition.X, 0, (int)(endPosition.X - startPosition.X), borders.Height);
|
||||||
@@ -465,7 +466,7 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
cells.AddRange(wrappingWalls[side, i].Cells);
|
cells.AddRange(wrappingWalls[side, i].Cells);
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
ShaftBody = BodyFactory.CreateEdge(GameMain.World,
|
ShaftBody = BodyFactory.CreateEdge(GameMain.World,
|
||||||
ConvertUnits.ToSimUnits(new Vector2(borders.X, 0)),
|
ConvertUnits.ToSimUnits(new Vector2(borders.X, 0)),
|
||||||
@@ -809,10 +810,11 @@ namespace Barotrauma
|
|||||||
|
|
||||||
public void Update(float deltaTime)
|
public void Update(float deltaTime)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
if (Submarine.MainSub != null)
|
if (Submarine.MainSub != null)
|
||||||
{
|
{
|
||||||
WrappingWall.UpdateWallShift(Submarine.MainSub.WorldPosition, wrappingWalls);
|
WrappingWall.UpdateWallShift(Submarine.MainSub.WorldPosition, wrappingWalls);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (Hull.renderer != null)
|
if (Hull.renderer != null)
|
||||||
{
|
{
|
||||||
@@ -884,6 +886,7 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (wrappingWalls == null) return cells;
|
if (wrappingWalls == null) return cells;
|
||||||
|
|
||||||
for (int side = 0; side < 2; side++)
|
for (int side = 0; side < 2; side++)
|
||||||
@@ -899,7 +902,7 @@ namespace Barotrauma
|
|||||||
cells.Add(cell);
|
cells.Add(cell);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return cells;
|
return cells;
|
||||||
}
|
}
|
||||||
@@ -918,6 +921,7 @@ namespace Barotrauma
|
|||||||
ruins = null;
|
ruins = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
if (wrappingWalls!=null)
|
if (wrappingWalls!=null)
|
||||||
{
|
{
|
||||||
for (int side = 0; side < 2; side++)
|
for (int side = 0; side < 2; side++)
|
||||||
@@ -929,7 +933,7 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
|
|
||||||
wrappingWalls = null;
|
wrappingWalls = null;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
cells = null;
|
cells = null;
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
graphicsDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, (int)Math.Floor(bodyVertices.VertexCount / 3.0f));
|
graphicsDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, (int)Math.Floor(bodyVertices.VertexCount / 3.0f));
|
||||||
|
|
||||||
|
/*
|
||||||
for (int side = 0; side < 2; side++)
|
for (int side = 0; side < 2; side++)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
@@ -234,7 +235,7 @@ namespace Barotrauma
|
|||||||
PrimitiveType.TriangleList, 0,
|
PrimitiveType.TriangleList, 0,
|
||||||
(int)Math.Floor(level.WrappingWalls[side, i].BodyVertices.VertexCount / 3.0f));
|
(int)Math.Floor(level.WrappingWalls[side, i].BodyVertices.VertexCount / 3.0f));
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
graphicsDevice.SetVertexBuffer(wallVertices);
|
graphicsDevice.SetVertexBuffer(wallVertices);
|
||||||
@@ -243,7 +244,7 @@ namespace Barotrauma
|
|||||||
basicEffect.CurrentTechnique = basicEffect.Techniques["BasicEffect_Texture"];
|
basicEffect.CurrentTechnique = basicEffect.Techniques["BasicEffect_Texture"];
|
||||||
basicEffect.CurrentTechnique.Passes[0].Apply();
|
basicEffect.CurrentTechnique.Passes[0].Apply();
|
||||||
graphicsDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, (int)Math.Floor(wallVertices.VertexCount / 3.0f));
|
graphicsDevice.DrawPrimitives(PrimitiveType.TriangleList, 0, (int)Math.Floor(wallVertices.VertexCount / 3.0f));
|
||||||
|
/*
|
||||||
for (int side = 0; side < 2; side++)
|
for (int side = 0; side < 2; side++)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
@@ -260,7 +261,7 @@ namespace Barotrauma
|
|||||||
(int)Math.Floor(level.WrappingWalls[side, i].WallVertices.VertexCount / 3.0f));
|
(int)Math.Floor(level.WrappingWalls[side, i].WallVertices.VertexCount / 3.0f));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -243,6 +243,21 @@ namespace Barotrauma
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//if outside left or right edge of the level
|
||||||
|
if (Position.X < 0 || Position.X > Level.Loaded.Size.X)
|
||||||
|
{
|
||||||
|
Rectangle worldBorders = Borders;
|
||||||
|
worldBorders.Location += Position.ToPoint();
|
||||||
|
|
||||||
|
//push the sub back below the upper "barrier" of the level
|
||||||
|
if (worldBorders.Y > Level.Loaded.Size.Y)
|
||||||
|
{
|
||||||
|
Body.LinearVelocity = new Vector2(
|
||||||
|
Body.LinearVelocity.X,
|
||||||
|
Math.Min(Body.LinearVelocity.Y, ConvertUnits.ToSimUnits(Level.Loaded.Size.Y - worldBorders.Y)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------
|
//-------------------------
|
||||||
|
|
||||||
Vector2 totalForce = CalculateBuoyancy();
|
Vector2 totalForce = CalculateBuoyancy();
|
||||||
|
|||||||
Reference in New Issue
Block a user