Nogg-aholic / PowerSuit

9 stars 0 forks source link

Trying to swap place between 2 equiped modules causes a CTD #24

Closed IamKayrox closed 2 years ago

IamKayrox commented 3 years ago

Step by step reproduction:

  1. Equip Biofuel Suit
  2. Equip Zipline Accelerator
  3. Equip Rocket Powered Blade Runners
  4. Swap Zipline Accelerator with Rocket Powered Blade Runners by dragging the Rocket Powered Blade Runners into the Zipline Accelerator

Note: This issue occurs regardless the modules used, the ones above were used as example to make it easier to explain the issue.

The output log:

Version: 160628, IsEditor: No, IsPerforceBuild: No, BuildConfiguration: Shipping, Launcher: Steam, NetMode: Listen Server, IsUsingMods: Yes

Fatal error: [File:C:/Games/SF/SF_ModProject/Plugins/PowerSuit/Source/PowerSuit/Private/SubModules/EMC_InventoryModule.cpp] [Line: 639] Mismatch ItemClass for Remembered Item: Module_ZiplineAccelMk1_C

FactoryGame_PowerSuit_Win64_Shipping!UEMC_InventoryModule::GetModuleStats() [C:\Games\SF\SF_ModProject\Plugins\PowerSuit\Source\PowerSuit\Private\SubModules\EMC_InventoryModule.cpp:639]
FactoryGame_PowerSuit_Win64_Shipping!UEMC_InventoryModule::MergeOnIndex() [C:\Games\SF\SF_ModProject\Plugins\PowerSuit\Source\PowerSuit\Private\SubModules\EMC_InventoryModule.cpp:396]
FactoryGame_PowerSuit_Win64_Shipping!UEMC_InventoryModule::RefreshInventoryAdd() [C:\Games\SF\SF_ModProject\Plugins\PowerSuit\Source\PowerSuit\Private\SubModules\EMC_InventoryModule.cpp:258]
FactoryGame_PowerSuit_Win64_Shipping!UEMC_InventoryModule::execRefreshInventoryAdd() [C:\Games\SF\SF_ModProject\Plugins\PowerSuit\Intermediate\Build\Win64\FactoryGame\Inc\PowerSuit\EMC_InventoryModule.gen.cpp:112]
FactoryGame_CoreUObject_Win64_Shipping!UFunction::Invoke() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\coreuobject\private\uobject\class.cpp:5543]
FactoryGame_CoreUObject_Win64_Shipping!UObject::ProcessEvent() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1916]
FactoryGame_FactoryGame_Win64_Shipping!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\core\public\uobject\scriptdelegates.h:488]
FactoryGame_FactoryGame_Win64_Shipping!UE4Function_Private::TFunctionRefCaller<<lambda_12ce5969968416373396225b81da27ba>,void __cdecl(void)>::Call() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\core\public\templates\function.h:549]
FactoryGame_FactoryGame_Win64_Shipping!TGraphTask<FFunctionGraphTask>::ExecuteTask() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\core\public\async\taskgraphinterfaces.h:850]
FactoryGame_Core_Win64_Shipping!FNamedTaskThread::ProcessTasksUntilQuit() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:586]
FactoryGame_Core_Win64_Shipping!FTaskGraphImplementation::WaitUntilTasksComplete() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\core\private\async\taskgraph.cpp:1479]
FactoryGame_Engine_Win64_Shipping!FTickTaskSequencer::ReleaseTickGroup() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\engine\private\ticktaskmanager.cpp:562]
FactoryGame_Engine_Win64_Shipping!FTickTaskManager::RunTickGroup() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\engine\private\ticktaskmanager.cpp:1535]
FactoryGame_Engine_Win64_Shipping!UWorld::Tick() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\engine\private\leveltick.cpp:1558]
FactoryGame_Engine_Win64_Shipping!UGameEngine::Tick() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\engine\private\gameengine.cpp:1697]
FactoryGame_FactoryGame_Win64_Shipping!UFGGameEngine::Tick() [d:\ws\sb-210421141322-21c\ue4\games\factorygame\source\factorygame\private\fggameengine.cpp:13]
FactoryGame_Win64_Shipping!FEngineLoop::Tick() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\launch\private\launchengineloop.cpp:4910]
FactoryGame_Win64_Shipping!GuardedMain() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\launch\private\launch.cpp:169]
FactoryGame_Win64_Shipping!GuardedMainWrapper() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:137]
FactoryGame_Win64_Shipping!WinMain() [d:\ws\sb-210421141322-21c\ue4\engine\source\runtime\launch\private\windows\launchwindows.cpp:268]
FactoryGame_Win64_Shipping!__scrt_common_main_seh() [d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll
budak7273 commented 3 years ago

I confirmed that this still occurs in the latest release - whoops. I have been quite busy lately and can't promise a fix time myself, but I let Nog know.

budak7273 commented 2 years ago

I have bandaided this for now in update 0.8.0, I think. It no longer hard crashes you but it can sometimes double up on some stats until you re-equip the suit. I'll have to look into this more later.