Porting 3D Movie Maker to Linux

· open-source coding devtools · Source ↗

TLDR

  • 3DMMEx is the first 3D Movie Maker fork to run on Linux, achieved after 18 months by porting the 1995 codebase via SDL, miniaudio, and Ghidra-aided AudioMan decompilation.

Key Takeaways

  • Microsoft open-sourced 3D Movie Maker (codename Socrates) plus the Kauai framework under MIT in May 2022, enabling the port.
  • Main blockers: pre-standard MSVC C++, Win32-only GUI, x86 inline assembly in BRender/Kauai, 32-bit pointer assumptions, and precompiled AudioMan static library.
  • AudioMan was reverse engineered with Ghidra using a debug build with full symbols; replaced on non-Windows with miniaudio for playback and audio input.
  • All x86 assembly replaced with portable C, which also improved performance by exposing modern CPU-optimized memcpy/memmove.
  • Win32 GUI layer swapped for SDL; font enumeration required per-platform reimplementation since SDL has no equivalent to Win32 EnumFonts.

Hacker News Comment Review

  • Discussion is early and thin; no technical debate or implementation critique has emerged yet.
  • Community interest is split between curiosity about why the predecessor 3DMMForever project stalled and basic discovery of the software itself.

Original | Discuss on HN