Coder Social home page Coder Social logo

clownacy / clownmaped Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 1.0 979 KB

Sonic the Hedgehog sprite editor, portable clone of Xenowhirl's SonMapEd.

License: GNU Affero General Public License v3.0

CMake 3.52% C++ 95.63% C 0.38% Shell 0.46%
cplusplus-17 mega-drive qt sega-genesis sega-mega-drive sonic-the-hedgehog sprite-editor

clownmaped's People

Contributors

clownacy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

twanvanb1

clownmaped's Issues

Incompatible with Sonic's mappings from the old Hivebrain Disassembly

ClownMapEd can't load this while SonMapEd can:

; ---------------------------------------------------------------------------
; Sprite mappings - Sonic
; ---------------------------------------------------------------------------
		dc.w byte_21293-Map_Sonic
byte_21293:	dc.b 4			; standing
		dc.b $EC, 8, 0,	0, $F0
		dc.b $F4, $D, 0, 3, $F0
		dc.b 4,	8, 0, $B, $F0
		dc.b $C, 8, 0, $E, $F8
		even

SonMapEd seems to completely ignore if Map_Sonic: is missing while ClownMapEd requires it, stating "file could not be assembled" if attempting to load the above.

Support for loading/writing Hivebrain's MapMacros

At this point, these are the only mappings that this program doesn't yet support. Hivebrain's format is similar to the MainMemory's SpritePiece, albeit with an emphasis on human readability:

; x pos, y pos, dimensions, tile, optional x flip, y flip, priority, and palette options
piece	$10, -$30, 2x2, $5D, xflip, pal2 

Looking at the source of libsonassmd, I get the impression that the program converts macro mappings to binary by assembling them if the presence of a copy of MainMemory's macros in assembler.cpp is any indication. I've prepared a file with the macros required to assemble HB's format, and can provide it to help you get started. That said, there is one significant caveat with regards to writing mapping files in this format: the labels used within the mapping files must remain unchanged, as they are referenced in animation scripts. There is also a possible caveat with handling DPLCs, but I'll leave that for later.

Can't load its own Pattern Load Cues (Sonic 1 format)

When trying to re-open PLCs you've exported, CME says that they're "incompatible with the currently mappings" even if they're the exact same mappings you exported the PLCs with.

It can load any PLCs exported by SonMapEd however.

How to reproduce:

  1. Load mappings (e.g. Sonic's after being fixed so CME won't refuse to load it [just add Map_Sonic: to the beginning of the mappings])
  2. Load Sonic's PLCs
  3. Save the PLCs
  4. try loading the newly saved PLCs

I've also noticed that the PLCs that CME exports seem to be broken when loading them into SonMapEd, just making the mappings appear to be a garbled mess, especially for complex mappings that reference tiles all over the art file.

Default Sonic 1 (Old Hivebrain ASM68k) can't seem to load them properly either, as seemingly random frames will bug out and have the wrong tiles loaded.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.