diff --git a/Barotrauma/BarotraumaClient/ClientCode.projitems b/Barotrauma/BarotraumaClient/ClientCode.projitems
index 8360a00c7..e2df0a544 100644
--- a/Barotrauma/BarotraumaClient/ClientCode.projitems
+++ b/Barotrauma/BarotraumaClient/ClientCode.projitems
@@ -44,7 +44,6 @@
-
diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs
index 90d96a1dd..bb18cab55 100644
--- a/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs
+++ b/Barotrauma/BarotraumaClient/Source/GUI/GUI.cs
@@ -1551,14 +1551,7 @@ namespace Barotrauma
{
if (Tutorial.Initialized)
{
- if (GameMain.GameSession.GameMode is SinglePlayerCampaign)
- {
- ((SinglePlayerCampaign)GameMain.GameSession.GameMode).ContextualTutorial.Stop();
- }
- else
- {
- ((TutorialMode)GameMain.GameSession.GameMode).Tutorial.Stop();
- }
+ ((TutorialMode)GameMain.GameSession.GameMode).Tutorial.Stop();
}
if (GameSettings.SendUserStatistics)
diff --git a/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs b/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs
index ec9c026e6..55114def0 100644
--- a/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs
+++ b/Barotrauma/BarotraumaClient/Source/GUI/GUIMessageBox.cs
@@ -41,32 +41,19 @@ namespace Barotrauma
InnerFrame = new GUIFrame(new RectTransform(new Point(width, height), RectTransform, Anchor.Center) { IsFixedSize = false }, style: null);
GUI.Style.Apply(InnerFrame, "", this);
- InnerFrame = new GUIFrame(new RectTransform(new Point(width, height), RectTransform, Anchor.Center) { IsFixedSize = false }, style: null);
- GUI.Style.Apply(InnerFrame, "", this);
-
Content = new GUILayoutGroup(new RectTransform(new Vector2(0.9f, 0.85f), InnerFrame.RectTransform, Anchor.Center)) { AbsoluteSpacing = 5 };
Tag = tag;
-
- if (height == 0)
- {
- string wrappedText = ToolBox.WrapText(text, Content.Rect.Width, GUI.Font);
- string[] lines = wrappedText.Split('\n');
- foreach (string line in lines)
- {
- height += (int)GUI.Font.MeasureString(line).Y;
- }
- height += string.IsNullOrWhiteSpace(headerText) ? 220 : 220 - headerHeight;
- }
- InnerFrame.RectTransform.NonScaledSize = new Point(InnerFrame.Rect.Width, height);
-
+
Header = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), Content.RectTransform),
headerText, textAlignment: Alignment.Center, wrap: true);
+ Header.RectTransform.MinSize = new Point(0, Header.Rect.Height);
GUI.Style.Apply(Header, "", this);
- if (height == 0)
+ if (!string.IsNullOrWhiteSpace(text))
{
Text = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), Content.RectTransform),
text, textAlignment: textAlignment, wrap: true);
+ Text.RectTransform.MinSize = new Point(0, Text.Rect.Height);
GUI.Style.Apply(Text, "", this);
}
@@ -76,7 +63,18 @@ namespace Barotrauma
AbsoluteSpacing = 5,
IgnoreLayoutGroups = true
};
-
+ buttonContainer.RectTransform.NonScaledSize = buttonContainer.RectTransform.MinSize = buttonContainer.RectTransform.MaxSize =
+ new Point(buttonContainer.Rect.Width, (int)(30 * GUI.Scale));
+
+ if (height == 0)
+ {
+ height += Header.Rect.Height + Content.AbsoluteSpacing;
+ height += (Text == null ? 0 : Text.Rect.Height) + Content.AbsoluteSpacing;
+ height += buttonContainer.Rect.Height;
+
+ InnerFrame.RectTransform.NonScaledSize = new Point(InnerFrame.Rect.Width, (int)(height / Content.RectTransform.RelativeSize.Y));
+ }
+
Buttons = new List(buttons.Length);
for (int i = 0; i < buttons.Length; i++)
{
diff --git a/Barotrauma/BarotraumaClient/Source/GameMain.cs b/Barotrauma/BarotraumaClient/Source/GameMain.cs
index 0f8e9bdc1..974d1d7b7 100644
--- a/Barotrauma/BarotraumaClient/Source/GameMain.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameMain.cs
@@ -717,7 +717,7 @@ namespace Barotrauma
PerformanceCounter.DrawTimeGraph.Update(sw.ElapsedTicks / (float)TimeSpan.TicksPerMillisecond);
}
- public void ShowCampaignDisclaimer()
+ public void ShowCampaignDisclaimer(Action onContinue)
{
var msgBox = new GUIMessageBox(TextManager.Get("CampaignDisclaimerTitle"), TextManager.Get("CampaignDisclaimerText"),
new string[] { TextManager.Get("CampaignRoadMapTitle"), TextManager.Get("OK") });
@@ -726,13 +726,15 @@ namespace Barotrauma
{
var roadMap = new GUIMessageBox(TextManager.Get("CampaignRoadMapTitle"), TextManager.Get("CampaignRoadMapText"),
new string[] { TextManager.Get("Back"), TextManager.Get("OK") });
- roadMap.Buttons[0].OnClicked = (_, __) => { ShowCampaignDisclaimer(); return true; };
roadMap.Buttons[0].OnClicked += roadMap.Close;
+ roadMap.Buttons[0].OnClicked += (_, __) => { ShowCampaignDisclaimer(onContinue); return true; };
roadMap.Buttons[1].OnClicked += roadMap.Close;
+ roadMap.Buttons[1].OnClicked += (_, __) => { onContinue?.Invoke(); return true; };
return true;
};
msgBox.Buttons[0].OnClicked += msgBox.Close;
msgBox.Buttons[1].OnClicked += msgBox.Close;
+ msgBox.Buttons[1].OnClicked += (_, __) => { onContinue?.Invoke(); return true; };
Config.CampaignDisclaimerShown = true;
Config.SaveNewPlayerConfig();
diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs
index b4a7414e3..ed7b01f1b 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/SinglePlayerCampaign.cs
@@ -65,11 +65,6 @@ namespace Barotrauma
endTimer = 5.0f;
isRunning = true;
CrewManager.InitSinglePlayerRound();
-
- if (ContextualTutorial.Initialized)
- {
- ContextualTutorial.Start();
- }
}
public bool TryHireCharacter(Location location, CharacterInfo characterInfo)
@@ -175,11 +170,6 @@ namespace Barotrauma
base.Update(deltaTime);
- if (ContextualTutorial.Initialized)
- {
- ContextualTutorial.Update(deltaTime);
- }
-
if (!GUI.DisableHUD && !GUI.DisableUpperHUD)
{
endRoundButton.UpdateManually(deltaTime);
@@ -440,12 +430,6 @@ namespace Barotrauma
new XAttribute("cheatsenabled", CheatsEnabled));
CrewManager.Save(modeElement);
Map.Save(modeElement);
-
- if (ContextualTutorial.Initialized)
- {
- ContextualTutorial.SavePartiallyComplete(modeElement);
- }
-
element.Add(modeElement);
}
}
diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs
index b883c43ed..a05c6a835 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/ContextualTutorial.cs
@@ -1,4 +1,4 @@
-using System.Collections.Generic;
+/*using System.Collections.Generic;
using System.Xml.Linq;
using System;
using Microsoft.Xna.Framework;
@@ -9,6 +9,11 @@ namespace Barotrauma.Tutorials
{
class ContextualTutorial : Tutorial
{
+ public ContextualTutorial(XElement element) : base(element)
+ {
+ //Name = "ContextualTutorial";
+ }
+
public static bool Selected = false;
private Steering navConsole;
@@ -32,11 +37,6 @@ namespace Barotrauma.Tutorials
private float medicalTutorialTimer = 0.0f;
private const float medicalTutorialDelay = 2.0f;
- public ContextualTutorial(XElement element) : base(element)
- {
- Name = "ContextualTutorial";
- }
-
public override void Initialize()
{
base.Initialize();
@@ -517,4 +517,4 @@ namespace Barotrauma.Tutorials
Stop();
}
}
-}
+}*/
diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs
index b4f3af7a9..fd6451514 100644
--- a/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs
+++ b/Barotrauma/BarotraumaClient/Source/GameSession/GameModes/Tutorials/Tutorial.cs
@@ -22,9 +22,6 @@ namespace Barotrauma.Tutorials
private Action infoBoxClosedCallback;
protected XElement configElement;
- private enum TutorialType { None, Scenario, Contextual };
- private TutorialType tutorialType = TutorialType.None;
-
protected VideoPlayer videoPlayer;
protected enum TutorialContentTypes { None = 0, Video = 1, ManualVideo = 2, TextOnly = 3 };
protected string playableContentPath;
@@ -164,7 +161,6 @@ namespace Barotrauma.Tutorials
configElement = element;
Name = element.GetAttributeString("name", "Unnamed");
completed = GameMain.Config.CompletedTutorialNames.Contains(Name);
- Enum.TryParse(element.GetAttributeString("tutorialtype", "Scenario"), true, out tutorialType);
playableContentPath = element.GetAttributeString("playablecontentpath", "");
segments = new List();
@@ -518,12 +514,12 @@ namespace Barotrauma.Tutorials
if (title.Length > 0)
{
- var titleBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.3f), infoContent.RectTransform),
+ var titleBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), infoContent.RectTransform),
title, font: GUI.VideoTitleFont, textAlignment: Alignment.Center, textColor: new Color(253, 174, 0));
titleBlock.TextScale = textScale;
}
- var textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 1.0f), infoContent.RectTransform), text, wrap: true);
+ var textBlock = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.0f), infoContent.RectTransform), text, wrap: true);
infoBoxClosedCallback = callback;
diff --git a/Barotrauma/BarotraumaClient/Source/Map/ItemAssemblyPrefab.cs b/Barotrauma/BarotraumaClient/Source/Map/ItemAssemblyPrefab.cs
index 7c8bfc1e6..02184babd 100644
--- a/Barotrauma/BarotraumaClient/Source/Map/ItemAssemblyPrefab.cs
+++ b/Barotrauma/BarotraumaClient/Source/Map/ItemAssemblyPrefab.cs
@@ -22,7 +22,7 @@ namespace Barotrauma
drawRect = new Rectangle(
(int)(drawRect.X * scale) + drawArea.Center.X, -((int)((drawRect.Y - drawRect.Height) * scale) + drawArea.Center.Y),
(int)(drawRect.Width * scale), (int)(drawRect.Height * scale));
- entity.First.DrawPlacing(spriteBatch, drawRect, scale);
+ entity.First.DrawPlacing(spriteBatch, drawRect, entity.First.Scale * scale);
}
}
@@ -34,7 +34,7 @@ namespace Barotrauma
{
Rectangle drawRect = entity.Second;
drawRect.Location += Submarine.MouseToWorldGrid(cam, Submarine.MainSub).ToPoint();
- entity.First.DrawPlacing(spriteBatch, drawRect);
+ entity.First.DrawPlacing(spriteBatch, drawRect, entity.First.Scale);
}
}
diff --git a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs
index 797209547..94bb1bd2c 100644
--- a/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs
+++ b/Barotrauma/BarotraumaClient/Source/Screens/MainMenuScreen.cs
@@ -324,7 +324,6 @@ namespace Barotrauma
false, null, "");
foreach (Tutorial tutorial in Tutorial.Tutorials)
{
- if (tutorial is ContextualTutorial) continue;
var tutorialText = new GUITextBlock(new RectTransform(new Vector2(1.0f, 0.15f), tutorialList.Content.RectTransform), tutorial.Name, textAlignment: Alignment.Center, font: GUI.LargeFont)
{
UserData = tutorial
@@ -398,6 +397,12 @@ namespace Barotrauma
switch (selectedTab)
{
case Tab.NewGame:
+ if (!GameMain.Config.CampaignDisclaimerShown)
+ {
+ selectedTab = 0;
+ GameMain.Instance.ShowCampaignDisclaimer(() => { SelectTab(null, Tab.NewGame); });
+ return true;
+ }
campaignSetupUI.CreateDefaultSaveName();
campaignSetupUI.RandomizeSeed();
campaignSetupUI.UpdateSubList(Submarine.SavedSubmarines);
@@ -416,6 +421,12 @@ namespace Barotrauma
case Tab.HostServer:
break;
case Tab.Tutorials:
+ if (!GameMain.Config.CampaignDisclaimerShown)
+ {
+ selectedTab = 0;
+ GameMain.Instance.ShowCampaignDisclaimer(() => { SelectTab(null, Tab.Tutorials); });
+ return true;
+ }
UpdateTutorialList();
break;
case Tab.CharacterEditor:
diff --git a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml
index c5985f21c..6cb28c845 100644
--- a/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml
+++ b/Barotrauma/BarotraumaShared/Data/ContentPackages/Vanilla 0.9.xml
@@ -74,14 +74,11 @@
-
-
-
diff --git a/Barotrauma/BarotraumaShared/SharedContent.projitems b/Barotrauma/BarotraumaShared/SharedContent.projitems
index 2b4cacac6..0cfdcd61a 100644
--- a/Barotrauma/BarotraumaShared/SharedContent.projitems
+++ b/Barotrauma/BarotraumaShared/SharedContent.projitems
@@ -364,9 +364,18 @@
PreserveNewest
+
+ PreserveNewest
+
+
+ PreserveNewest
+
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -481,33 +490,6 @@
PreserveNewest
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
-
- PreserveNewest
-
PreserveNewest
@@ -2191,7 +2173,7 @@
PreserveNewest
- PreserveNewest
+ Never
Never
@@ -3151,9 +3133,6 @@
PreserveNewest
-
- PreserveNewest
-
PreserveNewest
@@ -3350,10 +3329,10 @@
PreserveNewest
- PreserveNewest
+ Never
- PreserveNewest
+ Never
PreserveNewest
diff --git a/Barotrauma/BarotraumaShared/Submarines/Bunyip.sub b/Barotrauma/BarotraumaShared/Submarines/Bunyip.sub
index a0fb19aae..6ba4eb52d 100644
Binary files a/Barotrauma/BarotraumaShared/Submarines/Bunyip.sub and b/Barotrauma/BarotraumaShared/Submarines/Bunyip.sub differ
diff --git a/Barotrauma/BarotraumaShared/Submarines/Dugong.sub b/Barotrauma/BarotraumaShared/Submarines/Dugong.sub
index cd2d2b7eb..40f743655 100644
Binary files a/Barotrauma/BarotraumaShared/Submarines/Dugong.sub and b/Barotrauma/BarotraumaShared/Submarines/Dugong.sub differ
diff --git a/Barotrauma/BarotraumaShared/Submarines/Humpback.sub b/Barotrauma/BarotraumaShared/Submarines/Humpback.sub
index c57bc40b9..e48b767f2 100644
Binary files a/Barotrauma/BarotraumaShared/Submarines/Humpback.sub and b/Barotrauma/BarotraumaShared/Submarines/Humpback.sub differ
diff --git a/Barotrauma/BarotraumaShared/Submarines/Orca.sub b/Barotrauma/BarotraumaShared/Submarines/Orca.sub
index 1884e59b0..56654b8d6 100644
Binary files a/Barotrauma/BarotraumaShared/Submarines/Orca.sub and b/Barotrauma/BarotraumaShared/Submarines/Orca.sub differ
diff --git a/Barotrauma/BarotraumaShared/Submarines/TutorialOutpost.sub b/Barotrauma/BarotraumaShared/Submarines/TutorialOutpost.sub
index 79e598573..3e5085c2e 100644
Binary files a/Barotrauma/BarotraumaShared/Submarines/TutorialOutpost.sub and b/Barotrauma/BarotraumaShared/Submarines/TutorialOutpost.sub differ
diff --git a/Barotrauma/BarotraumaShared/Submarines/Typhon.sub b/Barotrauma/BarotraumaShared/Submarines/Typhon.sub
index b43126315..d268e2add 100644
Binary files a/Barotrauma/BarotraumaShared/Submarines/Typhon.sub and b/Barotrauma/BarotraumaShared/Submarines/Typhon.sub differ