From d884f23a72c7267226fd8ed188641eca002b7456 Mon Sep 17 00:00:00 2001 From: Regalis Date: Wed, 7 Sep 2016 15:18:01 +0300 Subject: [PATCH] v5.1.3: the upper border of the level is one continuous body instead of two separate bodies at the entrance and exit --- Subsurface/Properties/AssemblyInfo.cs | 4 ++-- Subsurface/Source/Map/Levels/Level.cs | 24 ++++++++----------- Subsurface/Source/Map/Levels/LevelRenderer.cs | 15 ++++-------- Subsurface/Source/Map/TransitionCinematic.cs | 5 ++-- .../Source/Networking/RespawnManager.cs | 8 +++---- Subsurface/changelog.txt | 12 ++++++++++ 6 files changed, 34 insertions(+), 34 deletions(-) diff --git a/Subsurface/Properties/AssemblyInfo.cs b/Subsurface/Properties/AssemblyInfo.cs index 87be44ef2..019e0fc0a 100644 --- a/Subsurface/Properties/AssemblyInfo.cs +++ b/Subsurface/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.5.1.2")] -[assembly: AssemblyFileVersion("0.5.1.2")] +[assembly: AssemblyVersion("0.5.1.3")] +[assembly: AssemblyFileVersion("0.5.1.3")] diff --git a/Subsurface/Source/Map/Levels/Level.cs b/Subsurface/Source/Map/Levels/Level.cs index 2fb7dbe02..d60196be0 100644 --- a/Subsurface/Source/Map/Levels/Level.cs +++ b/Subsurface/Source/Map/Levels/Level.cs @@ -113,7 +113,7 @@ namespace Barotrauma private set; } - public Body[] ShaftBodies + public Body ShaftBody { get; private set; @@ -511,21 +511,17 @@ namespace Barotrauma 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]; - 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]); - } + bodies.Add(ShaftBody); foreach (VoronoiCell cell in cells) { diff --git a/Subsurface/Source/Map/Levels/LevelRenderer.cs b/Subsurface/Source/Map/Levels/LevelRenderer.cs index 6324bcd89..c2f64a0b3 100644 --- a/Subsurface/Source/Map/Levels/LevelRenderer.cs +++ b/Subsurface/Source/Map/Levels/LevelRenderer.cs @@ -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; @@ -184,20 +183,14 @@ namespace Barotrauma 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, - new Rectangle((int)(MathUtils.Round(pos.X, 1024)), (int)pos.Y, width, 1024), - new Rectangle(0, 0, width, 1024), + new Rectangle((int)(MathUtils.Round(pos.X, 1024)), (int)pos.Y-1000, width, 1024), + new Rectangle(0, 0, width, -1024), level.BackgroundColor, 0.0f, Vector2.Zero, 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); } diff --git a/Subsurface/Source/Map/TransitionCinematic.cs b/Subsurface/Source/Map/TransitionCinematic.cs index 6d3449f6c..c6049a701 100644 --- a/Subsurface/Source/Map/TransitionCinematic.cs +++ b/Subsurface/Source/Map/TransitionCinematic.cs @@ -58,8 +58,7 @@ namespace Barotrauma //Vector2 diff = targetPos - sub.Position; float targetSpeed = 10.0f; - Level.Loaded.ShaftBodies[0].Enabled = false; - Level.Loaded.ShaftBodies[1].Enabled = false; + Level.Loaded.ShaftBody.Enabled = false; cam.TargetPos = Vector2.Zero; float timer = 0.0f; @@ -79,7 +78,7 @@ namespace Barotrauma cam.Zoom = Math.Max(0.2f, cam.Zoom - CoroutineManager.UnscaledDeltaTime * 0.1f); 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); diff --git a/Subsurface/Source/Networking/RespawnManager.cs b/Subsurface/Source/Networking/RespawnManager.cs index 3940e64a3..f10a63004 100644 --- a/Subsurface/Source/Networking/RespawnManager.cs +++ b/Subsurface/Source/Networking/RespawnManager.cs @@ -232,7 +232,7 @@ namespace Barotrauma.Networking { updateReturnTimer = 0.0f; - respawnShuttle.SubBody.Body.IgnoreCollisionWith(Level.Loaded.ShaftBodies[0]); + respawnShuttle.SubBody.Body.IgnoreCollisionWith(Level.Loaded.ShaftBody); shuttleSteering.AutoPilot = true; shuttleSteering.MaintainPos = false; @@ -302,7 +302,7 @@ namespace Barotrauma.Networking private IEnumerable 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) { @@ -313,7 +313,7 @@ namespace Barotrauma.Networking 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; } @@ -378,7 +378,7 @@ namespace Barotrauma.Networking respawnShuttle.Velocity = Vector2.Zero; - respawnShuttle.SubBody.Body.RestoreCollisionWith(Level.Loaded.ShaftBodies[0]); + respawnShuttle.SubBody.Body.RestoreCollisionWith(Level.Loaded.ShaftBody); } diff --git a/Subsurface/changelog.txt b/Subsurface/changelog.txt index 6d3e0eb50..5e8767ab3 100644 --- a/Subsurface/changelog.txt +++ b/Subsurface/changelog.txt @@ -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 ---------------------------------------------------------------------------------------------------------