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.72k stars 397 forks source link

Charactor Editor Joint Crash #13386

Closed Zeltrax closed 4 weeks ago

Zeltrax commented 6 months ago

Disclaimers

What happened?

I'm using the character editor to create my own creatures but every time I go to attach a joint from 1 fake limb to a main limb the game crashes.

This happens on 2 creatures I'm making.

Reproduction steps

  1. Character editor
  2. Create a creature
  3. Animate creature so it can move
  4. Create 3 fake limbs based on the crawler config for attacks
  5. Try and joint from Fake limbs(attacking limbs) to head of creature creatue is frozen during this process.
  6. Crash

Bug prevalence

Happens every time I play

Single player or multiplayer?

Other

-

Character editor

Version

v1.2.8.0 (Winter Update hotfix 2)

-

No response

Which operating system did you encounter this bug on?

Windows

Relevant error messages and crash reports

Exception: Object reference not set to an instance of an object. (System.NullReferenceException)
Target site: Microsoft.Xna.Framework.Rectangle GetLimbSpritesheetRect(Barotrauma.Limb)
Stack trace: 
   at Barotrauma.CharacterEditor.CharacterEditorScreen.GetLimbSpritesheetRect(Limb limb) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Screens\CharacterEditor\CharacterEditorScreen.cs:line 3628
   at Barotrauma.CharacterEditor.CharacterEditorScreen.UpdateJointCreation() in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Screens\CharacterEditor\CharacterEditorScreen.cs:line 1080
   at Barotrauma.CharacterEditor.CharacterEditorScreen.Update(Double deltaTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Screens\CharacterEditor\CharacterEditorScreen.cs:line 580
   at Barotrauma.GameMain.Update(GameTime gameTime) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\GameMain.cs:line 855
   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 500
   at Microsoft.Xna.Framework.SdlGamePlatform.RunLoop() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\SDL\SDLGamePlatform.cs:line 93
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 397
   at Microsoft.Xna.Framework.Game.Run() in <DEV>\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 367
   at Barotrauma.Program.Main(String[] args) in <DEV>\Barotrauma\BarotraumaClient\ClientSource\Program.cs:line 58
itchyOwl commented 5 months ago

Couldn't repro, but possibly fixed in https://github.com/FakeFishGames/Barotrauma-development/pull/5095.

More detailed steps to repro could help with verifying the issue and the fix, and debugging it in case it's still there: