LogicalError / realtime-CSG-for-unity

Realtime-CSG, CSG level editor for Unity
https://realtimecsg.com
MIT License
783 stars 82 forks source link

EntryPointNotFoundException: SetBrushInfinity #249

Closed LogicalError closed 6 years ago

LogicalError commented 6 years ago

Trying to use "Inverted world" generates the following error:

EntryPointNotFoundException: SetBrushInfinity RealtimeCSG.InternalCSGModelManager.RegisterBrush (RealtimeCSG.Components.CSGBrush brush) RealtimeCSG.InternalCSGModelManager.UpdateRegistration () RealtimeCSG.InternalCSGModelManager.OnHierarchyModified () RealtimeCSG.InternalCSGModelManager.CheckForChanges (Boolean forceHierarchyUpdate) RealtimeCSG.UpdateLoop.RunEditorUpdate () UnityEngine.Debug:LogException(Exception) RealtimeCSG.UpdateLoop:‭‎‮‮‏‮‍‌‮‮‎‭‮​‌‮‬‍‭‍​‪‍‮(Exception) RealtimeCSG.UpdateLoop:RunEditorUpdate() UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

This is caused by an entry point being renamed, but apparently one location was missed. This will be fixed in 1.524

LogicalError commented 6 years ago

Fixed in 1.524

Hisashimaru commented 6 years ago

1.524 Unity2018.1.0b12

Now Unity will crash when you uncheck the Inverted world checkbox.

There's another problem, Invert world doesn't work caused by Internal error.

Internal error (brushMesh == nullptr)

void __cdecl RealtimeCSG::CSGCategorizationStack::Categorize(class RealtimeCSG::CSGBrush *const ,const class RealtimeCSG::CSGBrushSurfaces *const ,class RealtimeCSG::CSGBrushPolygonMesh *const ) (at C:\Share\csg\UnityCSG\NativePlugin\c:\share\csg\unitycsg\nativeplugin\code\csg\csg_categorization\csg_categorization.cpp:560)
UnityEngine.Debug:LogWarning(Object, Object)
RealtimeCSG.<>c:<RegisterUnityMethods>b__10_2(String, Int32) (at Assets/Plugins/RealtimeCSG/Editor/Scripts/Control/Bindings/NativeMethodBindings.cs:90)
RealtimeCSG.NativeMethodBindings:UpdateAllTreeMeshes()
RealtimeCSG.InternalCSGModelManager:UpdateMeshes(StringBuilder, Boolean) (at Assets/Plugins/RealtimeCSG/Editor/Scripts/Control/Managers/InternalCSGModelManager.UpdateMeshes.cs:445)
RealtimeCSG.InternalCSGModelManager:CheckForChanges(Boolean) (at Assets/Plugins/RealtimeCSG/Editor/Scripts/Control/Managers/InternalCSGModelManager.Lifetime.cs:110)
RealtimeCSG.UpdateLoop:RunEditorUpdate() (at Assets/Plugins/RealtimeCSG/Editor/Scripts/Control/Managers/UpdateLoop.cs:236)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()
LogicalError commented 6 years ago

Try version 1.525, it should work now. I should've tested this better, sorry.

Hisashimaru commented 6 years ago

Invert world works! but still Unity editor will crash in 1.525, 1.526

How to reproduce the crash.

  1. Make a brush.
  2. Switch Invert world a couple of times.
LogicalError commented 6 years ago

This should be fixed in 1.527, let me know if you run into any other issues, thanks for letting me know about this!