v5.1.3: the upper border of the level is one continuous body instead of two separate bodies at the entrance and exit
This commit is contained in:
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("0.5.1.2")]
|
[assembly: AssemblyVersion("0.5.1.3")]
|
||||||
[assembly: AssemblyFileVersion("0.5.1.2")]
|
[assembly: AssemblyFileVersion("0.5.1.3")]
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ namespace Barotrauma
|
|||||||
private set;
|
private set;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Body[] ShaftBodies
|
public Body ShaftBody
|
||||||
{
|
{
|
||||||
get;
|
get;
|
||||||
private set;
|
private set;
|
||||||
@@ -511,21 +511,17 @@ namespace Barotrauma
|
|||||||
cells.AddRange(wrappingWalls[side, i].Cells);
|
cells.AddRange(wrappingWalls[side, i].Cells);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ShaftBody = BodyFactory.CreateEdge(GameMain.World,
|
||||||
|
ConvertUnits.ToSimUnits(new Vector2(borders.X, 0)),
|
||||||
|
ConvertUnits.ToSimUnits(new Vector2(borders.Right, 0)));
|
||||||
|
|
||||||
|
ShaftBody.SetTransform(ConvertUnits.ToSimUnits(new Vector2(0.0f, borders.Height)), 0.0f);
|
||||||
|
|
||||||
|
ShaftBody.BodyType = BodyType.Static;
|
||||||
|
ShaftBody.CollisionCategories = Physics.CollisionLevel;
|
||||||
|
|
||||||
ShaftBodies = new Body[2];
|
bodies.Add(ShaftBody);
|
||||||
for (int i = 0; i < 2; i++)
|
|
||||||
{
|
|
||||||
ShaftBodies[i] = BodyFactory.CreateRectangle(GameMain.World, 200.0f, ConvertUnits.ToSimUnits(ShaftHeight), 5.0f);
|
|
||||||
ShaftBodies[i].BodyType = BodyType.Static;
|
|
||||||
ShaftBodies[i].CollisionCategories = Physics.CollisionLevel;
|
|
||||||
|
|
||||||
Vector2 shaftPos = (i == 0) ? startPosition : endPosition;
|
|
||||||
shaftPos.Y = borders.Height + 150.0f;
|
|
||||||
|
|
||||||
ShaftBodies[i].SetTransform(ConvertUnits.ToSimUnits(shaftPos), 0.0f);
|
|
||||||
bodies.Add(ShaftBodies[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (VoronoiCell cell in cells)
|
foreach (VoronoiCell cell in cells)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -172,11 +172,10 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//RuinGeneration.RuinGenerator.Draw(spriteBatch);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Vector2 pos = new Vector2(0.0f, -level.Size.Y);// level.EndPosition;
|
Vector2 pos = new Vector2(0.0f, -level.Size.Y);
|
||||||
|
|
||||||
if (GameMain.GameScreen.Cam.WorldView.Y < -pos.Y - 1024) return;
|
if (GameMain.GameScreen.Cam.WorldView.Y < -pos.Y - 1024) return;
|
||||||
|
|
||||||
@@ -184,20 +183,14 @@ namespace Barotrauma
|
|||||||
|
|
||||||
int width = (int)(Math.Ceiling(GameMain.GameScreen.Cam.WorldView.Width / 1024 + 4.0f) * 1024);
|
int width = (int)(Math.Ceiling(GameMain.GameScreen.Cam.WorldView.Width / 1024 + 4.0f) * 1024);
|
||||||
|
|
||||||
GUI.DrawRectangle(spriteBatch,new Rectangle((int)(MathUtils.Round(pos.X, 1024)), (int)-GameMain.GameScreen.Cam.WorldView.Y, width, (int)(GameMain.GameScreen.Cam.WorldView.Y - level.Size.Y) + 30),Color.Black, true);
|
GUI.DrawRectangle(spriteBatch,new Rectangle((int)(MathUtils.Round(pos.X, 1024)), (int)-GameMain.GameScreen.Cam.WorldView.Y, width, (int)(GameMain.GameScreen.Cam.WorldView.Y + pos.Y) - 30),Color.Black, true);
|
||||||
spriteBatch.Draw(shaftTexture,
|
spriteBatch.Draw(shaftTexture,
|
||||||
new Rectangle((int)(MathUtils.Round(pos.X, 1024)), (int)pos.Y, width, 1024),
|
new Rectangle((int)(MathUtils.Round(pos.X, 1024)), (int)pos.Y-1000, width, 1024),
|
||||||
new Rectangle(0, 0, width, 1024),
|
new Rectangle(0, 0, width, -1024),
|
||||||
level.BackgroundColor, 0.0f,
|
level.BackgroundColor, 0.0f,
|
||||||
Vector2.Zero,
|
Vector2.Zero,
|
||||||
SpriteEffects.None, 0.0f);
|
SpriteEffects.None, 0.0f);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//background.DrawTiled(spriteBatch,
|
|
||||||
// (backgroundPos.Y < 0) ? new Vector2(0.0f, -backgroundPos.Y) : Vector2.Zero,
|
|
||||||
// new Vector2(GameMain.GraphicsWidth, 1024 - backgroundPos.Y),
|
|
||||||
// Vector2.Zero, level.BackgroundColor);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -58,8 +58,7 @@ namespace Barotrauma
|
|||||||
//Vector2 diff = targetPos - sub.Position;
|
//Vector2 diff = targetPos - sub.Position;
|
||||||
float targetSpeed = 10.0f;
|
float targetSpeed = 10.0f;
|
||||||
|
|
||||||
Level.Loaded.ShaftBodies[0].Enabled = false;
|
Level.Loaded.ShaftBody.Enabled = false;
|
||||||
Level.Loaded.ShaftBodies[1].Enabled = false;
|
|
||||||
|
|
||||||
cam.TargetPos = Vector2.Zero;
|
cam.TargetPos = Vector2.Zero;
|
||||||
float timer = 0.0f;
|
float timer = 0.0f;
|
||||||
@@ -79,7 +78,7 @@ namespace Barotrauma
|
|||||||
cam.Zoom = Math.Max(0.2f, cam.Zoom - CoroutineManager.UnscaledDeltaTime * 0.1f);
|
cam.Zoom = Math.Max(0.2f, cam.Zoom - CoroutineManager.UnscaledDeltaTime * 0.1f);
|
||||||
|
|
||||||
Vector2 cameraPos = subs.First().Position + Submarine.MainSub.HiddenSubPosition;
|
Vector2 cameraPos = subs.First().Position + Submarine.MainSub.HiddenSubPosition;
|
||||||
cameraPos.Y = Math.Min(cameraPos.Y, ConvertUnits.ToDisplayUnits(Level.Loaded.ShaftBodies[0].Position.Y) - cam.WorldView.Height/2.0f);
|
cameraPos.Y = Math.Min(cameraPos.Y, ConvertUnits.ToDisplayUnits(Level.Loaded.ShaftBody.Position.Y) - cam.WorldView.Height/2.0f);
|
||||||
|
|
||||||
GUI.ScreenOverlayColor = Color.Lerp(Color.TransparentBlack, Color.Black, timer/duration);
|
GUI.ScreenOverlayColor = Color.Lerp(Color.TransparentBlack, Color.Black, timer/duration);
|
||||||
|
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ namespace Barotrauma.Networking
|
|||||||
{
|
{
|
||||||
updateReturnTimer = 0.0f;
|
updateReturnTimer = 0.0f;
|
||||||
|
|
||||||
respawnShuttle.SubBody.Body.IgnoreCollisionWith(Level.Loaded.ShaftBodies[0]);
|
respawnShuttle.SubBody.Body.IgnoreCollisionWith(Level.Loaded.ShaftBody);
|
||||||
|
|
||||||
shuttleSteering.AutoPilot = true;
|
shuttleSteering.AutoPilot = true;
|
||||||
shuttleSteering.MaintainPos = false;
|
shuttleSteering.MaintainPos = false;
|
||||||
@@ -302,7 +302,7 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
private IEnumerable<object> ForceShuttleToPos(Vector2 position, float speed)
|
private IEnumerable<object> ForceShuttleToPos(Vector2 position, float speed)
|
||||||
{
|
{
|
||||||
respawnShuttle.SubBody.Body.IgnoreCollisionWith(Level.Loaded.ShaftBodies[0]);
|
respawnShuttle.SubBody.Body.IgnoreCollisionWith(Level.Loaded.ShaftBody);
|
||||||
|
|
||||||
while (Math.Abs(position.Y - respawnShuttle.WorldPosition.Y) > 100.0f)
|
while (Math.Abs(position.Y - respawnShuttle.WorldPosition.Y) > 100.0f)
|
||||||
{
|
{
|
||||||
@@ -313,7 +313,7 @@ namespace Barotrauma.Networking
|
|||||||
if (respawnShuttle.SubBody == null) yield return CoroutineStatus.Success;
|
if (respawnShuttle.SubBody == null) yield return CoroutineStatus.Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
respawnShuttle.SubBody.Body.RestoreCollisionWith(Level.Loaded.ShaftBodies[0]);
|
respawnShuttle.SubBody.Body.RestoreCollisionWith(Level.Loaded.ShaftBody);
|
||||||
|
|
||||||
yield return CoroutineStatus.Success;
|
yield return CoroutineStatus.Success;
|
||||||
}
|
}
|
||||||
@@ -378,7 +378,7 @@ namespace Barotrauma.Networking
|
|||||||
|
|
||||||
respawnShuttle.Velocity = Vector2.Zero;
|
respawnShuttle.Velocity = Vector2.Zero;
|
||||||
|
|
||||||
respawnShuttle.SubBody.Body.RestoreCollisionWith(Level.Loaded.ShaftBodies[0]);
|
respawnShuttle.SubBody.Body.RestoreCollisionWith(Level.Loaded.ShaftBody);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,15 @@
|
|||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
v0.5.1.3
|
||||||
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
- server whitelists
|
||||||
|
- a new monster
|
||||||
|
- improved autopilot
|
||||||
|
- background sprites and creatures can be customized via Content Packages
|
||||||
|
- Linux clients can connect to Windows servers again (and vice versa)
|
||||||
|
- fixed the upper boundary of the level occasionally being possible to pass through
|
||||||
|
- textboxes can't be selected through other UI elements anymore
|
||||||
|
|
||||||
---------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
||||||
v0.5.1.2
|
v0.5.1.2
|
||||||
---------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user