From 0a9625469680ac544fdcd4f360048c3b9c059243 Mon Sep 17 00:00:00 2001 From: Regalis Date: Fri, 9 Oct 2015 17:18:25 +0300 Subject: [PATCH] Tutorial fixes --- Subsurface/Properties/AssemblyInfo.cs | 2 +- .../BackgroundSpriteManager.cs | 22 +++++++++++------ .../Characters/HumanoidAnimController.cs | 2 +- .../GameSession/GameModes/TutorialMode.cs | 23 ++++++++++-------- Subsurface/Source/Map/Levels/Level.cs | 5 +++- Subsurface/Source/Map/Submarine.cs | 8 +++--- Subsurface/Source/Screens/GameScreen.cs | 4 ++- Subsurface_Solution.v12.suo | Bin 759296 -> 767488 bytes UpgradeLog.htm | Bin 36916 -> 0 bytes 9 files changed, 42 insertions(+), 24 deletions(-) delete mode 100644 UpgradeLog.htm diff --git a/Subsurface/Properties/AssemblyInfo.cs b/Subsurface/Properties/AssemblyInfo.cs index 2feb084e1..e2a117134 100644 --- a/Subsurface/Properties/AssemblyInfo.cs +++ b/Subsurface/Properties/AssemblyInfo.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Subsurface")] +[assembly: AssemblyTitle("Barotrauma")] [assembly: AssemblyProduct("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyDescription("")] diff --git a/Subsurface/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs b/Subsurface/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs index 7435d6459..ea9e77c32 100644 --- a/Subsurface/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs +++ b/Subsurface/Source/Characters/BackgroundSprite/BackgroundSpriteManager.cs @@ -33,7 +33,7 @@ namespace Subsurface } } - public void SpawnSprites(int count) + public void SpawnSprites(int count, Vector2? position = null) { activeSprites.Clear(); @@ -45,17 +45,25 @@ namespace Subsurface { Vector2 pos = Vector2.Zero; - if (WayPoint.WayPointList.Count>0) + if (position == null) { - WayPoint wp = WayPoint.WayPointList[Rand.Int(WayPoint.WayPointList.Count)]; + if (WayPoint.WayPointList.Count>0) + { + WayPoint wp = WayPoint.WayPointList[Rand.Int(WayPoint.WayPointList.Count)]; - pos = new Vector2(wp.Rect.X, wp.Rect.Y); - pos += Rand.Vector(200.0f); + pos = new Vector2(wp.Rect.X, wp.Rect.Y); + pos += Rand.Vector(200.0f); + } + else + { + pos = Rand.Vector(2000.0f); + } } else { - pos = Rand.Vector(2000.0f); - } + pos = (Vector2)position; + } + var prefab = prefabs[Rand.Int(prefabs.Count)]; diff --git a/Subsurface/Source/Characters/HumanoidAnimController.cs b/Subsurface/Source/Characters/HumanoidAnimController.cs index 240b00281..062b66cce 100644 --- a/Subsurface/Source/Characters/HumanoidAnimController.cs +++ b/Subsurface/Source/Characters/HumanoidAnimController.cs @@ -831,7 +831,7 @@ namespace Subsurface Vector2 bodyVelocity = torso.body.LinearVelocity / 60.0f; item.body.ResetDynamics(); - item.body.SetTransform(MathUtils.SmoothStep(item.body.SimPosition, transformedHoldPos + bodyVelocity, 0.5f), itemAngle); + item.SetTransform(MathUtils.SmoothStep(item.body.SimPosition, transformedHoldPos + bodyVelocity, 0.5f), itemAngle); for (int i = 0; i < 2; i++) { diff --git a/Subsurface/Source/GameSession/GameModes/TutorialMode.cs b/Subsurface/Source/GameSession/GameModes/TutorialMode.cs index c2a61cfef..228f2b02f 100644 --- a/Subsurface/Source/GameSession/GameModes/TutorialMode.cs +++ b/Subsurface/Source/GameSession/GameModes/TutorialMode.cs @@ -1,4 +1,5 @@ -using Microsoft.Xna.Framework; +using FarseerPhysics; +using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Subsurface.Items.Components; using System; @@ -16,7 +17,7 @@ namespace Subsurface public static void Start() { - Submarine.Load("Content/Map/TutorialSub.gz"); + Submarine.Load("Content/Map/TutorialSub.gz", ""); GameMain.GameSession = new GameSession(Submarine.Loaded, "", GameModePreset.list.Find(gm => gm.Name.ToLower()=="tutorial")); @@ -86,6 +87,8 @@ namespace Subsurface private IEnumerable UpdateState() { + GameMain.GameScreen.BackgroundSpriteManager.SpawnSprites(1, Submarine.Loaded.Position + Character.Controlled.Position); + yield return new WaitForSeconds(4.0f); infoBox = CreateInfoFrame("Use WASD to move and mouse to look around"); @@ -276,20 +279,20 @@ namespace Subsurface yield return CoroutineStatus.Running; } yield return new WaitForSeconds(4.0f); - - infoBox = CreateInfoFrame("The submarine moves up and down by pumping water in and out of the two ballast tanks at the bottom of the submarine. " - +"The engine at the back of the sub moves it forwards and backwards."); - - yield return new WaitForSeconds(8.0f); + infoBox = CreateInfoFrame("Steer the submarine downwards, heading further into the cavern."); - + while (Submarine.Loaded.Position.Y > 31000.0f) { yield return CoroutineStatus.Running; } - - var moloch = new Character("Content/Characters/Moloch/moloch.xml", steering.Item.SimPosition + Vector2.UnitX * 25.0f); + yield return new WaitForSeconds(8.0f); + + infoBox = CreateInfoFrame("The submarine moves up and down by pumping water in and out of the two ballast tanks at the bottom of the submarine. " + +"The engine at the back of the sub moves it forwards and backwards."); + + var moloch = new AICharacter("Content/Characters/Moloch/moloch.xml", steering.Item.SimPosition + Vector2.UnitX * 25.0f); moloch.PlaySound(AIController.AiState.Attack); yield return new WaitForSeconds(1.0f); diff --git a/Subsurface/Source/Map/Levels/Level.cs b/Subsurface/Source/Map/Levels/Level.cs index e05b90325..582852b28 100644 --- a/Subsurface/Source/Map/Levels/Level.cs +++ b/Subsurface/Source/Map/Levels/Level.cs @@ -76,7 +76,10 @@ namespace Subsurface public Vector2 Position { - get { return ConvertUnits.ToDisplayUnits(cells[0].body.Position); } + get + { + return cells==null ? Vector2.Zero : ConvertUnits.ToDisplayUnits(cells[0].body.Position); + } } public List PositionsOfInterest diff --git a/Subsurface/Source/Map/Submarine.cs b/Subsurface/Source/Map/Submarine.cs index 6c4616040..d766cb5f2 100644 --- a/Subsurface/Source/Map/Submarine.cs +++ b/Subsurface/Source/Map/Submarine.cs @@ -623,11 +623,13 @@ namespace Subsurface loaded = this; } - public static Submarine Load(string fileName) + public static Submarine Load(string fileName, string folder = SavePath) { - Unload(); + Unload(); - Submarine sub = new Submarine(SavePath+"/"+fileName); + string path = string.IsNullOrWhiteSpace(folder) ? fileName : System.IO.Path.Combine(SavePath, fileName); + + Submarine sub = new Submarine(path); sub.Load(); //Entity.dictionary.Add(int.MaxValue, sub); diff --git a/Subsurface/Source/Screens/GameScreen.cs b/Subsurface/Source/Screens/GameScreen.cs index 90a781394..972793247 100644 --- a/Subsurface/Source/Screens/GameScreen.cs +++ b/Subsurface/Source/Screens/GameScreen.cs @@ -67,7 +67,8 @@ namespace Subsurface AmbientSoundManager.Update(); - if (GameMain.GameSession != null && GameMain.GameSession.Level != null) +#if DEBUG + if (GameMain.GameSession != null && GameMain.GameSession.Level != null && GameMain.GameSession.Submarine != null) { Vector2 targetMovement = Vector2.Zero; if (PlayerInput.KeyDown(Keys.I)) targetMovement.Y += 1.0f; @@ -77,6 +78,7 @@ namespace Subsurface GameMain.GameSession.Submarine.ApplyForce(targetMovement * 100000.0f); } +#endif if (GameMain.GameSession!=null) GameMain.GameSession.Update((float)deltaTime); //EventManager.Update(gameTime); diff --git a/Subsurface_Solution.v12.suo b/Subsurface_Solution.v12.suo index 3eaab03522d5810fcb2d5689585b7d35ed0a3dd8..e0e3c5377b13c9ebd49637793494cebf56e0b612 100644 GIT binary patch delta 14627 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 delta 13066 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 um&Kis`ak*53r