Deprecated : Use Reference Implementations pinned in this forum
Hello again everyone,
This is the preliminary edition of the scml documentation. It takes the form of an interactive document with a side by side of pseudo code and the scml format specification.
This will be expanded over the coming weeks with detailed descriptions of the functions and dom elements being described, but as is, it should provide a good jumping off point for developers creating implementations, and also for anyone attempting to update or troubleshoot an implementation.
I'll be out of town and away from my dev PC for the next few days, but when I return this document will be continually updated along with Spriter to be as useful and clear as possible. In the meantime however, I'll provide you with a few key points to get you started.
â—¾the document is written in a c-like pseudo-code ignoring as many language specifics as possible. This means there is no concept of pointers or references. brackets[] at the end of a type name indicate an array
â—¾float, int, string are intended as general types and can be replaced by double, short, cstring, etc as you see fit
â—¾as all xml parsing will be language specific, this is not addressed in this document, however, the scml and code are side by side. Where the data structures should contain information directly from the file, those items are highlighted, and hovering them reveals the relationship to the scml file.
The pseudo code is released to the public domain under the cc0 license. This means you are free to use it in any way you see fit. ("You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission")
There is a checkbox to hide the scml side, so you can copy paste the code into your IDE or text editor, do a few find/replaces, and you have a basic scml implementation you are free to release it for anyone to use or keep for use in your proprietary engine for your game.
This version only includes a Set Current Time, and Apply Character Map function, and provides a data structure to translate spriter data to be drawn at the position and orientation of your character on screen. In time this will be expanded to provide a full suite of features to make your playback engine as complete and powerful as possible.
This document is the first part of a larger strategy to get Spriter universally supported on all platforms, languages and authoring tools, and we will get into those in greater detail over the coming weeks.
view the documentation here:
http://www.brashmonkey.com/ScmlDocs/ScmlReference.html
and please leave any feedback in our forums