The .sheet format that S3Engine uses is very flexible, simple and general, couple this with tool support, and you've got a perfect candidate for other people to integrate this functionality in their own projects.
So the question is:
Is there anyone who would use the .sheet format and tool in their games?
Before you can answer this you probably need to know more about the .sheet format.
The Format
A .sheet file uses the XML format to represent a logical grid of animation frames for a sprite, the general use of which serves as each row being a compass direction (but this is not set in stone), where the columns of each row act as the animation frames, each frame has 5 parameters:
Texture - image file name
OffsetX - unit value for horizontal offset
OffsetY - unit value for vertical offset
FlipX - horizontal flip flag
FlipY - vertical flip flag
Given the nature of XML, other implementation specific properties can be added, without breaking backwards compatibility.
Given that the use of the sheet file is up to the developer (they must write code to read the format), the actual meanings of the columns and rows is app specific.
Sample (may differ slightly from final release):
"1.0"?> data/tex1.png 0.5 0.5 false false data/tex2.png 0.5 0.5 false false data/tex3.png 0.5 0.5 false false data/tex4.png 0.5 0.5 false false
The Tool
The current tool for making .sheet files is called the Sheet Editor.
It's primary function is to import raw, uncropped image files (png at the moment), allow the developer to arange them in a rectangular grid, using simple
functionality such as copy,paste and delete, and to manipulate them using algorithims such as reverse and flipping vertically or horizontally.
Finally the new sheet can be exported, where options for file renaming (to create a single linear set of images from a potentially mixed source) and croping with offset (to eliminate unneeded whitespace on a per-frame basis, and to apply base left-top origin offset).
The result is a list of files with a single associated .sheet file, which provides the path linkages and additional offset information.
This format is ideal for 2D sprite based games, which do not have fixed sized sprites (such as all sprites being 32x32 which would allow for easy atlasing), and where using a per-frame solution will allow for massive amounts of white-space to be cut. In short, most 2D isometric games.
Anyone interested?