CadEditor. Release 5.2

in utopian-io •  5 days ago


CadEditor is the universal level editor for NES/SMD/SNES/Game Boy games, the introduction of the project was here


New update of CadEditor project:

  • Game Boy support: plugin for rendering GB graphics and test config for 1 level for Darkwing Duck [GB]
  • Plugin for edit Turbo Tunnel Races for Battletoads [NES]

(these plugins was described here)

  • Command line options for select files to open (ROM-file, config file, settings file, dump file)
  • Fix settings for Duck Tales 2 [NES] and macroblocks editor (Blocks and macroblocks sets was wrong)
  • Add ability to describe macroblock sets with different address and count (need for Shatterhand [NES]). Will be described below.
  • Shatterhand - sublevels merged in one config (Needs for layout editor and object editor), object editors for level 1 and 2.
  • Update of settings verificator (some broken config was fixed with it)
  • GUI improvements for screen editor - controls for scale, select and disable/enable for any layer - layer 1, layer 2, physics layer, additional layer).
  • Enable/Disable addiitional rendering (Hints for blocks physics in Battletoads[NES])
  • Ability to describe physics in separate layer (for Little Samson[NES], for example). Will be described in details below.
  • Export to TMX no need pytmx and IronPython library in a system (rewritten in C#). Also, it works much faster.

Post Body

This update contains many little fixes and several big improvements, that leads to support new games. Basic support of games for Game Boy was already described, and other main improvements are Support of different sets of macroblocks and Separate physics layer

Support of different sets of macroblocks

NES games have a limited video memory size (256 tiles of size 8x8). These tiles assembled to blocks (2x2, 4x4 tiles or other sizes), and often blocks assembled to macroblocks (2x2, 4x4 blocks in 1 macroblock or other sizes). Sometimes level designers used several tiles/blocks/macroblocks set in different parts of the level. They used doors, exits, teleports or other objects for the reason to change decorations.

All the games added before used aligned blocks/macroblocks sets (mostly, 256 blocks/macroblocks per set) or merged sets for memory economy (part of blocks used in one level with one tileset, and other part used another).

Example of merged blockset (some blocks use tileset 0, other use tileset 1), Chip and Dale [NES]:

But occasionally, sublevels of one level in the game can use totally different block/macroblock set, described in the different part of the ROM-file, and arrays with description can have different sizes. This levels also need to be rendered together, so I added the ability to describe any different block sets for one level.

Example of the result from game Shatterhand [NES] (all blocks use the same tileset, but level 2-1 use macroblock set 1, and level 2-2 use macroblock set 2):

Separate physics layer

Most of the games describe physics properties at the level of blocks. For example, if block 0 is "rock" and it physics describe as "obstacle", then all these blocks on the map will have "obstacle" physics. But some games not used this scheme, and every "rock" block 0 on the map can have different physics property. For example, one rock block can have obstacle property, on other (with same tiles) rock block can be background. For this games, physics properties saved separately, not in blocks. Example of games with this type of physics description - Raf World, Battletoads, Little Samson

For this games, I added the ability to describe separate physics blocks in game configs with functions (developers of configs can redefine this functions for other games as they need):
public LoadPhysicsLayer loadPhysicsLayerFunc() { return loadPhysicsLayer; }
public SavePhysicsLayer savePhysicsLayerFunc() { return savePhysicsLayer; }

And, if this function will be redefined, CadEditor can show physics layer and users can edit this layers separately from blocks layer.


CadEditor Release 5.2 on github
Patreon post post forum theme related to CadEditor


  • Added support of new platform (SNES/GBA)
  • Describe physics layer for games with separate physics layer (Battletoads, at least)
  • Added object editors for many games

Series Backlinks

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hello, @pinkwonder!

Thank you for your contribution. This series of yours is rather interesting, and therefore, I might have to go back and read your previous submissions as well. Keep up the good work!

Your post is informative and well-illustrated with quality screenshots. You have put a lot of effort into this project, and I appreciate your work. However, I have to admit that I wanted to read a bit more about your personal experience of working on this project. I wanted to read more about your personal goals and the obstacles you were faced with; this is the kind of editorial content we like to see in blog posts.

That said, there were issues of style and grammar, but not to the level where it hurt the reading experience. Moreover, I believe that this could have been a great post if you had presented all the information in a more detailed manner. Regardless, you did a good job, and I appreciate the time and effort you put into this project.

I look forward to your next contribution.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

Need help? Write a ticket on
Chat with us on Discord.


Thanks for the review.

I wanted to read more about your personal goals and the obstacles you were faced with; this is the kind of editorial content we like to see in blog posts.

I think, this is a great idea, CadEditor is a project with a 5-year history started from scratch and with no analogs (some other editors support several games and config files, but no one can support games with any format, as I know), so I can tell about solutions, how I achieved it.

there were issues of style and grammar, but not to the level where it hurt the reading experience. Moreover, I believe that this could have been a great post if you had presented all the information in a more detailed manner

Thanks, English is not my native, and I understand that there are errors in the text, and feedback about style and grammar is important for me. I hope, someday my texts will be more correct.


Thank you for your review, @lordneroo! Keep up the good work!

This project is being supported by @Fundition

Fundition is a next-generation, decentralized, peer-to-peer crowdfunding and collaboration platform, built on the Steem blockchain.

#upfundition and #fundition tags on Steem represent the projects that are started on

Are You Prepared to Make the World a Better Place too?

Read the full details of Fundition Fund program

Learn more about Fundition by reading our purplepaper


Join a community with heart based giving at its core


Thanks for your support!

Hey, @pinkwonder!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support!
Simply set as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord

Vote for Utopian Witness!


you just received a 11.58% upvote from @steemhq - Community Bot!

Wanna join and receive free upvotes yourself?
Vote for steemhq.witness on Steemit or directly on SteemConnect and join the Community Witness.

This service was brought to you by