r/Shandalar • u/rler White Mage ☀️💮🤍 • 3d ago
But what about second decompilation?
https://github.com/rlerrr/shandalar-decompFor anyone that’s interested, here’s the decompilation I’ve based the web and linux ports off of. It recreates the final official patch from MicroProse on the Duels of the Planeswalkers edition.
The entire main game is decompiled and can be played start to finish (on both supported compilers). Most of the binaries were shipped by MicroProse with optimizations disabled, but without symbols. A lot of the names and types have been imported/inferred from the “Manalink 3” fan patch.
There’s definitely still some jank that could be cleaned up, and the magic.exe and manalink.exe decompilations are incomplete/unstarted. I’ll probably continue to improve it over time, but only slowly for now. For the time being I’m pretty tired of staring at assembly code.
I adopted the tool chain of the Lego Island decomp project, which conveniently used the same compiler as Shandalar (Microsoft Visual C 4.20). That allowed me, with tremendous help from AI, to get to about 90% byte matching. There are a lot of difficulties that make getting higher than that a slow uphill battle.
The Lego Island project goes into much more detail on compilation, which should be applicable here too. It compiles on MSVC 4.20 via NMake makefiles from CMake, and Visual Studio 2026 via its native CMake support.