From 5a1f55ade547ecb57f08f4bcc99ebffdb665598c Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 5 Apr 2019 16:16:26 +0300 Subject: [PATCH] (9cf9078c7) Changelog additions --- .../Source/GameSession/CrewManager.cs | 17 ++-- .../Source/Items/Components/ItemComponent.cs | 79 +++++++++++++++++++ Barotrauma/BarotraumaShared/changelog.txt | 38 ++++++++- 3 files changed, 123 insertions(+), 11 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs index 736783e38..132a7cfc6 100644 --- a/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs +++ b/Barotrauma/BarotraumaClient/Source/GameSession/CrewManager.cs @@ -60,12 +60,19 @@ namespace Barotrauma public CrewManager(XElement element, bool isSinglePlayer) : this(isSinglePlayer) + { + return characterListBox.Rect; + } + + partial void InitProjectSpecific() { guiFrame = new GUIFrame(new RectTransform(Vector2.One, GUICanvas.Instance), null, Color.Transparent) { CanBeFocused = false }; + Point scrollButtonSize = new Point((int)(200 * GUI.Scale), (int)(30 * GUI.Scale)); + var characterInfo = new CharacterInfo(subElement); characterInfos.Add(characterInfo); foreach (XElement invElement in subElement.Elements()) @@ -125,16 +132,6 @@ namespace Barotrauma prevUIScale = GUI.Scale; } - - #endregion - - #region Character list management - - public Rectangle GetCharacterListArea() - { - return characterListBox.Rect; - } - partial void InitProjectSpecific() { guiFrame = new GUIFrame(new RectTransform(Vector2.One, GUICanvas.Instance), null, Color.Transparent) diff --git a/Barotrauma/BarotraumaClient/Source/Items/Components/ItemComponent.cs b/Barotrauma/BarotraumaClient/Source/Items/Components/ItemComponent.cs index e5c8ea551..5cd9780b0 100644 --- a/Barotrauma/BarotraumaClient/Source/Items/Components/ItemComponent.cs +++ b/Barotrauma/BarotraumaClient/Source/Items/Components/ItemComponent.cs @@ -234,6 +234,85 @@ namespace Barotrauma.Items.Components private set; } + private bool useAlternativeLayout; + public bool UseAlternativeLayout + { + get { return useAlternativeLayout; } + set + { + if (AlternativeLayout != null) + { + if (value == useAlternativeLayout) { return; } + useAlternativeLayout = value; + if (useAlternativeLayout) + { + AlternativeLayout?.ApplyTo(GuiFrame.RectTransform); + } + else + { + DefaultLayout?.ApplyTo(GuiFrame.RectTransform); + } + } + } + + public void ApplyTo(RectTransform target) + { + if (RelativeOffset.HasValue) + { + target.RelativeOffset = RelativeOffset.Value; + } + else if (AbsoluteOffset.HasValue) + { + target.AbsoluteOffset = AbsoluteOffset.Value; + } + if (RelativeSize.HasValue) + { + target.RelativeSize = RelativeSize.Value; + } + else if (AbsoluteSize.HasValue) + { + target.NonScaledSize = AbsoluteSize.Value; + } + if (Anchor.HasValue) + { + target.Anchor = Anchor.Value; + } + if (Pivot.HasValue) + { + target.Pivot = Pivot.Value; + } + else + { + target.Pivot = RectTransform.MatchPivotToAnchor(target.Anchor); + } + target.RecalculateChildren(true, true); + } + } + + public GUIFrame GuiFrame { get; protected set; } + + [Serialize(false, false)] + public bool AllowUIOverlap + { + get; + set; + } + + private ItemComponent linkToUIComponent; + [Serialize("", false)] + public string LinkUIToComponent + { + get; + set; + } + + [Serialize(0, false)] + public int HudPriority + { + get; + private set; + } + private bool shouldMuffleLooping; private float lastMuffleCheckTime; private ItemSound loopingSound; diff --git a/Barotrauma/BarotraumaShared/changelog.txt b/Barotrauma/BarotraumaShared/changelog.txt index 57dd2b6ab..a9d783885 100644 --- a/Barotrauma/BarotraumaShared/changelog.txt +++ b/Barotrauma/BarotraumaShared/changelog.txt @@ -7,6 +7,14 @@ Additions and changes: items are used on devices by pressing E (e.g. when rewiring with a screwdriver or repairing something with a wrench). The new controls are somewhat experimental; the intention is to make them more intuitive to new players. You can still switch back to the legacy control scheme from the game settings. +- Set default radio chat keybind to R and creature attack keybind to Mouse3. +- MODDERS, PLEASE NOTE: Moved crafting recipes from the fabricator xml to the xmls of the items. Makes it +possible for modders to add new craftable items without having to modify the fabricators. +- Some menu layout improvements. +- Camera movement is disabled completely when an item interface is open (not just when the cursor is on +the interface). +- Option to disable the camera pan/zoom effects from the game settings. +- Allow aiming on ladders when not moving. - Characters play Entrance of the Gladiators on the guitar when wearing a clown mask. - Display a warning on the status monitor when docked to an outpost ("Docked to X, undock before attempting to maneuver the submarine"). @@ -18,6 +26,25 @@ specific permissions to all clients. - Ping direction is shown on the sonar display when adjusting the direction slider even if directional ping is not enabled. - Tweaked charybdis' AI, attacks and animations. +- Nuclear explosions cause radiation sickness. +- Reduced structure damage done by reactor explosions. +- Higher-resolution submarine preview images. +- Added a notification that tells where cargo spawns at the start of a round. +- Let the camera zoom out further when controlling a large monster. +- Added a longer delay to getting killed by pressure (5 seconds in max pressure). +- Made the pressure-zoom-in effect appear as soon as the pressure in a room starts to rise. +- Added blood particle effects when under high pressure. +- Some optimization to reduce loading times. +- Added a search bar to fabricators. +- Increased the range of docking port sounds and added a subtle camera shake when locking the ports to make +it more noticeable when a sub docks. +- Made all new medical items fabricable. +- Automatically put the currently equipped item in the inventory (no matter if it's one or two handed) when +picking up items that require two hands. +- Job preferences can be edited mid-round in the info menu. +- Slightly reduced the amount of oxygen characters consume from hulls. +- Enemies don't attack outposts or targets inside it anymore. + Multiplayer fixes: - Fixed characters retaining the last known inputs when a client disconnects, causing the character to @@ -29,7 +56,10 @@ at their end. items). Fixes "received a position update for an item with no physics body" console errors when attaching items to walls. - Fixed spectate button staying visible when a round ends while a client is in the lobby. -- Fixed remote characters sliding slowly to the left in multiplayer. +- Fixed remote characters sliding slowly to the left client-side when standing in place. +- Fixed server creating "attempted to create a network event for an item that hasn't been fully initialized +yet" console errors when spawning LightComponents mid-round. +- Fixes monsters flipping around way too often client-side (especially when inside the sub). Bugfixes: - Fixed wire connections that have been done mid-round not working properly. @@ -37,12 +67,18 @@ Bugfixes: - Fixed linked subs not getting docked correctly when loading a saved game. - Fixed turrets not working if they're placed inside the submarine. - Fixed calyxanide not being usable in syringe guns. +- Explosive harpoons disappear after exploding. - Emptying the "required items" field of an item in the sub editor now removes the item requirements (instead of using the default ones). +- Fixed crashing if a fabricator finishes creating an item after the user has been removed (e.g. eaten). +- Fixed crashing if none of the selected content packages contain location portraits suitable for the main menu. +- Fixed projectiles not applying status effects on impact if they have no attack defined. - Fixed thorium rods not being usable in the reactor. - Conditionals return a match when checking status tag inequality and the target has no status tags (e.g. checking if a character doesn't have a StatusEffect with a "poison" tag returns true even if the character has no active StatusEffects). +- Fixed severed limbs occasionally noclipping into the submarine. +- Fixed large engine emitting smoke before it becomes repairable. --------------------------------------------------------------------------------------------------------- v0.8.9.8