ClownMapEd - The Open Source SonMapEd Clone


SonMapEd is pretty old, having last been updated in 2007, but for the last decade it has served as my go-to sprite editor and converter. Unfortunately, there are a few places where it shows its age, such as its inefficient data compression, blurriness on high-DPI displays, and shoddy DPLC generation. Due to SonMapEd being closed-source software, it is not possible to address these issues without complex low-level reverse engineering of the EXE. Additionally, being nothing more than a closed-source EXE, SonMapEd lacks native support for other operating systems (such as Linux) and CPU architectures (such as ARM).

I hope to bring an end to these problems and more with the release of my open source, portable SonMapEd clone - ClownMapEd!

  • Written in modern C++!
  • Support for Windows, Linux, and presumably many other desktop operating systems, owing to the portability of the Qt framework!
  • Support for high-DPI displays, eliminating the blurriness that plagues SonMapEd!
  • Vastly-improved DPLC generation, producing data that is even more efficient than that in the original games, and far more efficient than that of SonMapEd!
  • Improved data compression, by leveraging Flamewing's 'mdcomp' compression library!
  • Support for the Kosinski+ and Comper compression formats!
  • Improved colour-matching for sprite importing, leveraging the Delta-E 2000 colour difference algorithm!
  • Additional keyboard shortcuts that benefit users of alternate keyboard layouts!
  • An accurate clone of SonMapEd, meaning that anyone who is familiar with it will be right at home with ClownMapEd!
  • Not based on the bloated Electron framework, unlike a certain other sprite editor! ;)


Source Code:
Windows Executable:
Last edited:
Here is v1.0.1. It is a small update that adds two things:
  • More file extensions, such as '.nem' and '.kos'.
  • More keyboard shortcuts, which provide alternatives to the ';', ''', '[', and ']' keys. These new shortcuts use the '6', '7', '8', and '9' keys, respectively.
Here is v1.1.1.

  • Saving tiles/palettes/mappings/DPLCs no longer requires permission to overwrite existing files.
  • Non-MapMacro mappings/DPLCs no longer use local labels, to improve compatibility with old disassemblies.
  • Tiles can now be saved in assembly format.