- fixed exception in GetSubsToLeaveBehind if the round ends when none of the subs is at an exit
- water surface is clamped above the bottom of the hull - character names don't overlap with health bars
This commit is contained in:
@@ -1328,7 +1328,7 @@ namespace Barotrauma
|
|||||||
|
|
||||||
if (info != null)
|
if (info != null)
|
||||||
{
|
{
|
||||||
Vector2 namePos = new Vector2(pos.X, pos.Y - 80.0f - (5.0f/cam.Zoom)) - GUI.Font.MeasureString(Info.Name) * 0.5f / cam.Zoom;
|
Vector2 namePos = new Vector2(pos.X, pos.Y - 110.0f - (5.0f/cam.Zoom)) - GUI.Font.MeasureString(Info.Name) * 0.5f / cam.Zoom;
|
||||||
Color nameColor = Color.White;
|
Color nameColor = Color.White;
|
||||||
|
|
||||||
if (Character.Controlled != null && TeamID!=Character.Controlled.TeamID)
|
if (Character.Controlled != null && TeamID!=Character.Controlled.TeamID)
|
||||||
|
|||||||
@@ -241,18 +241,20 @@ namespace Barotrauma
|
|||||||
{
|
{
|
||||||
isRunning = false;
|
isRunning = false;
|
||||||
|
|
||||||
if (subsToLeaveBehind == null || leavingSub == null)
|
|
||||||
{
|
|
||||||
DebugConsole.ThrowError("Leaving submarine not selected -> selecting the closest one");
|
|
||||||
|
|
||||||
leavingSub = GetLeavingSub();
|
|
||||||
|
|
||||||
subsToLeaveBehind = GetSubsToLeaveBehind(leavingSub);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool success = CrewManager.characters.Any(c => !c.IsDead);
|
bool success = CrewManager.characters.Any(c => !c.IsDead);
|
||||||
|
|
||||||
|
if (success)
|
||||||
|
{
|
||||||
|
if (subsToLeaveBehind == null || leavingSub == null)
|
||||||
|
{
|
||||||
|
DebugConsole.ThrowError("Leaving submarine not selected -> selecting the closest one");
|
||||||
|
|
||||||
|
leavingSub = GetLeavingSub();
|
||||||
|
|
||||||
|
subsToLeaveBehind = GetSubsToLeaveBehind(leavingSub);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
GameMain.GameSession.EndShift("");
|
GameMain.GameSession.EndShift("");
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ namespace Barotrauma
|
|||||||
Item.UpdateHulls();
|
Item.UpdateHulls();
|
||||||
Gap.UpdateHulls();
|
Gap.UpdateHulls();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
surface = rect.Y - rect.Height + Volume / rect.Width;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -506,7 +508,7 @@ namespace Barotrauma
|
|||||||
}
|
}
|
||||||
|
|
||||||
//interpolate the position of the rendered surface towards the "target surface"
|
//interpolate the position of the rendered surface towards the "target surface"
|
||||||
surface = MathHelper.Lerp(surface, surfaceY, deltaTime*10.0f);
|
surface = Math.Max(MathHelper.Lerp(surface, surfaceY, deltaTime*10.0f), rect.Y - rect.Height);
|
||||||
|
|
||||||
if (volume < FullVolume)
|
if (volume < FullVolume)
|
||||||
{
|
{
|
||||||
@@ -556,7 +558,7 @@ namespace Barotrauma
|
|||||||
if (!Visible)
|
if (!Visible)
|
||||||
{
|
{
|
||||||
drawRect =
|
drawRect =
|
||||||
Submarine == null ? rect : new Rectangle((int)(Submarine.DrawPosition.X + rect.X), (int)(Submarine.DrawPosition.Y + rect.Y), rect.Width, rect.Height);
|
Submarine == null ? rect : new Rectangle((int)(Submarine.DrawPosition.X + rect.X), (int)(Submarine.DrawPosition.Y + rect.Y), rect.Width, rect.Height);
|
||||||
|
|
||||||
GUI.DrawRectangle(spriteBatch,
|
GUI.DrawRectangle(spriteBatch,
|
||||||
new Vector2(drawRect.X, -drawRect.Y),
|
new Vector2(drawRect.X, -drawRect.Y),
|
||||||
@@ -577,11 +579,11 @@ namespace Barotrauma
|
|||||||
GUI.DrawRectangle(spriteBatch,
|
GUI.DrawRectangle(spriteBatch,
|
||||||
new Vector2(drawRect.X, -drawRect.Y),
|
new Vector2(drawRect.X, -drawRect.Y),
|
||||||
new Vector2(rect.Width, rect.Height),
|
new Vector2(rect.Width, rect.Height),
|
||||||
Color.Blue,false,0, (int)Math.Max((1.5f / Screen.Selected.Cam.Zoom), 1.0f));
|
Color.Blue, false, 0, (int)Math.Max((1.5f / Screen.Selected.Cam.Zoom), 1.0f));
|
||||||
|
|
||||||
GUI.DrawRectangle(spriteBatch,
|
GUI.DrawRectangle(spriteBatch,
|
||||||
new Rectangle(drawRect.X, -drawRect.Y, rect.Width, rect.Height),
|
new Rectangle(drawRect.X, -drawRect.Y, rect.Width, rect.Height),
|
||||||
Color.Red*((100.0f-OxygenPercentage)/400.0f), true,0, (int)Math.Max((1.5f / GameScreen.Selected.Cam.Zoom), 1.0f));
|
Color.Red * ((100.0f - OxygenPercentage) / 400.0f), true, 0, (int)Math.Max((1.5f / GameScreen.Selected.Cam.Zoom), 1.0f));
|
||||||
|
|
||||||
if (GameMain.DebugDraw)
|
if (GameMain.DebugDraw)
|
||||||
{
|
{
|
||||||
@@ -596,7 +598,7 @@ namespace Barotrauma
|
|||||||
GUI.DrawRectangle(spriteBatch,
|
GUI.DrawRectangle(spriteBatch,
|
||||||
new Vector2(drawRect.X + 5, -drawRect.Y + 5),
|
new Vector2(drawRect.X + 5, -drawRect.Y + 5),
|
||||||
new Vector2(rect.Width - 10, rect.Height - 10),
|
new Vector2(rect.Width - 10, rect.Height - 10),
|
||||||
isHighlighted ? Color.LightBlue*0.5f : Color.Red*0.5f, true,0, (int)Math.Max((1.5f / GameScreen.Selected.Cam.Zoom), 1.0f));
|
isHighlighted ? Color.LightBlue * 0.5f : Color.Red * 0.5f, true, 0, (int)Math.Max((1.5f / GameScreen.Selected.Cam.Zoom), 1.0f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user