From 5f1cb194abcbff02313c57deb87ae22f903e8007 Mon Sep 17 00:00:00 2001 From: Regalis Date: Sun, 17 Jan 2016 15:45:16 +0200 Subject: [PATCH] List of previously used mapentities in editor, waypoint sprites, properly generating waypoints for hatches, waypoint paths are saved in editor instead of generating them on loading, gap particle bugfix, separate waypoint and spawnpoint prefabs, turret rotation limits visible in editor, hatch convexhull fix, new railgunloader sprite --- Subsurface/Barotrauma.csproj | 6 +- Subsurface/Content/Items/MiniMap/reactor.png | Bin 67203 -> 0 bytes Subsurface/Content/Items/Weapons/railgun.xml | 2 +- .../Content/Items/Weapons/railgunloader.png | Bin 2039 -> 26365 bytes Subsurface/Content/Map/StructurePrefabs.xml | 4 +- Subsurface/Content/Map/waypointIcons.png | Bin 0 -> 3641 bytes .../Animation/HumanoidAnimController.cs | 2 +- Subsurface/Source/DebugConsole.cs | 12 +- Subsurface/Source/Items/CharacterInventory.cs | 26 +-- Subsurface/Source/Items/Components/Door.cs | 29 ++- Subsurface/Source/Items/Components/Turret.cs | 18 ++ Subsurface/Source/Items/Item.cs | 13 +- Subsurface/Source/Map/Gap.cs | 29 ++- Subsurface/Source/Map/Hull.cs | 2 +- Subsurface/Source/Map/MapEntityPrefab.cs | 22 +- Subsurface/Source/Map/Submarine.cs | 2 +- Subsurface/Source/Map/WayPoint.cs | 198 ++++++++++++++---- Subsurface/Source/Screens/EditMapScreen.cs | 55 ++++- Subsurface/Source/Screens/GameScreen.cs | 2 +- Subsurface_Solution.v12.suo | Bin 842240 -> 811008 bytes 20 files changed, 316 insertions(+), 106 deletions(-) delete mode 100644 Subsurface/Content/Items/MiniMap/reactor.png create mode 100644 Subsurface/Content/Map/waypointIcons.png diff --git a/Subsurface/Barotrauma.csproj b/Subsurface/Barotrauma.csproj index a0285d8a9..8965cd2a0 100644 --- a/Subsurface/Barotrauma.csproj +++ b/Subsurface/Barotrauma.csproj @@ -632,6 +632,9 @@ PreserveNewest Designer + + PreserveNewest + PreserveNewest @@ -721,9 +724,6 @@ PreserveNewest - - PreserveNewest - PreserveNewest Designer diff --git a/Subsurface/Content/Items/MiniMap/reactor.png b/Subsurface/Content/Items/MiniMap/reactor.png deleted file mode 100644 index ab6d4d0e7ebdb280c7f275294b3f2433cc6397f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67203 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 diff --git a/Subsurface/Content/Items/Weapons/railgun.xml b/Subsurface/Content/Items/Weapons/railgun.xml index 7d0cbfa7f..ef3dfc35a 100644 --- a/Subsurface/Content/Items/Weapons/railgun.xml +++ b/Subsurface/Content/Items/Weapons/railgun.xml @@ -56,7 +56,7 @@ - + diff --git a/Subsurface/Content/Items/Weapons/railgunloader.png b/Subsurface/Content/Items/Weapons/railgunloader.png index 30992d88c0fe002228eda88c07b2a4260fba5290..76cbaf2dbb33f7872b8338b9c91626bb5b15d814 100644 GIT binary patch literal 26365 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 Qs{jB107*qoM6N<$f{4Pb%>V!Z literal 2039 zcmeAS@N?(olHy`uVBq!ia0y~yVB`j}>p7T!WclZUG$6%T9OUlAu`|M#!P(kVe+nn2>z{~7!L{aJkN^egWf4!f>p4>rnb z=`HWhCgbiEuQ-4c(MQgpSO?d>$jI*Gv7YXN|w11s+*Uk z>D~T0)#<^8|Rb!BVgS26!0N#yPU{q~% zD=#HDT%ZYFL7?RS(>vC$XGi LtDnm{r-UW|upZRM diff --git a/Subsurface/Content/Map/StructurePrefabs.xml b/Subsurface/Content/Map/StructurePrefabs.xml index 0c6384379..5850dcba4 100644 --- a/Subsurface/Content/Map/StructurePrefabs.xml +++ b/Subsurface/Content/Map/StructurePrefabs.xml @@ -76,8 +76,8 @@ - + diff --git a/Subsurface/Content/Map/waypointIcons.png b/Subsurface/Content/Map/waypointIcons.png new file mode 100644 index 0000000000000000000000000000000000000000..b6ceff9a231fad1968de80356ab01bd712dbdf8e GIT binary patch literal 3641 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 !wp.MoveWithLevel && wp.SpawnType == SpawnType.Path)==null) + { + DebugConsole.ThrowError("No waypoints found in the submarine. Did you forget to generate the waypoints?"); + } + + if (WayPoint.WayPointList.Find(wp => wp.SpawnType == SpawnType.Cargo) == null) + { + DebugConsole.ThrowError("The submarine doesn't have a waypoint marked as ''Cargo'', which are used for determining where to place bought items."); + } break; case "loadmap": case "loadsub": @@ -454,7 +464,7 @@ namespace Barotrauma //messages.Add(new ColoredText(msg, color)); - if (textBox != null && textBox.Text == "") selectedIndex = listBox.children.Count; + selectedIndex = listBox.children.Count; } public static void ThrowError(string error, Exception e = null) diff --git a/Subsurface/Source/Items/CharacterInventory.cs b/Subsurface/Source/Items/CharacterInventory.cs index 54d743620..aebb6ddc7 100644 --- a/Subsurface/Source/Items/CharacterInventory.cs +++ b/Subsurface/Source/Items/CharacterInventory.cs @@ -25,7 +25,7 @@ namespace Barotrauma LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any, LimbSlot.Any}; - private Vector2[] slotPositions; + public Vector2[] SlotPositions; public CharacterInventory(int capacity, Character character) : base(character, capacity) @@ -34,11 +34,11 @@ namespace Barotrauma if (icons == null) icons = TextureLoader.FromFile("Content/UI/inventoryIcons.png"); - slotPositions = new Vector2[limbSlots.Length]; + SlotPositions = new Vector2[limbSlots.Length]; int rectWidth = 40, rectHeight = 40; int spacing = 10; - for (int i = 0; i < slotPositions.Length; i++) + for (int i = 0; i < SlotPositions.Length; i++) { switch (i) { @@ -46,19 +46,19 @@ namespace Barotrauma case 0: case 1: case 2: - slotPositions[i] = new Vector2( + SlotPositions[i] = new Vector2( spacing, GameMain.GraphicsHeight - (spacing + rectHeight) * (3 - i)); break; //lefthand, righthand case 3: case 4: - slotPositions[i] = new Vector2( + SlotPositions[i] = new Vector2( spacing * 2 + rectWidth + (spacing + rectWidth) * (i - 3), GameMain.GraphicsHeight - (spacing + rectHeight)*3); break; default: - slotPositions[i] = new Vector2( + SlotPositions[i] = new Vector2( spacing * 2 + rectWidth + (spacing + rectWidth) * ((i - 3)%5), GameMain.GraphicsHeight - (spacing + rectHeight) * ((i>9) ? 2 : 1)); break; @@ -225,8 +225,8 @@ namespace Barotrauma for (int i = 0; i < capacity; i++) { - slotRect.X = (int)slotPositions[i].X; - slotRect.Y = (int)slotPositions[i].Y; + slotRect.X = (int)SlotPositions[i].X; + slotRect.Y = (int)SlotPositions[i].Y; if (i==1) //head { @@ -246,8 +246,8 @@ namespace Barotrauma for (int i = 0; i < capacity; i++) { - slotRect.X = (int)slotPositions[i].X; - slotRect.Y = (int)slotPositions[i].Y; + slotRect.X = (int)SlotPositions[i].X; + slotRect.Y = (int)SlotPositions[i].Y; bool multiSlot = false; //skip if the item is in multiple slots @@ -285,8 +285,8 @@ namespace Barotrauma //check if the item is in multiple slots if (Items[i] != null) { - slotRect.X = (int)slotPositions[i].X; - slotRect.Y = (int)slotPositions[i].Y; + slotRect.X = (int)SlotPositions[i].X; + slotRect.Y = (int)SlotPositions[i].Y; slotRect.Width = 40; slotRect.Height = 40; @@ -300,7 +300,7 @@ namespace Barotrauma { multiSlot = true; slotRect = Rectangle.Union( - new Rectangle((int)slotPositions[n].X, (int)slotPositions[n].Y, rectWidth, rectHeight), slotRect); + new Rectangle((int)SlotPositions[n].X, (int)SlotPositions[n].Y, rectWidth, rectHeight), slotRect); } } } diff --git a/Subsurface/Source/Items/Components/Door.cs b/Subsurface/Source/Items/Components/Door.cs index 356b1ad31..76f148d05 100644 --- a/Subsurface/Source/Items/Components/Door.cs +++ b/Subsurface/Source/Items/Components/Door.cs @@ -13,12 +13,12 @@ namespace Barotrauma.Items.Components { class Door : ItemComponent { - Gap linkedGap; + private Gap linkedGap; - Rectangle window; + private Rectangle window; - ConvexHull convexHull; - ConvexHull convexHull2; + private ConvexHull convexHull; + private ConvexHull convexHull2; private bool isOpen; @@ -45,7 +45,7 @@ namespace Barotrauma.Items.Components } } - Gap LinkedGap + public Gap LinkedGap { get { @@ -139,7 +139,7 @@ namespace Barotrauma.Items.Components doorRect = new Rectangle( item.Rect.Center.X - (int)(doorSprite.size.X / 2), - item.Rect.Y, + item.Rect.Y - item.Rect.Height/2 + (int)(doorSprite.size.Y / 2.0f), (int)doorSprite.size.X, (int)doorSprite.size.Y); @@ -165,24 +165,23 @@ namespace Barotrauma.Items.Components private void UpdateConvexHulls() { Rectangle rect = doorRect; - - rect.Height = (int)(rect.Height * (1.0f - openState)); - if (window.Height == 0 || window.Width == 0) + if (isHorizontal) { - + rect.Width = (int)(rect.Width * (1.0f - openState)); } else { - //Rectangle rect = item.Rect; - //rect.Height = (int)(rect.Height * (1.0f - openState)); + rect.Height = (int)(rect.Height * (1.0f - openState)); + } + if (window.Height > 0 && window.Width > 0) + { rect.Height = -window.Y; rect.Y += (int)(doorRect.Height * openState); rect.Height = Math.Max(rect.Height - (rect.Y - doorRect.Y), 0); rect.Y = Math.Min(doorRect.Y, rect.Y); - if (convexHull2 != null) { Rectangle rect2 = doorRect; @@ -395,8 +394,8 @@ namespace Barotrauma.Items.Components if (isHorizontal) { - l.body.SetTransform(new Vector2(l.SimPosition.X, item.SimPosition.Y + dir * simSize.Y * 1.2f), l.body.Rotation); - l.body.ApplyLinearImpulse(new Vector2(isOpen ? 0.0f : 1.0f, dir * 0.5f)); + l.body.SetTransform(new Vector2(l.SimPosition.X, item.SimPosition.Y + dir * simSize.Y * 2.0f), l.body.Rotation); + l.body.ApplyLinearImpulse(new Vector2(isOpen ? 0.0f : 1.0f, dir * 2.0f)); } else { diff --git a/Subsurface/Source/Items/Components/Turret.cs b/Subsurface/Source/Items/Components/Turret.cs index d0bd5514b..ce1f197fe 100644 --- a/Subsurface/Source/Items/Components/Turret.cs +++ b/Subsurface/Source/Items/Components/Turret.cs @@ -89,6 +89,24 @@ namespace Barotrauma.Items.Components drawPos + barrelPos, Color.White, rotation + MathHelper.PiOver2, 1.0f, SpriteEffects.None, item.Sprite.Depth+0.01f); + + if (!editing) return; + + GUI.DrawLine(spriteBatch, + drawPos + barrelPos, + drawPos + barrelPos + new Vector2((float)Math.Cos(minRotation), (float)Math.Sin(minRotation))*60.0f, + Color.Green); + + GUI.DrawLine(spriteBatch, + drawPos + barrelPos, + drawPos + barrelPos + new Vector2((float)Math.Cos(maxRotation), (float)Math.Sin(maxRotation)) * 60.0f, + Color.Green); + + GUI.DrawLine(spriteBatch, + drawPos + barrelPos, + drawPos + barrelPos + new Vector2((float)Math.Cos((maxRotation + minRotation) / 2), (float)Math.Sin((maxRotation + minRotation) / 2)) * 60.0f, + Color.LightGreen); + } public override void Update(float deltaTime, Camera cam) diff --git a/Subsurface/Source/Items/Item.cs b/Subsurface/Source/Items/Item.cs index 626a4274b..24e97da19 100644 --- a/Subsurface/Source/Items/Item.cs +++ b/Subsurface/Source/Items/Item.cs @@ -908,8 +908,8 @@ namespace Barotrauma transformedTrigger.X + transformedTrigger.Width / 2.0f, transformedTrigger.Y - transformedTrigger.Height / 2.0f); - dist = MathHelper.Min(Math.Abs(triggerCenter.X - displayPos.X), Math.Abs(triggerCenter.Y-displayPos.Y)); - if (dist > closestDist && closest!=null) continue; + //dist = MathHelper.Min(Math.Abs(triggerCenter.X - displayPos.X), Math.Abs(triggerCenter.Y-displayPos.Y)); + //if (dist > closestDist && closest!=null) continue; dist = MathHelper.Min(Math.Abs(triggerCenter.X - displayPickPos.X), Math.Abs(triggerCenter.Y - displayPickPos.Y)); if (closest == null || dist < closestDist) @@ -951,6 +951,13 @@ namespace Barotrauma return false; } + public bool IsInPickRange(Vector2 worldPosition) + { + if (IsInsideTrigger(worldPosition)) return true; + + return Vector2.Distance(WorldPosition, worldPosition) < PickDistance; + } + public bool Pick(Character picker, bool ignoreRequiredItems=false, bool forceSelectKey=false, bool forceActionKey=false) { @@ -1019,7 +1026,7 @@ namespace Barotrauma picker.SelectedConstruction = this; } - if (!hasRequiredSkills && Character.Controlled==picker) + if (!hasRequiredSkills && Character.Controlled==picker && Screen.Selected != GameMain.EditMapScreen) { GUI.AddMessage("Your skills may be insufficient to use the item!", Color.Red, 5.0f); if (requiredSkill != null) diff --git a/Subsurface/Source/Map/Gap.cs b/Subsurface/Source/Map/Gap.cs index a40fb0849..94319dd21 100644 --- a/Subsurface/Source/Map/Gap.cs +++ b/Subsurface/Source/Map/Gap.cs @@ -67,7 +67,7 @@ namespace Barotrauma } } - public Gap(Rectangle rectangle) + public Gap(MapEntityPrefab prefab, Rectangle rectangle) : this (rectangle, Submarine.Loaded) { } @@ -225,7 +225,6 @@ namespace Barotrauma soundIndex = SoundPlayer.flowSounds[index].Loop(soundIndex, soundVolume, WorldPosition, 2000.0f); flowForce = Vector2.Zero; - lerpedFlowForce = Vector2.Lerp(lerpedFlowForce, flowForce, 0.05f); if (open == 0.0f) return; @@ -242,7 +241,9 @@ namespace Barotrauma UpdateRoomToRoom(deltaTime); } - if (LerpedFlowForce.Length() > 150.0f && flowTargetHull != null && flowTargetHull.Volume < flowTargetHull.FullVolume) + lerpedFlowForce = Vector2.Lerp(lerpedFlowForce, flowForce, deltaTime*2.0f); + + if (LerpedFlowForce.Length() > 100.0f && flowTargetHull != null && flowTargetHull.Volume < flowTargetHull.FullVolume) { //UpdateFlowForce(); @@ -256,8 +257,10 @@ namespace Barotrauma MathHelper.Clamp(flowForce.X, -5000.0f, 5000.0f) * Rand.Range(0.5f, 0.7f), flowForce.Y * Rand.Range(0.5f, 0.7f)); - var particle = GameMain.ParticleManager.CreateParticle("watersplash", - new Vector2(pos.X, pos.Y - Rand.Range(0.0f, 10.0f)), velocity); + var particle = GameMain.ParticleManager.CreateParticle( + "watersplash", + (Submarine.Loaded==null ? pos : pos + Submarine.Loaded.Position) - Vector2.UnitY * Rand.Range(0.0f, 10.0f), + velocity); if (particle != null) { @@ -266,7 +269,10 @@ namespace Barotrauma pos.Y = Rand.Range(lowerSurface, rect.Y - rect.Height); - GameMain.ParticleManager.CreateParticle("bubbles", pos, flowForce / 200.0f); + GameMain.ParticleManager.CreateParticle( + "bubbles", + Submarine.Loaded==null ? pos : pos + Submarine.Loaded.Position, + flowForce / 200.0f); } else { @@ -278,13 +284,18 @@ namespace Barotrauma Vector2 velocity = new Vector2( flowForce.X * Rand.Range(0.5f, 0.7f), Math.Max(flowForce.Y,-100.0f) * Rand.Range(0.5f, 0.7f)); - - var splash = GameMain.ParticleManager.CreateParticle("watersplash", pos, + + var splash = GameMain.ParticleManager.CreateParticle( + "watersplash", + Submarine.Loaded == null ? pos : pos + Submarine.Loaded.Position, velocity); if (splash != null) splash.Size = splash.Size * MathHelper.Clamp(rect.Width / 50.0f, 0.8f, 4.0f); - GameMain.ParticleManager.CreateParticle("bubbles", pos, flowForce / 2.0f); + GameMain.ParticleManager.CreateParticle( + "bubbles", + Submarine.Loaded == null ? pos : pos + Submarine.Loaded.Position, + flowForce / 2.0f); } } diff --git a/Subsurface/Source/Map/Hull.cs b/Subsurface/Source/Map/Hull.cs index 91dac09e2..21b4dd180 100644 --- a/Subsurface/Source/Map/Hull.cs +++ b/Subsurface/Source/Map/Hull.cs @@ -136,7 +136,7 @@ namespace Barotrauma get { return fireSources; } } - public Hull(Rectangle rectangle) + public Hull(MapEntityPrefab prefab, Rectangle rectangle) : this (rectangle, Submarine.Loaded) { diff --git a/Subsurface/Source/Map/MapEntityPrefab.cs b/Subsurface/Source/Map/MapEntityPrefab.cs index 8c0f35697..3a387a439 100644 --- a/Subsurface/Source/Map/MapEntityPrefab.cs +++ b/Subsurface/Source/Map/MapEntityPrefab.cs @@ -89,25 +89,31 @@ namespace Barotrauma public static void Init() { MapEntityPrefab ep = new MapEntityPrefab(); - ep.name = "hull"; + ep.name = "Hull"; ep.Description = "Hulls determine which parts are considered to be ''inside the sub''. Generally every room should be enclosed by a hull."; - ep.constructor = typeof(Hull).GetConstructor(new Type[] { typeof(Rectangle) }); + ep.constructor = typeof(Hull).GetConstructor(new Type[] { typeof(MapEntityPrefab), typeof(Rectangle) }); ep.resizeHorizontal = true; ep.resizeVertical = true; list.Add(ep); ep = new MapEntityPrefab(); - ep.name = "gap"; + ep.name = "Gap"; ep.Description = "Gaps allow water and air to flow between two hulls. "; - ep.constructor = typeof(Gap).GetConstructor(new Type[] { typeof(Rectangle) }); + ep.constructor = typeof(Gap).GetConstructor(new Type[] { typeof(MapEntityPrefab), typeof(Rectangle) }); ep.resizeHorizontal = true; ep.resizeVertical = true; list.Add(ep); ep = new MapEntityPrefab(); - ep.name = "waypoint"; - ep.constructor = typeof(WayPoint).GetConstructor(new Type[] { typeof(Rectangle) }); + ep.name = "Waypoint"; + ep.constructor = typeof(WayPoint).GetConstructor(new Type[] { typeof(MapEntityPrefab), typeof(Rectangle) }); list.Add(ep); + + ep = new MapEntityPrefab(); + ep.name = "Spawnpoint"; + ep.constructor = typeof(WayPoint).GetConstructor(new Type[] { typeof(MapEntityPrefab), typeof(Rectangle) }); + list.Add(ep); + } @@ -121,7 +127,7 @@ namespace Barotrauma GUI.DrawLine(spriteBatch, new Vector2(position.X-GameMain.GraphicsWidth, -position.Y), new Vector2(position.X+GameMain.GraphicsWidth, -position.Y), Color.White); - GUI.DrawLine(spriteBatch, new Vector2(position.X, position.Y - GameMain.GraphicsHeight), new Vector2(position.X, position.Y+GameMain.GraphicsHeight), Color.White); + GUI.DrawLine(spriteBatch, new Vector2(position.X, -(position.Y - GameMain.GraphicsHeight)), new Vector2(position.X, -(position.Y + GameMain.GraphicsHeight)), Color.White); if (PlayerInput.GetMouseState.LeftButton == ButtonState.Pressed) placePosition = position; } @@ -138,7 +144,7 @@ namespace Barotrauma if (PlayerInput.GetMouseState.LeftButton == ButtonState.Released) { - object[] lobject = new object[] { newRect }; + object[] lobject = new object[] { this, newRect }; constructor.Invoke(lobject); placePosition = Vector2.Zero; selected = null; diff --git a/Subsurface/Source/Map/Submarine.cs b/Subsurface/Source/Map/Submarine.cs index b131c78da..6c296645e 100644 --- a/Subsurface/Source/Map/Submarine.cs +++ b/Subsurface/Source/Map/Submarine.cs @@ -673,7 +673,7 @@ namespace Barotrauma MapEntity.MapLoaded(); - WayPoint.GenerateSubWaypoints(); + //WayPoint.GenerateSubWaypoints(); GameMain.LightManager.OnMapLoaded(); diff --git a/Subsurface/Source/Map/WayPoint.cs b/Subsurface/Source/Map/WayPoint.cs index 0408d8360..86f631785 100644 --- a/Subsurface/Source/Map/WayPoint.cs +++ b/Subsurface/Source/Map/WayPoint.cs @@ -8,17 +8,22 @@ using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using System.Collections.ObjectModel; using Barotrauma.Items.Components; +using FarseerPhysics.Dynamics; namespace Barotrauma { - public enum SpawnType { None, Human, Enemy, Cargo, Path }; + public enum SpawnType { Path, Human, Enemy, Cargo }; class WayPoint : MapEntity { public static List WayPointList = new List(); public static bool ShowWayPoints = true, ShowSpawnPoints = true; - private SpawnType spawnType; + private static Texture2D iconTexture; + private const int IconSize = 32; + private static int[] iconIndices = { 3, 0, 1, 2 }; + + protected SpawnType spawnType; //characters spawning at the waypoint will be given an ID card with these tags private string[] idCardTags; @@ -47,13 +52,13 @@ namespace Barotrauma set { spawnType = value; } } - public override string Name - { - get - { - return "WayPoint"; - } - } + //public override string Name + //{ + // get + // { + // return spawnType == SpawnType.Path ? "WayPoint" : "SpawnPoint"; + // } + //} public string[] IdCardTags { @@ -75,9 +80,18 @@ namespace Barotrauma ConnectedGap = gap; } - public WayPoint(Rectangle rectangle) + public WayPoint(MapEntityPrefab prefab, Rectangle rectangle) : this (rectangle, Submarine.Loaded) - { } + { + if (prefab.Name.Contains("Spawn")) + { + spawnType = SpawnType.Human; + } + else + { + SpawnType = SpawnType.Path; + } + } public WayPoint(Rectangle newRect, Submarine submarine) : base (submarine) @@ -86,6 +100,11 @@ namespace Barotrauma linkedTo = new ObservableCollection(); idCardTags = new string[0]; + if (iconTexture==null) + { + iconTexture = Sprite.LoadTexture("Content/Map/waypointIcons.png"); + } + InsertToList(); WayPointList.Add(this); @@ -105,19 +124,31 @@ namespace Barotrauma if (IsHidden()) return; - Rectangle drawRect = - Submarine == null ? rect : new Rectangle((int)(Submarine.DrawPosition.X + rect.X), (int)(Submarine.DrawPosition.Y + rect.Y), rect.Width, rect.Height); + //Rectangle drawRect = + // Submarine == null ? rect : new Rectangle((int)(Submarine.DrawPosition.X + rect.X), (int)(Submarine.DrawPosition.Y + rect.Y), rect.Width, rect.Height); + Vector2 drawPos = Position; + if (Submarine!=null) drawPos += Submarine.DrawPosition; + drawPos.Y = -drawPos.Y; - Color clr = (isSelected) ? Color.Red : Color.LightGreen; - GUI.DrawRectangle(spriteBatch, new Rectangle(drawRect.X, -drawRect.Y, rect.Width, rect.Height), clr, true); + Color clr = (isSelected) ? Color.Red : Color.White; + if (isHighlighted) clr = Color.DarkRed; + + int iconX = iconIndices[(int)spawnType]*IconSize % iconTexture.Width; + int iconY = (int)(Math.Floor(iconIndices[(int)spawnType]*IconSize / (float)iconTexture.Width))*IconSize; + + spriteBatch.Draw(iconTexture, + new Rectangle((int)(drawPos.X - IconSize/2), (int)(drawPos.Y - IconSize/2), IconSize, IconSize), + new Rectangle(iconX, iconY, IconSize,IconSize), clr); + + //GUI.DrawRectangle(spriteBatch, new Rectangle(drawRect.X, -drawRect.Y, rect.Width, rect.Height), clr, true); //spriteBatch.DrawString(GUI.SmallFont, Position.ToString(), new Vector2(Position.X, -Position.Y), Color.White); foreach (MapEntity e in linkedTo) { GUI.DrawLine(spriteBatch, - new Vector2(drawRect.X+rect.Width/2.0f, -drawRect.Y+rect.Height/2.0f), + drawPos, new Vector2(e.DrawPosition.X, -e.DrawPosition.Y), Color.Green); } @@ -167,8 +198,8 @@ namespace Barotrauma spawnType += (int)button.UserData; - if (spawnType > SpawnType.Cargo) spawnType = SpawnType.None; - if (spawnType < SpawnType.None) spawnType = SpawnType.Enemy; + if (spawnType > SpawnType.Path) spawnType = SpawnType.Human; + if (spawnType < SpawnType.Human) spawnType = SpawnType.Path; spawnTypeText.Text = spawnType.ToString(); @@ -179,7 +210,7 @@ namespace Barotrauma { IdCardTags = text.Split(','); textBox.Text = text; - textBox.Color = Color.White; + textBox.Color = Color.Green; return true; } @@ -191,7 +222,7 @@ namespace Barotrauma if (assignedJob !=null && trimmedName!="none") { - textBox.Color = Color.White; + textBox.Color = Color.Green; textBox.Text = (assignedJob == null) ? "None" : assignedJob.Name; } @@ -378,16 +409,59 @@ namespace Barotrauma ladderPoints[1] = new WayPoint(new Vector2(item.Rect.Center.X, item.Rect.Y-1.0f), SpawnType.Path, Submarine.Loaded); - WayPoint prevPoint = ladderPoints[0]; - for (float y = ladderPoints[0].Position.Y+100.0f; y < ladderPoints[1].Position.Y; y+=100.0f ) - { - var midPoint = new WayPoint(new Vector2(item.Rect.Center.X, y), SpawnType.Path, Submarine.Loaded); - midPoint.Ladders = ladders; - midPoint.ConnectTo(prevPoint); - prevPoint = midPoint; + + WayPoint prevPoint = ladderPoints[0]; + Vector2 prevPos = prevPoint.SimPosition; + + List ignoredBodies = new List(); + + while (prevPoint != ladderPoints[1]) + { + var pickedBody = Submarine.PickBody(prevPos, ladderPoints[1].SimPosition, ignoredBodies); + + if (pickedBody == null) break; + + ignoredBodies.Add(pickedBody); + + if (pickedBody.UserData is Item) + { + var door = (pickedBody.UserData as Item).GetComponent(); + if (door != null) + { + WayPoint newPoint = new WayPoint(door.Item.Position, SpawnType.Path, Submarine.Loaded); + newPoint.ConnectedGap = door.LinkedGap; + + newPoint.ConnectTo(prevPoint); + + prevPoint = newPoint; + + prevPos = ConvertUnits.ToSimUnits(door.Item.Position - Vector2.UnitY * door.Item.Rect.Height); + } + else + { + prevPos = Submarine.LastPickedPosition; + } + } + else + { + prevPos = Submarine.LastPickedPosition; + } } - ladderPoints[1].ConnectTo(prevPoint); + + prevPoint.ConnectTo(ladderPoints[1]); + + + + //for (float y = ladderPoints[0].Position.Y+100.0f; y < ladderPoints[1].Position.Y; y+=100.0f ) + //{ + // var midPoint = new WayPoint(new Vector2(item.Rect.Center.X, y), SpawnType.Path, Submarine.Loaded); + // midPoint.Ladders = ladders; + + // midPoint.ConnectTo(prevPoint); + // prevPoint = midPoint; + //} + //ladderPoints[1].ConnectTo(prevPoint); for (int i = 0; i < 2; i++) { @@ -395,13 +469,13 @@ namespace Barotrauma for (int dir = -1; dir <= 1; dir += 2) { - WayPoint closest = ladderPoints[i].FindClosest(dir, true, new Vector2(-100.0f, 0f)); + WayPoint closest = ladderPoints[i].FindClosest(dir, true, new Vector2(-150.0f, 10f)); if (closest == null) continue; ladderPoints[i].ConnectTo(closest); } } - ladderPoints[0].ConnectTo(ladderPoints[1]); + //ladderPoints[0].ConnectTo(ladderPoints[1]); } foreach (Gap gap in Gap.GapList) @@ -423,6 +497,24 @@ namespace Barotrauma } } + foreach (Gap gap in Gap.GapList) + { + if (gap.isHorizontal || gap.IsRoomToRoom) continue; + + //too small to walk through + if (gap.Rect.Width < 100.0f) continue; + + var wayPoint = new WayPoint( + new Vector2(gap.Rect.Center.X, gap.Rect.Y - gap.Rect.Height/2), SpawnType.Path, Submarine.Loaded, gap); + + for (int dir = -1; dir <= 1; dir += 2) + { + WayPoint closest = wayPoint.FindClosest(dir, false, new Vector2(-outSideWaypointInterval, outSideWaypointInterval) / 2.0f); + if (closest == null) continue; + wayPoint.ConnectTo(closest); + } + } + var orphans = WayPointList.FindAll(w => w.spawnType == SpawnType.Path && !w.linkedTo.Any()); foreach (WayPoint wp in orphans) @@ -438,27 +530,37 @@ namespace Barotrauma float closestDist = 0.0f; WayPoint closest = null; - if (horizontalSearch) - { + foreach (WayPoint wp in WayPointList) { if (wp.SpawnType != SpawnType.Path || wp == this) continue; - if ((wp.Position.Y - Position.Y) < tolerance.X || (wp.Position.Y - Position.Y) > tolerance.Y) continue; + float diff = 0.0f; + if (horizontalSearch) + { + if ((wp.Position.Y - Position.Y) < tolerance.X || (wp.Position.Y - Position.Y) > tolerance.Y) continue; + + diff = wp.Position.X - Position.X; + } + else + { + if ((wp.Position.X - Position.X) < tolerance.X || (wp.Position.X - Position.X) > tolerance.Y) continue; + + diff = wp.Position.Y - Position.Y; + } - float diff = wp.Position.X - Position.X; if (Math.Sign(diff) != dir) continue; - diff = Math.Abs(diff); - if (closest == null || diff < closestDist) + float dist = Vector2.Distance(wp.Position, Position); + if (closest == null || dist < closestDist) { if (Submarine.CheckVisibility(SimPosition, wp.SimPosition) != null) continue; - closestDist = diff; + closestDist = dist; closest = wp; } } - } + return closest; } @@ -469,13 +571,13 @@ namespace Barotrauma if (!wayPoint2.linkedTo.Contains(this)) wayPoint2.linkedTo.Add(this); } - public static WayPoint GetRandom(SpawnType spawnType = SpawnType.None, Job assignedJob = null) + public static WayPoint GetRandom(SpawnType spawnType = SpawnType.Human, Job assignedJob = null) { List wayPoints = new List(); foreach (WayPoint wp in WayPointList) { - if (spawnType != SpawnType.None && wp.spawnType != spawnType) continue; + if (wp.spawnType != spawnType) continue; if (assignedJob != null && wp.assignedJob != assignedJob.Prefab) continue; wayPoints.Add(wp); @@ -525,6 +627,16 @@ namespace Barotrauma if (assignedWayPoints[i] != null) continue; + //try to assign a spawnpoint that isn't meant for any specific job + var nonJobSpecificPoints = WayPointList.FindAll(wp => wp.spawnType == SpawnType.Human && wp.assignedJob == null); + + if (nonJobSpecificPoints.Any()) + { + assignedWayPoints[i] = nonJobSpecificPoints[Rand.Int(nonJobSpecificPoints.Count, false)]; + } + + if (assignedWayPoints[i] != null) continue; + //everything else failed -> just give a random spawnpoint assignedWayPoints[i] = GetRandom(SpawnType.Human); } @@ -548,7 +660,7 @@ namespace Barotrauma public override XElement Save(XDocument doc) { - if (MoveWithLevel || spawnType == SpawnType.Path) return null; + if (MoveWithLevel) return null; XElement element = new XElement("WayPoint"); element.Add(new XAttribute("ID", ID), @@ -591,8 +703,8 @@ namespace Barotrauma WayPoint w = new WayPoint(rect, submarine); w.ID = (ushort)int.Parse(element.Attribute("ID").Value); - w.spawnType = (SpawnType)Enum.Parse(typeof(SpawnType), - ToolBox.GetAttributeString(element, "spawn", "None")); + + Enum.TryParse(ToolBox.GetAttributeString(element, "spawn", "Path"), out w.spawnType); string idCardTagString = ToolBox.GetAttributeString(element, "idcardtags", ""); if (!string.IsNullOrWhiteSpace(idCardTagString)) diff --git a/Subsurface/Source/Screens/EditMapScreen.cs b/Subsurface/Source/Screens/EditMapScreen.cs index 650c24576..8f7159628 100644 --- a/Subsurface/Source/Screens/EditMapScreen.cs +++ b/Subsurface/Source/Screens/EditMapScreen.cs @@ -2,6 +2,7 @@ using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using System; +using System.Linq; namespace Barotrauma { @@ -16,6 +17,9 @@ namespace Barotrauma private GUITextBox nameBox; + const int PreviouslyUsedCount = 10; + private GUIListBox previouslyUsedList; + //a Character used for picking up and manipulating items private Character dummyCharacter; @@ -161,9 +165,7 @@ namespace Barotrauma y+=50; new GUITextBlock(new Rectangle(0, y, 0, 20), "Show:", GUI.Style, GUIpanel); - - - + var tickBox = new GUITickBox(new Rectangle(0,y+20,20,20), "Waypoints", Alignment.TopLeft, GUIpanel); tickBox.OnSelected = (GUITickBox obj) => { WayPoint.ShowWayPoints = !WayPoint.ShowWayPoints; return true; }; tickBox.Selected = true; @@ -180,6 +182,16 @@ namespace Barotrauma tickBox.OnSelected = (GUITickBox obj) => { Gap.ShowGaps = !Gap.ShowGaps; return true; }; tickBox.Selected = true; + y+=150; + + if (y < GameMain.GraphicsHeight - 100) + { + new GUITextBlock(new Rectangle(0, y, 0, 15), "Previously used:", GUI.Style, GUIpanel); + + previouslyUsedList = new GUIListBox(new Rectangle(0, y + 15, 0, Math.Min(GameMain.GraphicsHeight - y - 40, 150)), GUI.Style, GUIpanel); + previouslyUsedList.OnSelected = SelectPrefab; + } + } public void StartTutorial() @@ -230,6 +242,12 @@ namespace Barotrauma if (dummyCharacter != null) dummyCharacter.Remove(); dummyCharacter = Character.Create(Character.HumanConfigFile, Vector2.Zero); + + for (int i = 0; i15) + { + name = name.Substring(0,12)+"..."; + } + + var textBlock = new GUITextBlock(new Rectangle(0,0,0,15), name, GUI.Style, previouslyUsedList); + textBlock.UserData = mapEntityPrefab; + + previouslyUsedList.RemoveChild(textBlock); + previouslyUsedList.children.Insert(0, textBlock); + } + /// /// Allows the game to run logic such as updating the world, diff --git a/Subsurface/Source/Screens/GameScreen.cs b/Subsurface/Source/Screens/GameScreen.cs index fa243281d..6d5967165 100644 --- a/Subsurface/Source/Screens/GameScreen.cs +++ b/Subsurface/Source/Screens/GameScreen.cs @@ -191,7 +191,7 @@ namespace Barotrauma { Character.Controlled.SelectedConstruction.DrawHUD(spriteBatch, Character.Controlled); } - else + else if (!Character.Controlled.SelectedConstruction.IsInPickRange(Character.Controlled.WorldPosition)) { Character.Controlled.SelectedConstruction = null; } diff --git a/Subsurface_Solution.v12.suo b/Subsurface_Solution.v12.suo index 9e3968bcbd4f0c3620d7fb84c2fe9da322d348ed..4e061f5255d16e47ca2b05bdce7c54019326d472 100644 GIT binary patch delta 14111 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 delta 15903 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