The latest alpha release of Macabre2D is now available. Major features include auto-saves in the editor, a save data manager for games, and editable graphics settings. The release can be found here. See below for a full list of changes!

Features

  • Can change the way a property appears in the editor by altering its name in the [DataMember] attribute.
  • When selecting a sprite, the dialog will automatically select the previously selected sprite when first opened.
  • Can flip sprites and text vertically and horizontally.
  • Save data manager added to handle saving and loading saves.
    • Currently only works on Windows.
  • Projects are now auto-saved at a regular interval.
  • Crashes are handled more gracefully.
    • If there is an error, it will be logged.
    • Settings will be saved, if possible.
  • Can select an auto-save if the editor was shutdown incorrectly last session.
  • Custom skull icon now used.
  • Graphics settings can be saved, loaded, and applied.

Refactors

  • Now uses the [DataMember] attribute’s order and name instead of the [Display] attribute, which will clean up both the UI and serialized objects.
  • The value editor for sprites has been cleaned up to match other asset selections. No longer gives a preview of the sprite, but the editor window is literally right there showing it.
  • The title of bool editors is now part of the check box, allowing users to click the text to toggle the bool.
  • Serializer can now be accessed through a singleton instance, similar to game settings and asset manager.
  • Provided components all have an order and name to their serializable properties where necessary.
  • ‘SceneWrapper’ class has been merged with ‘SceneAsset’.
  • Metadata assets no longer require a metadata file (it is stored in the project file).
  • Cleaned up image asset editor, margins on assets, and margins on modules.

Fixes

  • First time assets now load properly instead of resetting to their default state (whoops).
  • Assets now get synchronized properly with components when loading a scene.
    • Previously, if the scene wasn’t initialized, no components would get updated.
  • Selecting a sprite renderer in the component hierarchy will no longer result in the scene having changes to save.
  • Audio player component no longer causes a crash in the editor.
  • Assets not loaded through the content pipeline no longer require physical files.
  • All asset types are properly synced.
    • This means that when editing auto tile sets and sprite animations, auto tile maps and sprite animators will be updated appropriately.
  • Auto tile sets now sync properly with their sprites in the editor.
  • Content should build in both the editor and the game project.

Compatibility Breaks

  • The handling of [DataMember] attribute’s name can cause objects created in previous versions to not deserialize properly going forward.