Skip to content

A Elmish.WPF and SDL2 application to organise sprite sheets and sprite animations.

License

Notifications You must be signed in to change notification settings

BeardedPlatypus/Elmish.Sprightly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a work-in-progress and will be updated further soon

Sprightly - Organising Sprites

Build Status

Elmish.Sprightly is a small Elmish.WPF application to define sprite sheets, sprites, and sprite animations and export the metadata as a json file, so it can be consumed in another application.

Motivation

I wanted to have a small application that let me define sprites and sprite animations on image files, and then export these definitions to a simple human-readable format. These exported definitions will then be consumed by my SDL2 applications. In order to ensure consistency between this application, and my SDL2 applications, Sprightly uses SDL2 to render any and all textures, sprites, and sprite animations.

This is the second incarnation of this application. The first attempt written with Fabulous for Xamarin.Forms can be found here. In order to explore some more UI frameworks with F#, I decided to reimplement it in Elmish.WPF as well. The non-View logic should be rather similar.

This application is meant as a proof of concept / prototype and not a full-fledged production ready application. In order to allow me to maximise my time learning, I opted not to write any unit tests at this time, though they might be added in the future.

Gallery

Start page with a recent projects list and the option to open an existing project or create a new one.

New project page to set up an initial sprightly project.

Project page to manage textures.

Dependencies

  • Elmish.WPF: Elmish.WPF is a production-ready library that allows you to write WPF apps with the robust, simple, well-known, and battle-tested MVU architecture.
  • MahApps.Metro: A toolkit for creating modern WPF applications.
  • Material Design in XAML Toolkit: Comprehensive and easy to use Material Design theme and control library for the Windows desktop.
  • ImageSharp: ImageSharp is a new, fully featured, fully managed, cross-platform, 2D graphics API.
  • SDL2: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.