FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.74k stars 404 forks source link

Game crash in submarin editor when selecting a component while modifying the value of an other component of same type #9588

Closed SpanielDE closed 2 years ago

SpanielDE commented 2 years ago

Disclaimers

What happened?

When modifying the value of a memory component, selecting another mem. module, instead of saving the setting change of the first component and selecting the other, it cause game to crash

I tested only to realise that it's happening with a lot of differents items. It happen when changing settings of components. With some testing I found that changing input, output, value, target valure and msg. And it happen with every item with one of thoose settings

Reproduction steps

1.Go to the submarin editor 2.Place a pair of item with of of thoose settings : input, output, value, target valure or msg 3.Select one and modify one of the setting 4.Without deselecting the item or pressing enter to "confirm?" the setting change, select the other item 5.Game crash image_2022-07-17_233211912

Bug prevalence

Happens every time I play

Version

0.18.12.0

-

No response

Which operating system did you encounter this bug on?

Windows

Relevant error messages and crash reports

Barotrauma Client crash report (generated on 17/07/2022 22:48:16)

Barotrauma seems to have crashed. Sorry for the inconvenience! 

A3E1BD9914304826B1774DE813786E1D

Game version 0.18.15.0 (ReleaseWindows, branch release, revision a7b22109e9)
Graphics mode: 1920x1080 (Windowed)
VSync ON
Language: English
Selected content packages: Vanilla, LD, LD HULL Bulkhead, LD Bulkhead, LD, Spike class, FACr, auto duct, Spotlight wiggler, wa, smg mun toolbelt, Turret light for dark mode, Barocuda, LD Auto sas, periscope camera system, ld Reactor, wifi camera sys, Corpus, LL-01-Sciendol 孤默级(多人版), Chimera, LD, Valiant class, solo sub, The Erona MKⅡAEP EV3, 【T.S.M】Collapsar重光, Horizontal hangar door (5h), Horizontal hangar door (3h), LD, Zenith Class, Scout, LD, Pluto, exploration drone, drone controller, drone controller mk2, LD, Pluto, drone mk2, test de drone, LD, Spike class, FACr(Campain), drone hull, MIMAS, LD, Mimas, sonar drone, LD, Mimas, sonar drone test, test de drone copy, auto drone sonar, LD, Spike class, FACr for satu, auto reactor, LD Saturn, LD, Pluto, drone for Saturn, Airlock, LD, Saturn Support Shuttle, LD, Titan class, shuttle
Level seed: no level loaded
Loaded submarine: LD, Spike class, FACr (E53ABF02DE4E4D98E1B099B2C6C1EFD7)
Selected screen: Barotrauma.SubEditorScreen
SteamManager initialized

System info:
    Operating system: Microsoft Windows NT 10.0.19042.0 64 bit
    GPU name: NVIDIA GeForce GTX 1060
    Display mode: {Width:1920 Height:1080 Format:Color AspectRatio:1,7777778}
    GPU status: Normal

Exception: Type provided must be an Enum. (Parameter 'enumType') (System.ArgumentException)
Target site: System.RuntimeType ValidateRuntimeType(System.Type)
Stack trace: 
   at System.Enum.ValidateRuntimeType(Type enumType)
   at System.Enum.TryParse(Type enumType, String value, Boolean ignoreCase, Boolean throwOnFailure, Object& result)
   at Barotrauma.SerializableEntityEditor.MultiSetProperties(SerializableProperty property, Object parentObject, Object value) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Serialization\SerializableEntityEditor.cs:line 1451
   at Barotrauma.SerializableEntityEditor.SetPropertyValue(SerializableProperty property, Object entity, Object value) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Serialization\SerializableEntityEditor.cs:line 1351
   at Barotrauma.SerializableEntityEditor.<>c__DisplayClass29_0.<CreateStringField>g__OnApply|3(GUITextBox textBox) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Serialization\SerializableEntityEditor.cs:line 707
   at Barotrauma.SerializableEntityEditor.<>c__DisplayClass29_0.<CreateStringField>b__1(GUITextBox textBox, Keys keys) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Serialization\SerializableEntityEditor.cs:line 691
   at Barotrauma.GUITextBox.Deselect() in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GUI\GUITextBox.cs:line 385
   at Barotrauma.GUITextBox.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GUI\GUITextBox.cs:line 477
   at Barotrauma.GUI.Update(Single deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GUI\GUI.cs:line 1229
   at Barotrauma.GameMain.Update(GameTime gameTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GameMain.cs:line 898
   at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime) in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 656
   at Microsoft.Xna.Framework.Game.Tick() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 504
   at Microsoft.Xna.Framework.SdlGamePlatform.RunLoop() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\SDL\SDLGamePlatform.cs:line 94
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 398
   at Microsoft.Xna.Framework.Game.Run() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 368
   at Barotrauma.Program.Main(String[] args) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Program.cs:line 59

Last debug messages:
[17/07/2022 22:44:09] Attempting to open ALC device "OpenAL Soft on Haut-parleurs (Realtek(R) Audio)"
[17/07/2022 22:44:07] Logged in as Spaniel Des Etoiles (SteamID STEAM_1:1:461631952)
pakvg85 commented 2 years ago

Duplicate of this one: https://github.com/Regalis11/Barotrauma/issues/9512 Oh, that one is also a duplicate. Ok.

Regalis11 commented 2 years ago

Duplicate of https://github.com/Regalis11/Barotrauma/issues/9512