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.05k stars 203 forks source link

Decompiler error in Cat Goes Fishing #1726

Open UnknownSandwich opened 1 month ago

UnknownSandwich commented 1 month ago

Describe the bug

Im trying to see a code, but this decompiler error appears in its place. How do i fix that? image

Reproducing steps

  1. I open the code (script)
  2. inside the code box, where was supposed to have a long code (i think), theres this decompiler error code.

Setup Details

  1. UndertaleModTool Version: 0.5.0.
  2. Operating System is Windows 10
  3. Game is Cat Goes Fishing by Cat5Games
Jacky720 commented 1 month ago

Please retry with the current bleeding edge (5041dd3c0b032277df931dbf037df1f1ca13e8f4 at post time), it's over a year newer than 0.5.0.0.

Miepee commented 21 hours ago

I can replicate the same stacktrace in commit fb312d9

/* EXCEPTION!
   System.Exception: Assertion failed! temp != switchEnd
   at UndertaleModLib.Util.DebugUtil.Assert(Boolean expr, String msg) in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModLib\Util\DebugUtil.cs:line 19
   at UndertaleModLib.Decompiler.Decompiler.HLDecompileBlocks(DecompileContext context, Block& block, Dictionary`2 blocks, Dictionary`2 loops, Dictionary`2 reverseDominators, List`1 alreadyVisited, Block currentLoop, Block stopAt, Block breakTo, Boolean decompileTheLoop, UInt32 depth) in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModLib\Decompiler\Decompiler.cs:line 1225
   at UndertaleModLib.Decompiler.Decompiler.HLDecompileBlocks(DecompileContext context, Block& block, Dictionary`2 blocks, Dictionary`2 loops, Dictionary`2 reverseDominators, List`1 alreadyVisited, Block currentLoop, Block stopAt, Block breakTo, Boolean decompileTheLoop, UInt32 depth) in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModLib\Decompiler\Decompiler.cs:line 1293
   at UndertaleModLib.Decompiler.Decompiler.HLDecompileBlocks(DecompileContext context, Block& block, Dictionary`2 blocks, Dictionary`2 loops, Dictionary`2 reverseDominators, List`1 alreadyVisited, Block currentLoop, Block stopAt, Block breakTo, Boolean decompileTheLoop, UInt32 depth) in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModLib\Decompiler\Decompiler.cs:line 1124
   at UndertaleModLib.Decompiler.Decompiler.HLDecompile(DecompileContext context, Dictionary`2 blocks, Block entryPoint, Block rootExitPoint) in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModLib\Decompiler\Decompiler.cs:line 1350
   at UndertaleModLib.Decompiler.Decompiler.Decompile(UndertaleCode code, GlobalDecompileContext globalContext, Action`1 msgDelegate) in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModLib\Decompiler\Decompiler.cs:line 1468
   at UndertaleModTool.UndertaleCodeEditor.<>c__DisplayClass45_1.<DecompileCode>b__1() in D:\a\UndertaleModTool\UndertaleModTool\UndertaleModTool\Editors\UndertaleCodeEditor.xaml.cs:line 655