Space Engineers

Space Engineers

[WCIS] Emissive Panels
[SOLVED] Crashing Issue, Naming issue
First. the emissive 2x1 slope base panel and its inverted form have different names. One is ": "LG_Emissive2x1SlopedSideBasePanel". And the inverted one is : "LG_Emissive2x1SlopeSideBasePanelInv". Small but confusing difference.

Secondly. One of the bases, I believe the LG_Emissive2x1SlopeSideBasePanelInv, crashes users games when pulled out for placing. I've been trying to do some debugging on my own to fix this, but I do not know enough about modding to update the code that is causing it.What I believe to be the relevant part of the log is below:

2025-01-16 21:03:19.735 - Thread: 12 -> No definition 'MyObjectBuilder_CubeBlock/Emissive2x1SlopeSideBasePanel'. Maybe a mistake in XML?
2025-01-16 21:03:19.757 - Thread: 12 -> Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at Sandbox.Game.Entities.MyCubeGrid.TestBlockPlacementArea(MyCubeGrid targetGrid, MyGridPlacementSettings& settings, MyBlockOrientation blockOrientation, MyCubeBlockDefinition blockDefinition, Vector3D& translationObsolete, Quaternion& rotation, Vector3& halfExtentsObsolete, BoundingBoxD& localAabb, MyCubeGrid& touchingGrid, UInt64 placingPlayer, MyEntity ignoredEntity, Boolean ignoreFracturedPieces, Boolean testVoxel, Boolean isProjected, Boolean forceCheck)
at Sandbox.Game.Entities.MyCubeGrid.TestPlacementAreaCube_Patch1(MyCubeGrid targetGrid, MyGridPlacementSettings& settings, Vector3I min, Vector3I max, MyBlockOrientation blockOrientation, MyCubeBlockDefinition blockDefinition, MyCubeGrid& touchingGrid, UInt64 placingPlayer, MyEntity ignoredEntity, Boolean ignoreFracturedPieces, Boolean isProjected, Boolean forceCheck)
at Sandbox.Game.Entities.MyCubeGrid.CanPlaceBlock(Vector3I min, Vector3I max, MyBlockOrientation orientation, MyCubeBlockDefinition definition, MyGridPlacementSettings& gridSettings, UInt64 placingPlayer, Nullable`1 ignoreMultiblockId, Boolean ignoreFracturedPieces, Boolean isProjection)
at Sandbox.Game.Entities.MyCubeBuilder.UpdateGizmo_Grid(MyGizmoSpaceProperties gizmoSpace, Boolean add, Boolean remove, Boolean draw)
at Sandbox.Game.Entities.MyCubeBuilder.UpdateGizmos(Boolean addPos, Boolean removePos, Boolean draw)
at Sandbox.Game.Entities.MyCubeBuilder.Draw()
at Sandbox.Game.World.MySession.DrawAsync()
at Sandbox.Game.Gui.MyGuiScreenGamePlay.<>c.<LoadData>b__42_0()
at ParallelTasks.DelegateWork.DoWork(WorkData workData)
at ParallelTasks.WorkItem.DoWork(Int32 expectedID)
2025-01-16 21:03:19.777 - Thread: 1 -> Exception: ParallelTasks.TaskException: An exception(s) was thrown while executing a task.
at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)
at ParallelTasks.Task.WaitOrExecute(Boolean blocking)
at Sandbox.Game.Gui.MyGuiScreenGamePlay.ScreenManagerOnEndOfDraw()
at Sandbox.Graphics.GUI.MyScreenManager.Draw()
at Sandbox.Graphics.GUI.MyDX9Gui.Draw()
at Sandbox.Graphics.GUI.MyGuiSandbox.Draw()
at Sandbox.MySandboxGame.PrepareForDraw()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at SpaceEngineers.MyProgram.Main(String[] args)
Task exception, inner exception 0:
System.NullReferenceException: Object reference not set to an instance of an object.
at Sandbox.Game.Entities.MyCubeGrid.TestBlockPlacementArea(MyCubeGrid targetGrid, MyGridPlacementSettings& settings, MyBlockOrientation blockOrientation, MyCubeBlockDefinition blockDefinition, Vector3D& translationObsolete, Quaternion& rotation, Vector3& halfExtentsObsolete, BoundingBoxD& localAabb, MyCubeGrid& touchingGrid, UInt64 placingPlayer, MyEntity ignoredEntity, Boolean ignoreFracturedPieces, Boolean testVoxel, Boolean isProjected, Boolean forceCheck)
at Sandbox.Game.Entities.MyCubeGrid.TestPlacementAreaCube_Patch1(MyCubeGrid targetGrid, MyGridPlacementSettings& settings, Vector3I min, Vector3I max, MyBlockOrientation blockOrientation, MyCubeBlockDefinition blockDefinition, MyCubeGrid& touchingGrid, UInt64 placingPlayer, MyEntity ignoredEntity, Boolean ignoreFracturedPieces, Boolean isProjected, Boolean forceCheck)
at Sandbox.Game.Entities.MyCubeGrid.CanPlaceBlock(Vector3I min, Vector3I max, MyBlockOrientation orientation, MyCubeBlockDefinition definition, MyGridPlacementSettings& gridSettings, UInt64 placingPlayer, Nullable`1 ignoreMultiblockId, Boolean ignoreFrac
Last edited by Mecha3; 21 Mar @ 9:10am
< >
Showing 1-4 of 4 comments
i was able to reproduce the crash, am investigating now.
sorry for not doing this sooner but i just didnt see this post here.
if someone comments on one of my mods i instantly see that but apparently not when someone makes a new discussion.
issue should be fixed now.
yea.. a stupid one but i mainly used keens block definitions for all the panels and adjusted them to my mod, the names will stay the same. since i dont know how to do language / translation stuff for mods its something that has to be accepted :/
Mecha3 21 Mar @ 9:08am 
alrighty thank you, i'll keep that in mind next time. also if you are ever interested in learning theres a very good tutorial here https://spaceengineers.wiki.gg/wiki/Modding/Tutorials/Localization ,what i used to figure out the system
you welcome <3
thanks for reporting it properly and marking this discussion as solved!
not many people report issues that detailed.
and sorry again for not fixing this sooner, i just didnt see your post.
< >
Showing 1-4 of 4 comments
Per page: 1530 50