I think this might be because I'm trying to edit a Twilight Princess stage (on the basis that they are similarly structured/formatted, at least to my knowledge), but thought it'd be worth flagging in case something else is going on.
If I try to open a room from this stage, nothing happens. If I try to open the whole stage folder, I get the following crash log:
----------------------------------------
Winditor crashed on: 09/04/2022 19:21:45
System.NullReferenceException
Object reference not set to an instance of an object.
at WindEditor.Editor.Modes.CollisionMode.UpdateActiveMesh() in D:\WW\Winditor\Editor\Editor\Modes\CollisionMode\CollisionMode.cs:line 293
at WindEditor.Editor.Modes.CollisionMode.OnBecomeActive() in D:\WW\Winditor\Editor\Editor\Modes\CollisionMode\CollisionMode.cs:line 246
at WindEditor.WWorld.SwitchMode(IEditorMode old_mode, IEditorMode new_mode) in D:\WW\Winditor\Editor\Editor\Maps\World.cs:line 248
at WindEditor.WWorld.set_CurrentMode(IEditorMode value) in D:\WW\Winditor\Editor\Editor\Maps\World.cs:line 23
at WindEditor.WWindEditor.<get_SwitchToCollisionModeCommand>b__19_0(Object x) in D:\WW\Winditor\Editor\Editor\Modes\WindEditor.cs:line 36
at WindEditor.RelayCommand.Execute(Object parameter) in D:\WW\Winditor\Editor\Editor\UI\RelayCommand.cs:line 55
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at WindEditor.App.Main()
----------------------------------------
Winditor crashed on: 09/04/2022 19:23:14
System.ArgumentOutOfRangeException
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at WindEditor.WMap.LoadFromDirectory(String inPath, String sourcePath) in D:\WW\Winditor\Editor\Editor\Maps\Map.cs:line 66
at WindEditor.WWorld.LoadMapFromDirectory(String folderPath, String sourcePath) in D:\WW\Winditor\Editor\Editor\Maps\World.cs:line 155
at WindEditor.WWindEditor.LoadProject(String folderPath, String sourcePath) in D:\WW\Winditor\Editor\Editor\Modes\WindEditor.cs:line 381
at WindEditor.WWindEditor.OnApplicationRequestOpenProject() in D:\WW\Winditor\Editor\Editor\Modes\WindEditor.cs:line 136
at WindEditor.WWindEditor.<get_OpenProjectCommand>b__3_0(Object x) in D:\WW\Winditor\Editor\Editor\Modes\WindEditor.cs:line 27
at WindEditor.RelayCommand.Execute(Object parameter) in D:\WW\Winditor\Editor\Editor\UI\RelayCommand.cs:line 55
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at WindEditor.App.Main()
The other thing I noticed is that it refers to the D drive, which in my case is my DVD drive - so it can't physically get any data from there (although it seems to be able to see its own code, which is actually on the C drive, without issue).