UnderminersTeam / UndertaleModTool

The most complete tool for modding, decompiling and unpacking Undertale (and other Game Maker: Studio games!)
GNU General Public License v3.0
1.07k stars 206 forks source link

UndertaleModCli tool on macOS throws an exception when loading/dumping file #1300

Closed MoonlightShinesparkle closed 1 year ago

MoonlightShinesparkle commented 1 year ago

Describe the bug

Cli tool errors while trying do load an .ios file Trying to load file: '/Volumes/HDD/SteamLibrary/steamapps/common/DELTARUNEdemo/DELTARUNE.app/Contents/Resources/game.ios' Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> UndertaleModLib.UndertaleSerializationException: The type initializer for 'Gdip' threw an exception. at 01B39020 while reading object UndertaleModLib.Models.UndertaleEmbeddedTexture+TexData in chunk TXTR ---> UndertaleModLib.UndertaleSerializationException: The type initializer for 'Gdip' threw an exception. at 01B39020 while reading object UndertaleModLib.Models.UndertaleEmbeddedTexture+TexData ---> System.TypeInitializationException: The type initializer for 'Gdip' threw an exception. ---> System.DllNotFoundException: Unable to load shared library 'libgdiplus' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(liblibgdiplus, 1): image not found at System.Drawing.SafeNativeMethods.Gdip.GdiplusStartup(IntPtr& token, StartupInput& input, StartupOutput& output) at System.Drawing.SafeNativeMethods.Gdip..cctor() --- End of inner exception stack trace --- at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, IntPtr scan0, IntPtr& bitmap) at UndertaleModLib.Util.QoiConverter.GetImageFromSpan(ReadOnlySpan1 bytes, Int32& length) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/Util/QoiConverter.cs:line 92 at UndertaleModLib.Models.UndertaleEmbeddedTexture.TexData.Unserialize(FileBinaryReader reader, Boolean is_2022_5) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/Models/UndertaleEmbeddedTexture.cs:line 425 at UndertaleModLib.Models.UndertaleEmbeddedTexture.TexData.Unserialize(UndertaleReader reader) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/Models/UndertaleEmbeddedTexture.cs:line 396 at UndertaleModLib.UndertaleReader.ReadUndertaleObject[T](T obj) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleIO.cs:line 309 --- End of inner exception stack trace --- at UndertaleModLib.UndertaleReader.ReadUndertaleObject[T](T obj) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleIO.cs:line 309 at UndertaleModLib.Models.UndertaleEmbeddedTexture.UnserializeBlob(UndertaleReader reader) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/Models/UndertaleEmbeddedTexture.cs:line 158 at UndertaleModLib.UndertaleChunkTXTR.UnserializeChunk(UndertaleReader reader) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleChunks.cs:line 848 at UndertaleModLib.UndertaleChunk.Unserialize(UndertaleReader reader) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleChunkTypes.cs:line 87 --- End of inner exception stack trace --- at UndertaleModLib.UndertaleChunk.Unserialize(UndertaleReader reader) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleChunkTypes.cs:line 120 at UndertaleModLib.UndertaleChunkFORM.UnserializeChunk(UndertaleReader reader) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleChunks.cs:line 84 at UndertaleModLib.UndertaleReader.ReadUndertaleData() in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleIO.cs:line 227 at UndertaleModLib.UndertaleIO.Read(Stream stream, WarningHandlerDelegate warningHandler, MessageHandlerDelegate messageHandler) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModLib/UndertaleIO.cs:line 671 at UndertaleModCli.Program.ReadDataFile(FileInfo datafile, WarningHandlerDelegate warningHandler, MessageHandlerDelegate messageHandler) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModCli/Program.cs:line 776 at UndertaleModCli.Program..ctor(FileInfo datafile, Boolean verbose, DirectoryInfo output) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModCli/Program.cs:line 209 at UndertaleModCli.Program.Dump(DumpOptions options) in /Users/runner/work/UndertaleModTool/UndertaleModTool/UndertaleModCli/Program.cs:line 336 --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Span1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Delegate.DynamicInvokeImpl(Object[] args) at System.Delegate.DynamicInvoke(Object[] args) at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context) at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseParseErrorReporting>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass27_0.<<UseVersionOption>b__1>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass25_0.<<UseTypoCorrections>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__24_0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseDirective>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseDebugDirective>b__0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext() --- End of stack trace from previous location --- at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()

loading it also errors Trying to load file: '/Volumes/HDD/SteamLibrary/steamapps/common/DELTARUNEdemo/DELTARUNE.app/Contents/Resources/game.ios' The type initializer for 'Gdip' threw an exception. at 01B39020 while reading object UndertaleModLib.Models.UndertaleEmbeddedTexture+TexData in chunk TXTR

Reproducing steps

1: open the terminal 2: cd to the folder containing the mod tool 3: use the UndertaleModCli executable in dump mode | load mode

Setup Details

UndertaleModTool 0..5.0.0 macOS Big Sur 11.5.1 Deltarune

VladiStep commented 1 year ago

Unable to load shared library 'libgdiplus' or one of its dependencies.

Try to use this command: brew install mono-libgdiplus