ClownMapEd - The Open Source SonMapEd Clone

Discussion in 'Showroom' started by Clownacy, Apr 19, 2023.

  1. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    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!

    Features:
    • 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 open source sprite editor! ;)

    Screenshot:
    [​IMG]

    Source Code: https://github.com/Clownacy/clownmaped
    Windows Executable & Linux AppImage: https://github.com/Clownacy/clownmaped/releases
     
    Last edited: Apr 12, 2024
  2. JGamer2151

    JGamer2151 Well-Known Member/Lurker Member

    Joined:
    Dec 1, 2020
    Messages:
    98
    WHAAAAT?! Never expected anything like this to happen! This is really cool to see!

    I know Flex 2 happens to be the go-to sprite/mapping editor for MD Sonic games these days, but it’s nice to see an alternative happen (which also happens to be an improvement over the original SonMapEd, which I also use a lot; Flex and Flex 2 also aims to improve upon SonMapEd’s functionalities as well in their own ways).

    I’m probably going to use this over SonMapEd; it’s going to be pretty interesting to me since I’ve used SonMapEd a lot, especially since I started ROM hacking back in 2016.
     
    Pacca likes this.
  3. Ashuro

    Ashuro Anti-Cosmic Metal Of Death Member

    Joined:
    Sep 27, 2014
    Messages:
    550
    Location:
    France
    OMG.

    Thank you, thank you so much!

    I was sick of SonMapEd's bugs and problems, and I find Flex 2 counter-intuitive and buggy.

    I'm going to test this right away, and of course, great job!
     
  4. Dark Shamil Khan

    Dark Shamil Khan TASer lol Member

    Joined:
    Nov 7, 2021
    Messages:
    94
    Location:
    Pakistan
    The assembler, then the emulator. NOW THIS!
    Holy moly clownacy, you're on too much smoke. I'll try this soon and give my feedback.
     
    Clownacy likes this.
  5. Pacca

    Pacca Having an online identity crisis since 2019 Member

    Joined:
    Jul 5, 2014
    Messages:
    1,175
    Location:
    Limbo
    I've moved on to Flex2, but I do fall back to SonMapEd occasionally when Flex2s' 'project' system doesn't really fit the task at hand, liking viewing vram dumps and making mappings around them (and SonMapEd is still very temperamental X3). Looks extremely faithful too. Looking forward to trying this out!

    Also happy to see more tools become multiplatform, felt really weird having sonic hacking be windows only.
     
    Last edited: Apr 20, 2023
  6. Ashuro

    Ashuro Anti-Cosmic Metal Of Death Member

    Joined:
    Sep 27, 2014
    Messages:
    550
    Location:
    France
    [​IMG]


    When I try to load art, mappings and DPLC of a shield with ClownMapEd.

    My game lags and all frames are glitched.

    Wtf?
     
    Last edited: Apr 20, 2023
  7. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    Could you send me the art, mappings, and DPLC files for that shield so that I can check what's wrong with them?
     
  8. Ashuro

    Ashuro Anti-Cosmic Metal Of Death Member

    Joined:
    Sep 27, 2014
    Messages:
    550
    Location:
    France
    I managed to do what I wanted to do with SonMapEd finally and when I tried to load the whole thing into ClownMapEd to try again and give you the files, it gives me an error message (normal you said your software used a more efficient method).

    I'll send you more files later!
     
  9. RobiWanKenobi

    RobiWanKenobi Python Developer and ASM enthusiast Member

    Joined:
    Sep 10, 2022
    Messages:
    87
    Location:
    United States
    With ClownMapEd, on linux running under wine, my hack's sonic sprites won't load their dplcs with their mappings, saying that they are incompatible.

    Side note, they were done in the original SonMapEd, and the issue only occurs with my specific mappings and dplcs, the stock sonic 2 ones work fine
     

    Attached Files:

  10. Techokami

    Techokami For use only on NTSC Genesis Systems. Member

    Joined:
    Oct 29, 2007
    Messages:
    20
    Location:
    LINUX
    I'm interested in this, since I'm a Linux-haver myself... though I am more accustomed to Flex2's UI, but that's a "me" thing
     
  11. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    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.
     
    ProjectFM, JGamer2151 and DeltaW like this.
  12. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    Here is v1.1. It fixes a couple of bugs and adds support for MainMemory's MapMacros, which the Git disassemblies of Sonic 1 and 2 now use.
     
    JGamer2151 likes this.
  13. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    Here is v1.1.1.

    Changes:
    • 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.
     
  14. Clownacy

    Clownacy Retired Staff lolololo Member

    Joined:
    Aug 15, 2014
    Messages:
    1,021
    v1.1.2
    https://github.com/Clownacy/ClownMapEd/releases/tag/v1.1.2
    General changes
    • Fixed cycling backwards through sprite pieces getting stuck at piece 0.
    • Fixed the selected sprite piece not being visually highlighted.
    • The editor now gracefully recovers when loading invalid mappings and DPLCs.
    • Sprite importing now only matches the background colour if it is exact.
    • Sprite importing now allows bitmaps which do not mark their unbounded areas.
    Technical changes
    • Added support for Qt 6.
    • Made compatible with Qt 5.12.
    • Offloaded asset processing to the libsonassmd library.
    • Added an AppImage build.
    • Switched to the static MSVC runtime library, avoiding the need for users to install any redistributables.
    This release marks the first time that any of my projects have been released as a Linux AppImage! An AppImage works like a Windows EXE, allowing people to download and try the program with ease; no installer, package manager, or compiling from source code necessary!
     
    JGamer2151, ProjectFM and DeltaW like this.