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.75k stars 407 forks source link

EuropaWaifu Causing Crash on Loading Outpost #14515

Closed Regalis11 closed 2 months ago

Regalis11 commented 2 months ago

Discussed in https://github.com/FakeFishGames/Barotrauma/discussions/14137

Originally posted by **SenseOfAtaraxia** June 15, 2024 ### Disclaimers - [X] I have searched the issue tracker to check if the issue has already been reported. - [X] My issue happened while using mods. ### What happened? Midway through a solo campaign with mods, I attempted to dock into a new outpost. After loading into the outpost, the game would immediately crash the moment I should gain control of my character. Unfortunately, this occurs hours into a campaign which would imply that there may be a problematic asset loaded into that specific outpost and none of the others. Below I will add the most recent crash report (if u see a mod called Yam, it can probably be ignored. that's a custom ship I messed with and is not currently being used as my sub); I did attempt to remove mods one-by-one and found that removing EuropaWaifu++ allowed me to continue playing. Also, hoping I did this right, I have attached my save file to this box so hopefully that helps. Also I've marked the prevalence as "every now and then" but I'll specify that the crash doesn't occur at every outpost as not every outpost I've been to crashes my game. However, if the outpost IS problematic, the game will crash every time I try and load it; I have 16 identical crash logs to show for it. Another point of concern, I think this crash also occurs in Multiplayer but I can't be entirely sure as I don't have my friends' logs so I just put down singleplayer [Journey to the Center of the Moon.zip](https://github.com/user-attachments/files/15845532/Journey.to.the.Center.of.the.Moon.zip) ### Reproduction steps 1. Start solo campaign 2. Load into outpost 3.1 If games crashes, observe crash 3.2 If game doesn't crash, test different outpost ### Bug prevalence Happens every now and then ### Single player or multiplayer? Single player ### - _No response_ ### Version v1.4.6.0 (Blood in the Water Update, hotfix 2) ### - _No response_ ### Which operating system did you encounter this bug on? Windows ### Relevant error messages and crash reports ```shell Barotrauma Client crash report (generated on 06/14/2024 20:10:57) Barotrauma seems to have crashed. Sorry for the inconvenience! E3BBD9786909CCFB62D3AFBC61FF783D Game version 1.4.6.0 (ReleaseWindows, branch lua-xpath-1.4.6, revision 9e83fa9) Graphics mode: 1920x1080 (BorderlessWindowed) VSync ON Language: English Selected content packages: Vanilla (329B29B), Lua For Barotrauma (with xpath patch) (D79CA4B), EuropaWaifu++ (04F6169), EK Mods for 1.x.x.x (1C26ECD), Shipwrecks Extended (F0A7A9B), Beacons Extended (E83E173), Anime Poster Pack (FCF7312), Yam (6A117B3), Ulysses (9E10644), [VH] The Iroh (6BF9754) Level seed: LocationName.city.3123 Loaded submarine: Dugong (5BDD84BC8B495581DF6A877C8685318C) Selected screen: Barotrauma.GameScreen SteamManager initialized System info: Operating system: Microsoft Windows NT 10.0.19045.0 64 bit GPU name: Radeon RX 580 Series Display mode: {Width:1920 Height:1080 Format:Color AspectRatio:1.7777778} GPU status: Normal Exception: Could not find a part of the path 'E:\SteamLibrary\steamapps\common\Barotrauma\%ModDir%\Characters\Human'. (System.IO.DirectoryNotFoundException) Target site: IntPtr CreateDirectoryHandle(System.String, Boolean) Stack trace: at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound) at System.IO.Enumeration.FileSystemEnumerator`1.Init() at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles(String directory, String expression, EnumerationOptions options) at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options) at System.IO.Directory.GetFiles(String path) at Barotrauma.CharacterInfo.LoadHeadElement(Boolean loadHeadSprite, Boolean loadHeadSpriteTags) in /Barotrauma/BarotraumaShared/SharedSource/Characters/CharacterInfo.cs:line 1110 at Barotrauma.Limb.GetSpritePath(ContentPath texturePath, CharacterInfo characterInfo) in /Barotrauma/BarotraumaClient/ClientSource/Characters/Limb.cs:line 532 at Barotrauma.Limb.GetSpritePath(ContentXElement element, SpriteParams spriteParams, String& path) in /Barotrauma/BarotraumaClient/ClientSource/Characters/Limb.cs:line 508 at Barotrauma.Limb.InitProjSpecific(ContentXElement element) in /Barotrauma/BarotraumaClient/ClientSource/Characters/Limb.cs:line 297 at Barotrauma.Limb..ctor(Ragdoll ragdoll, Character character, LimbParams limbParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Limb.cs:line 744 at Barotrauma.Ragdoll.AddLimb(LimbParams limbParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/Ragdoll.cs:line 623 at System.Collections.Generic.List`1.ForEach(Action`1 action) at Barotrauma.Ragdoll.CreateLimbs() in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/Ragdoll.cs:line 536 at Barotrauma.Ragdoll.Recreate(RagdollParams ragdollParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/Ragdoll.cs:line 415 at Barotrauma.AnimController.Recreate(RagdollParams ragdollParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/AnimController.cs:line 815 at Barotrauma.HumanoidAnimController.Recreate(RagdollParams ragdollParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/HumanoidAnimController.cs:line 216 at Barotrauma.Ragdoll..ctor(Character character, String seed, RagdollParams ragdollParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/Ragdoll.cs:line 467 at Barotrauma.AnimController..ctor(Character character, String seed, RagdollParams ragdollParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/AnimController.cs:line 225 at Barotrauma.HumanoidAnimController..ctor(Character character, String seed, HumanRagdollParams ragdollParams) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Animation/HumanoidAnimController.cs:line 208 at Barotrauma.Character..ctor(CharacterPrefab prefab, Vector2 position, String seed, CharacterInfo characterInfo, UInt16 id, Boolean isRemotePlayer, RagdollParams ragdollParams, Boolean spawnInitialItems) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs:line 1506 at Barotrauma.AICharacter..ctor(CharacterPrefab prefab, Vector2 position, String seed, CharacterInfo characterInfo, UInt16 id, Boolean isNetworkPlayer, RagdollParams ragdoll, Boolean spawnInitialItems) in /Barotrauma/BarotraumaShared/SharedSource/Characters/AICharacter.cs:line 15 at Barotrauma.Character.Create(CharacterPrefab prefab, Vector2 position, String seed, CharacterInfo characterInfo, UInt16 id, Boolean isRemotePlayer, Boolean hasAi, Boolean createNetworkEvent, RagdollParams ragdoll, Boolean spawnInitialItems) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs:line 1304 at Barotrauma.Character.Create(Identifier speciesName, Vector2 position, String seed, CharacterInfo characterInfo, UInt16 id, Boolean isRemotePlayer, Boolean hasAi, Boolean createNetworkEvent, RagdollParams ragdoll, Boolean throwErrorIfNotFound, Boolean spawnInitialItems) in /Barotrauma/BarotraumaShared/SharedSource/Characters/Character.cs:line 1296 at Barotrauma.EntitySpawner.CharacterSpawnInfo.Spawn() in /Barotrauma/BarotraumaShared/SharedSource/Networking/EntitySpawner.cs:line 152 at Barotrauma.EntitySpawner.Update(Boolean createNetworkEvents) in /Barotrauma/BarotraumaShared/SharedSource/Networking/EntitySpawner.cs:line 438 at Barotrauma.MapEntity.UpdateAll(Single deltaTime, Camera cam) in /Barotrauma/BarotraumaShared/SharedSource/Map/MapEntity.cs:line 608 at Barotrauma.GameScreen.Update(Double deltaTime) in /Barotrauma/BarotraumaShared/SharedSource/Screens/GameScreen.cs:line 246 at Barotrauma.GameMain.Update(GameTime gameTime) in /Barotrauma/BarotraumaClient/ClientSource/GameMain.cs:line 950 at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime) in C:\Users\Markus\RiderProjects\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 656 at Microsoft.Xna.Framework.Game.Tick() in C:\Users\Markus\RiderProjects\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 500 at Microsoft.Xna.Framework.SdlGamePlatform.RunLoop() in C:\Users\Markus\RiderProjects\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\SDL\SDLGamePlatform.cs:line 93 at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior) in C:\Users\Markus\RiderProjects\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 397 at Microsoft.Xna.Framework.Game.Run() in C:\Users\Markus\RiderProjects\Barotrauma-development\Libraries\MonoGame.Framework\Src\MonoGame.Framework\Game.cs:line 367 at Barotrauma.Program.Main(String[] args) in /Barotrauma/BarotraumaClient/ClientSource/Program.cs:line 61 Last debug messages: [06/14/2024 20:10:47] Potential error in StatusEffect (Handgun, RangedWeapon). Target not defined, the effect might not work correctly. Use target="This" if you want the effect to target the entity it's defined in. Setting "This" as the target. [06/14/2024 20:10:46] Potential error in StatusEffect (Drum LMG (Flashlight), RangedWeapon). Target not defined, the effect might not work correctly. Use target="This" if you want the effect to target the entity it's defined in. Setting "This" as the target. [06/14/2024 20:10:42] Generating an outpost for the start of the level... (Location: Apep Habitation Outpost, level type: Outpost) [06/14/2024 20:10:42] Level identifier: ridgeoutpost [06/14/2024 20:10:42] Potential error in StatusEffect (Compact SMG, RangedWeapon). Target not defined, the effect might not work correctly. Use target="This" if you want the effect to target the entity it's defined in. Setting "This" as the target. [06/14/2024 20:10:41] Potential error in StatusEffect (Compact SMG, RangedWeapon). Target not defined, the effect might not work correctly. Use target="This" if you want the effect to target the entity it's defined in. Setting "This" as the target. [06/14/2024 20:10:41] Potential error in StatusEffect (Compact SMG, RangedWeapon). Target not defined, the effect might not work correctly. Use target="This" if you want the effect to target the entity it's defined in. Setting "This" as the target. [06/14/2024 20:10:35] Using LuaSetup.lua from the content package. [06/14/2024 20:10:34] Lua! Version 9e83fa9 [06/14/2024 20:10:17] Container tag "wreckshuttlecrate" is used in vanilla item prefabs but not defined in a ContainerTagPrefab. [06/14/2024 20:10:17] Container tag "wrecksecurearmcab" is used in vanilla item prefabs but not defined in a ContainerTagPrefab. [06/14/2024 20:10:00] ‖color:#9370DB‖[EuropaWaifu++]‖color:end‖ WARNING: Could not compress a texture because the dimensions aren't a multiple of 4 (path: C:/Users/Michael/AppData/Local/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed/2648774153/UI/titleText.png, size: 1161x1024) [06/14/2024 20:09:37] Attempting to open ALC device "OpenAL Soft on Speakers (Razer Barracuda Pro 2.4)" [06/14/2024 20:09:36] Logged in as Ataraxia (SteamID STEAM_1:1:91051153) ```
Regalis11 commented 2 months ago

Commented on the discussion:

It appears that this is caused by the Lua For Barotrauma (with xpath patch) mod, and doesn't occur if that mod is disabled. The issue has to do with the game failing to determine which mod a sprite is coming from, and figuring out the path from which to look for it - this is not properly handled in the mod. Unfortunately there's not much we can do to fix the issue, you might want to contact the author of that mod instead.