diff --git a/Subsurface/Source/GameSession/GameModes/SinglePlayerMode.cs b/Subsurface/Source/GameSession/GameModes/SinglePlayerMode.cs index ce1b6ea64..8d6ede417 100644 --- a/Subsurface/Source/GameSession/GameModes/SinglePlayerMode.cs +++ b/Subsurface/Source/GameSession/GameModes/SinglePlayerMode.cs @@ -197,13 +197,13 @@ namespace Barotrauma } else if (leavingSub.AtEndPosition) { - endShiftButton.Text = "Enter " + Map.SelectedLocation.Name; + endShiftButton.Text = ToolBox.LimitString("Enter " + Map.SelectedLocation.Name, endShiftButton.Font, endShiftButton.Rect.Width - 5); endShiftButton.UserData = leavingSub; endShiftButton.Visible = true; } else if (leavingSub.AtStartPosition) { - endShiftButton.Text = "Enter " + Map.CurrentLocation.Name; + endShiftButton.Text = ToolBox.LimitString("Enter " + Map.CurrentLocation.Name, endShiftButton.Font, endShiftButton.Rect.Width - 5); endShiftButton.UserData = leavingSub; endShiftButton.Visible = true; } diff --git a/Subsurface/Source/Items/Components/Machines/Radar.cs b/Subsurface/Source/Items/Components/Machines/Radar.cs index 11bce3861..49a3b12c5 100644 --- a/Subsurface/Source/Items/Components/Machines/Radar.cs +++ b/Subsurface/Source/Items/Components/Machines/Radar.cs @@ -395,12 +395,15 @@ namespace Barotrauma.Items.Components if (dir.X < 0.0f) markerPos.X -= GUI.SmallFont.MeasureString(label).X+10; - GUI.DrawString(spriteBatch, new Vector2(markerPos.X + 10, markerPos.Y), label, Color.LightGreen * textAlpha, Color.Black * textAlpha*0.5f, 2, GUI.SmallFont); + string wrappedLabel = ToolBox.WrapText(label, 150, GUI.SmallFont); - GUI.DrawString(spriteBatch, new Vector2(markerPos.X + 10, markerPos.Y + 15), (int)(dist * Physics.DisplayToRealWorldRatio) + " m", - Color.LightGreen * textAlpha, - Color.Black * textAlpha, 2, GUI.SmallFont); - + wrappedLabel += "\n"+((int)(dist * Physics.DisplayToRealWorldRatio) + " m"); + + GUI.DrawString(spriteBatch, + new Vector2(markerPos.X + 10, markerPos.Y), + wrappedLabel, + Color.LightGreen * textAlpha, Color.Black * textAlpha * 0.5f, + 2, GUI.SmallFont); } protected override void RemoveComponentSpecific() diff --git a/Subsurface/Source/Items/Components/Machines/Steering.cs b/Subsurface/Source/Items/Components/Machines/Steering.cs index 3cfff69fc..d11797694 100644 --- a/Subsurface/Source/Items/Components/Machines/Steering.cs +++ b/Subsurface/Source/Items/Components/Machines/Steering.cs @@ -120,17 +120,17 @@ namespace Barotrauma.Items.Components maintainPosTickBox = new GUITickBox(new Rectangle(5, 50, 15, 15), "Maintain position", Alignment.TopLeft, GUI.SmallFont, GuiFrame); maintainPosTickBox.Enabled = false; maintainPosTickBox.OnSelected = ToggleMaintainPosition; - + levelStartTickBox = new GUITickBox( - new Rectangle(5, 70, 15, 15), - GameMain.GameSession.StartLocation.Name, + new Rectangle(5, 70, 15, 15), + ToolBox.LimitString(GameMain.GameSession.StartLocation.Name, 20), Alignment.TopLeft, GUI.SmallFont, GuiFrame); levelStartTickBox.Enabled = false; levelStartTickBox.OnSelected = SelectDestination; levelEndTickBox = new GUITickBox( new Rectangle(5, 90, 15, 15), - GameMain.GameSession.EndLocation.Name, + ToolBox.LimitString(GameMain.GameSession.EndLocation.Name, 20), Alignment.TopLeft, GUI.SmallFont, GuiFrame); levelEndTickBox.Enabled = false; levelEndTickBox.OnSelected = SelectDestination; @@ -139,8 +139,6 @@ namespace Barotrauma.Items.Components public override void Update(float deltaTime, Camera cam) { - //base.Update(deltaTime, cam); - if (valueChanged) { networkUpdateTimer -= deltaTime; diff --git a/Subsurface/Source/Utils/ToolBox.cs b/Subsurface/Source/Utils/ToolBox.cs index 31e0d166b..f07ceba87 100644 --- a/Subsurface/Source/Utils/ToolBox.cs +++ b/Subsurface/Source/Utils/ToolBox.cs @@ -343,8 +343,6 @@ namespace Barotrauma { if (maxWidth <= 0 || string.IsNullOrWhiteSpace(str)) return ""; - StringBuilder sb = new StringBuilder(); - float currWidth = font.MeasureString("...").X; for (int i = 0; i < str.Length; i++ ) { @@ -352,7 +350,7 @@ namespace Barotrauma if (currWidth > maxWidth) { - return str.Substring(0, i + 1) + "..."; + return str.Substring(0, Math.Max(i - 2, 1)) + "..."; } }