KillzXGaming / Switch-Toolbox

A tool to edit many video game file formats
GNU General Public License v3.0
971 stars 155 forks source link

Unhandled Exception when opening GuiSysMP1.pak in Metroid Prime Remastered, other paks work fine #652

Open githubwasamistake opened 1 year ago

githubwasamistake commented 1 year ago

and it is the one pak I am most interested in Preload/MPR1/GuiSysMP1.pak where all the visor effects are, it's 41mb

When trying to open that pak file in switchtoolbox, I get an unhandled exception 'An item with the same key has already been added.' I have the option to 'Continue' or 'Quit', 'Continue' does nothing

You can open this pak with retrotool, but I can't get switchtoolbox to read any of the txtr textures or cmdl models from it, probably because retrotool does something different with the indexing/paths or file extensions

Here's the full switchtoolbox error details, same issue with the latest build and a recent one from a few weeks ago

`See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.

** Exception Text ** System.ArgumentException: An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at DKCTF.PAK.Load(Stream stream) in C:\projects\switch-toolbox\File_Format_Library\FileFormats\DKCTF\PAK.cs:line 93 at Toolbox.Library.IO.STFileLoader.SetFileFormat(IFileFormat fileFormat, String FileName, Stream stream, Boolean LeaveStreamOpen, Boolean InArchive, Boolean Compressed, ICompressionFormat FileCompression) at Toolbox.Library.IO.STFileLoader.OpenFileFormat(Stream stream, String FileName, Boolean LeaveStreamOpen, Boolean InArchive, Boolean Compressed, ICompressionFormat CompressionFormat, Int64 DecompressedSize, Int64 CompressedSize) at Toolbox.Library.IO.STFileLoader.OpenFileFormat(String FileName, Boolean LeaveStreamOpen, Boolean InArchive, Boolean Compressed, ICompressionFormat CompressionFormat, UInt32 DecompressedSize, UInt32 CompressedSize) at Toolbox.MainForm.OpenFile(String FileName, Boolean InActiveEditor) in C:\projects\switch-toolbox\Toolbox\MainForm.cs:line 281 at Toolbox.MainForm.OpenFileSelect() in C:\projects\switch-toolbox\Toolbox\MainForm.cs:line 252 at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ToolStrip.WndProc(Message& m) at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Loaded Assemblies ** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.8.4645.0 built by: NET48REL1LAST_B CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

Toolbox Assembly Version: 1.0.2673.0 Win32 Version: 1.0.2673 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Toolbox.exe

System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.8.4550.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Assembly Version: 4.0.0.0 Win32 Version: 4.8.4644.0 built by: NET48REL1LAST_B CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

Toolbox.Library Assembly Version: 1.0.2673.0 Win32 Version: 1.0.2673 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Toolbox.Library.DLL

Microsoft.VisualBasic Assembly Version: 10.0.0.0 Win32 Version: 14.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.8.4644.0 built by: NET48REL1LAST_B CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

DirectXTexNetImpl Assembly Version: 1.0.0.3 Win32 Version: CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/x64/DirectXTexNetImpl.dll

System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

OpenTK Assembly Version: 3.0.1.0 Win32 Version: 3.0.1 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/OpenTK.dll

Octokit Assembly Version: 0.31.0.0 Win32 Version: 0.31.0.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Octokit.DLL

SFGraphics Assembly Version: 1.0.6956.42501 Win32 Version: 1.0.6956.42501 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/SFGraphics.dll

System.Net.Http Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll

OpenTK.GLControl Assembly Version: 3.0.1.0 Win32 Version: 3.0.1 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/OpenTK.GLControl.dll

FirstPlugin.Plg Assembly Version: 1.0.2673.0 Win32 Version: 1.0.2673 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Plugins/FirstPlugin.Plg.dll

GL_EditorFramework Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/GL_EditorFramework.DLL

FlatBuffers Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Plugins/FlatBuffers.DLL

Syroot.NintenTools.NSW.Bfres Assembly Version: 1.2.3.0 Win32 Version: 1.2.3.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Syroot.NintenTools.NSW.Bfres.dll

Syroot.Maths Assembly Version: 1.5.3.0 Win32 Version: 1.5.3.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Syroot.Maths.DLL

Syroot.NintenTools.Bfres Assembly Version: 1.2.3.0 Win32 Version: 1.2.3.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Syroot.NintenTools.Bfres.dll

Syroot.BinaryData Assembly Version: 2.0.1.0 Win32 Version: 2.0.1.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Syroot.BinaryData.dll

WeifenLuo.WinFormsUI.Docking Assembly Version: 3.0.6.0 Win32 Version: 3.0.6.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Plugins/WeifenLuo.WinFormsUI.Docking.DLL

Newtonsoft.Json Assembly Version: 12.0.0.0 Win32 Version: 12.0.1.22727 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Newtonsoft.Json.dll

Syroot.NintenTools.NSW.Bntx Assembly Version: 1.2.3.0 Win32 Version: 1.2.3.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Syroot.NintenTools.NSW.Bntx.dll

SPICA Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Plugins/SPICA.DLL

Anonymously Hosted DynamicMethods Assembly Assembly Version: 0.0.0.0 Win32 Version: 4.8.4645.0 built by: NET48REL1LAST_B CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll

ZeldaLib Assembly Version: 1.0.0.0 Win32 Version: 1.0.0.0 CodeBase: file://vmware-host/Shared%20Folders/maps/SwitchToolbox-Latest/Lib/Plugins/ZeldaLib.DLL

System.Numerics Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

Accessibility Assembly Version: 4.0.0.0 Win32 Version: 4.8.4084.0 built by: NET48REL1 CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

** JIT Debugging ** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.

For example:

When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

`