diff --git a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/CaptainTutorial.cs b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/CaptainTutorial.cs index c4ec80301..76cb87ce0 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/CaptainTutorial.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/CaptainTutorial.cs @@ -104,7 +104,7 @@ namespace Barotrauma.Tutorials foreach (Item item in captain.Inventory.AllItemsMod) { - if (item.HasTag("identitycard") || item.HasTag("headset")) { continue; } + if (item.HasTag("identitycard") || item.HasTag("mobileradio")) { continue; } item.Unequip(captain); captain.Inventory.RemoveItem(item); } diff --git a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/DoctorTutorial.cs b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/DoctorTutorial.cs index ff73b2f00..41a8238bd 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/DoctorTutorial.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/DoctorTutorial.cs @@ -107,7 +107,7 @@ namespace Barotrauma.Tutorials foreach (Item item in doctor.Inventory.AllItemsMod) { - if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("headset")) { continue; } + if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("mobileradio")) { continue; } item.Unequip(doctor); doctor.Inventory.RemoveItem(item); } diff --git a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/EngineerTutorial.cs b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/EngineerTutorial.cs index c30c1c346..b95fa6f31 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/EngineerTutorial.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/EngineerTutorial.cs @@ -133,7 +133,7 @@ namespace Barotrauma.Tutorials foreach (Item item in engineer.Inventory.AllItemsMod) { - if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("headset")) { continue; } + if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("mobileradio")) { continue; } item.Unequip(engineer); engineer.Inventory.RemoveItem(item); } diff --git a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/MechanicTutorial.cs b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/MechanicTutorial.cs index 23b5da096..06d05b708 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/MechanicTutorial.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/MechanicTutorial.cs @@ -162,7 +162,7 @@ namespace Barotrauma.Tutorials foreach (Item item in mechanic.Inventory.AllItemsMod) { - if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("headset")) { continue; } + if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("mobileradio")) { continue; } item.Unequip(mechanic); mechanic.Inventory.RemoveItem(item); } diff --git a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/OfficerTutorial.cs b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/OfficerTutorial.cs index a8ba18da8..dd0f49fe5 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/OfficerTutorial.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/GameSession/GameModes/Tutorials/OfficerTutorial.cs @@ -143,7 +143,7 @@ namespace Barotrauma.Tutorials foreach (Item item in officer.Inventory.AllItemsMod) { - if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("headset")) { continue; } + if (item.HasTag("clothing") || item.HasTag("identitycard") || item.HasTag("mobileradio")) { continue; } item.Unequip(officer); officer.Inventory.RemoveItem(item); } diff --git a/Barotrauma/BarotraumaClient/ClientSource/Items/Components/Signal/ConnectionPanel.cs b/Barotrauma/BarotraumaClient/ClientSource/Items/Components/Signal/ConnectionPanel.cs index 21b3b4204..541c54a63 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/Items/Components/Signal/ConnectionPanel.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/Items/Components/Signal/ConnectionPanel.cs @@ -147,9 +147,10 @@ namespace Barotrauma.Items.Components //because some of the wires connected to the panel may not exist yet long msgStartPos = msg.BitPosition; msg.ReadUInt16(); //user ID - foreach (Connection connection in Connections) + foreach (Connection _ in Connections) { - for (int i = 0; i < connection.MaxWires; i++) + uint wireCount = msg.ReadVariableUInt32(); + for (int i = 0; i < wireCount; i++) { msg.ReadUInt16(); } diff --git a/Barotrauma/BarotraumaClient/ClientSource/Settings/SettingsMenu.cs b/Barotrauma/BarotraumaClient/ClientSource/Settings/SettingsMenu.cs index 50edb5235..4e9d8b6a6 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/Settings/SettingsMenu.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/Settings/SettingsMenu.cs @@ -462,6 +462,8 @@ namespace Barotrauma Slider(voiceChat, (0, 500), 26, (v) => $"{Round(v)} ms", unsavedConfig.Audio.VoiceChatCutoffPrevention, (v) => unsavedConfig.Audio.VoiceChatCutoffPrevention = Round(v), TextManager.Get("CutoffPreventionTooltip")); } + + private bool inputBoxSelectedThisFrame = false; private void CreateControlsTab() { GUIFrame content = CreateNewContentFrame(Tab.Controls); @@ -510,16 +512,13 @@ namespace Barotrauma bool willBeSelected = !btn.Selected; if (willBeSelected) { + inputBoxSelectedThisFrame = true; currentSetter = (v) => { valueSetter(v); btn.Text = valueNameGetter(); }; } - else - { - currentSetter = null; - } btn.Selected = willBeSelected; return true; @@ -538,6 +537,12 @@ namespace Barotrauma { if (currentSetter is null) { return; } + if (PlayerInput.PrimaryMouseButtonClicked() && inputBoxSelectedThisFrame) + { + inputBoxSelectedThisFrame = false; + return; + } + void clearSetter() { currentSetter = null; @@ -551,7 +556,7 @@ namespace Barotrauma } var pressedKeys = PlayerInput.GetKeyboardState.GetPressedKeys(); - if ((pressedKeys?.Any() ?? false)) + if (pressedKeys?.Any() ?? false) { if (pressedKeys.Contains(Keys.Escape)) { @@ -562,7 +567,8 @@ namespace Barotrauma callSetter(pressedKeys.First()); } } - else if (PlayerInput.PrimaryMouseButtonClicked() && !(GUI.MouseOn is GUIButton)) + else if (PlayerInput.PrimaryMouseButtonClicked() && + (GUI.MouseOn == null || !(GUI.MouseOn is GUIButton) || GUI.MouseOn.IsChildOf(keyMapList.Content))) { callSetter(MouseButton.PrimaryMouse); } diff --git a/Barotrauma/BarotraumaClient/LinuxClient.csproj b/Barotrauma/BarotraumaClient/LinuxClient.csproj index dcb6b28f4..1f9b0f11c 100644 --- a/Barotrauma/BarotraumaClient/LinuxClient.csproj +++ b/Barotrauma/BarotraumaClient/LinuxClient.csproj @@ -6,13 +6,12 @@ Barotrauma FakeFish, Undertow Games Barotrauma - 0.18.9.0 + 0.18.11.0 Copyright © FakeFish 2018-2022 AnyCPU;x64 Barotrauma ..\BarotraumaShared\Icon.ico Debug;Release;Unstable - true ;NU1605;CS0114;CS0108CS8597;CS8600;CS8601;CS8602;CS8603;CS8604;CS8605;CS8606;CS8607;CS8608;CS8609;CS8610;CS8611;CS8612;CS8613;CS8614;CS8615;CS8616;CS8617;CS8618;CS8619;CS8620;CS8621;CS8622;CS8624;CS8625;CS8626;CS8629;CS8631;CS8632;CS8633;CS8634;CS8638;CS8643;CS8644;CS8645;CS8653;CS8654;CS8655;CS8667;CS8669;CS8670;CS8714;CS8717;CS8765 diff --git a/Barotrauma/BarotraumaClient/MacClient.csproj b/Barotrauma/BarotraumaClient/MacClient.csproj index dfc188b15..630273d43 100644 --- a/Barotrauma/BarotraumaClient/MacClient.csproj +++ b/Barotrauma/BarotraumaClient/MacClient.csproj @@ -6,13 +6,12 @@ Barotrauma FakeFish, Undertow Games Barotrauma - 0.18.9.0 + 0.18.11.0 Copyright © FakeFish 2018-2022 AnyCPU;x64 Barotrauma ..\BarotraumaShared\Icon.ico Debug;Release;Unstable - true ;NU1605;CS0114;CS0108CS8597;CS8600;CS8601;CS8602;CS8603;CS8604;CS8605;CS8606;CS8607;CS8608;CS8609;CS8610;CS8611;CS8612;CS8613;CS8614;CS8615;CS8616;CS8617;CS8618;CS8619;CS8620;CS8621;CS8622;CS8624;CS8625;CS8626;CS8629;CS8631;CS8632;CS8633;CS8634;CS8638;CS8643;CS8644;CS8645;CS8653;CS8654;CS8655;CS8667;CS8669;CS8670;CS8714;CS8717;CS8765 diff --git a/Barotrauma/BarotraumaClient/WindowsClient.csproj b/Barotrauma/BarotraumaClient/WindowsClient.csproj index 8043dbfaf..26662833d 100644 --- a/Barotrauma/BarotraumaClient/WindowsClient.csproj +++ b/Barotrauma/BarotraumaClient/WindowsClient.csproj @@ -6,14 +6,13 @@ Barotrauma FakeFish, Undertow Games Barotrauma - 0.18.9.0 + 0.18.11.0 Copyright © FakeFish 2018-2022 AnyCPU;x64 Barotrauma ..\BarotraumaShared\Icon.ico Debug;Release;Unstable app.manifest - true ;NU1605;CS0114;CS0108CS8597;CS8600;CS8601;CS8602;CS8603;CS8604;CS8605;CS8606;CS8607;CS8608;CS8609;CS8610;CS8611;CS8612;CS8613;CS8614;CS8615;CS8616;CS8617;CS8618;CS8619;CS8620;CS8621;CS8622;CS8624;CS8625;CS8626;CS8629;CS8631;CS8632;CS8633;CS8634;CS8638;CS8643;CS8644;CS8645;CS8653;CS8654;CS8655;CS8667;CS8669;CS8670;CS8714;CS8717;CS8765 diff --git a/Barotrauma/BarotraumaServer/LinuxServer.csproj b/Barotrauma/BarotraumaServer/LinuxServer.csproj index 26ca8d0d6..edd4b10ac 100644 --- a/Barotrauma/BarotraumaServer/LinuxServer.csproj +++ b/Barotrauma/BarotraumaServer/LinuxServer.csproj @@ -6,13 +6,12 @@ Barotrauma FakeFish, Undertow Games Barotrauma Dedicated Server - 0.18.9.0 + 0.18.11.0 Copyright © FakeFish 2018-2022 AnyCPU;x64 DedicatedServer ..\BarotraumaShared\Icon.ico Debug;Release;Unstable - true ;NU1605;CS0114;CS0108CS8597;CS8600;CS8601;CS8602;CS8603;CS8604;CS8605;CS8606;CS8607;CS8608;CS8609;CS8610;CS8611;CS8612;CS8613;CS8614;CS8615;CS8616;CS8617;CS8618;CS8619;CS8620;CS8621;CS8622;CS8624;CS8625;CS8626;CS8629;CS8631;CS8632;CS8633;CS8634;CS8638;CS8643;CS8644;CS8645;CS8653;CS8654;CS8655;CS8667;CS8669;CS8670;CS8714;CS8717;CS8765 diff --git a/Barotrauma/BarotraumaServer/MacServer.csproj b/Barotrauma/BarotraumaServer/MacServer.csproj index 883360337..d0e34c416 100644 --- a/Barotrauma/BarotraumaServer/MacServer.csproj +++ b/Barotrauma/BarotraumaServer/MacServer.csproj @@ -6,13 +6,12 @@ Barotrauma FakeFish, Undertow Games Barotrauma Dedicated Server - 0.18.9.0 + 0.18.11.0 Copyright © FakeFish 2018-2022 AnyCPU;x64 DedicatedServer ..\BarotraumaShared\Icon.ico Debug;Release;Unstable - true ;NU1605;CS0114;CS0108CS8597;CS8600;CS8601;CS8602;CS8603;CS8604;CS8605;CS8606;CS8607;CS8608;CS8609;CS8610;CS8611;CS8612;CS8613;CS8614;CS8615;CS8616;CS8617;CS8618;CS8619;CS8620;CS8621;CS8622;CS8624;CS8625;CS8626;CS8629;CS8631;CS8632;CS8633;CS8634;CS8638;CS8643;CS8644;CS8645;CS8653;CS8654;CS8655;CS8667;CS8669;CS8670;CS8714;CS8717;CS8765 diff --git a/Barotrauma/BarotraumaServer/WindowsServer.csproj b/Barotrauma/BarotraumaServer/WindowsServer.csproj index e1bf7a611..6210c5922 100644 --- a/Barotrauma/BarotraumaServer/WindowsServer.csproj +++ b/Barotrauma/BarotraumaServer/WindowsServer.csproj @@ -6,13 +6,12 @@ Barotrauma FakeFish, Undertow Games Barotrauma Dedicated Server - 0.18.9.0 + 0.18.11.0 Copyright © FakeFish 2018-2022 AnyCPU;x64 DedicatedServer ..\BarotraumaShared\Icon.ico Debug;Release;Unstable - true ;NU1605;CS0114;CS0108CS8597;CS8600;CS8601;CS8602;CS8603;CS8604;CS8605;CS8606;CS8607;CS8608;CS8609;CS8610;CS8611;CS8612;CS8613;CS8614;CS8615;CS8616;CS8617;CS8618;CS8619;CS8620;CS8621;CS8622;CS8624;CS8625;CS8626;CS8629;CS8631;CS8632;CS8633;CS8634;CS8638;CS8643;CS8644;CS8645;CS8653;CS8654;CS8655;CS8667;CS8669;CS8670;CS8714;CS8717;CS8765 diff --git a/Barotrauma/BarotraumaShared/changelog.txt b/Barotrauma/BarotraumaShared/changelog.txt index 58186d997..bc2dec55c 100644 --- a/Barotrauma/BarotraumaShared/changelog.txt +++ b/Barotrauma/BarotraumaShared/changelog.txt @@ -1,3 +1,18 @@ +--------------------------------------------------------------------------------------------------------- +v0.18.11.0 +--------------------------------------------------------------------------------------------------------- + +- Disabled project-wide invariant globalization, which was meant to address "couldn't find a valid ICU package installed on the system" errors on some Linux distributions. The fix caused issues with case-insensitive comparisons and converting to upper or lower case in non-latin alphabets. +- Fixed tutorial characters spawning without a headset. +- Fixed inability to bind keys to LMB by clicking on the input box. + +--------------------------------------------------------------------------------------------------------- +v0.18.10.0 +--------------------------------------------------------------------------------------------------------- + +- Fixed "index out of range" error when joining a server where's someone's rewired items. +- Fixed some mission messages being displayed as "missionmessage0.nameofthemission". + --------------------------------------------------------------------------------------------------------- v0.18.9.0 --------------------------------------------------------------------------------------------------------- @@ -152,7 +167,6 @@ Fixes: - Fixed inability to quick-reload weapons with more than 1 inventory slot (e.g. autoshotgun). - Fixed outpost NPCs having x3 more health than they should. - Fixed morbusine not killing NPCs with higher-than-default health. -- Fixed crashing with the error message "couldn't find a valid ICU package installed on the system" on some Linux distributions. - Fixed graphics errors when using Razer Cortex overlay. - Fixed bots being unable to repair Winterhalter's top hatch. - Fixed server crashing if you disable all mission types and try to start a mission round.