summaryrefslogtreecommitdiff
path: root/include/sprite.h
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-06-19 13:34:32 -0500
committerMarijn van der Werf <marijn.vanderwerf@gmail.com>2017-06-20 15:13:44 +0200
commite072ddd6fbae8b303de546d0e9bd5ace2ecb20a1 (patch)
tree5652c2e7dc0cd743c6114af68bb5af5e88f9a076 /include/sprite.h
parent1fafe80241d56c7e89aa37d0bf6d20a0f4d208f2 (diff)
move data to C and introduce CompressedSpriteSheet and CompressedSpritePalette
Diffstat (limited to 'include/sprite.h')
-rw-r--r--include/sprite.h21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/sprite.h b/include/sprite.h
index dd9d5efb7..3f893132e 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -5,11 +5,18 @@
struct SpriteSheet
{
- const u8 *data;
+ const u8 *data; // Raw uncompressed pixel data
u16 size;
u16 tag;
};
+struct CompressedSpriteSheet
+{
+ const u8 *data; // LZ77 compressed pixel data
+ u16 size; // Uncompressed size of pixel data
+ u16 tag;
+};
+
struct SpriteFrameImage
{
u8 *data;
@@ -20,7 +27,13 @@ struct SpriteFrameImage
struct SpritePalette
{
- const u16 *data;
+ const u16 *data; // Raw uncompressed palette data
+ u16 tag;
+};
+
+struct CompressedSpritePalette
+{
+ const u8 *data; // LZ77 compressed palette data
u16 tag;
};
@@ -99,6 +112,10 @@ union AffineAnimCmd
#define AFFINEANIMCMD_FRAME(_xScale, _yScale, _rotation, _duration) \
{.frame = {.xScale = _xScale, .yScale = _yScale, .rotation = _rotation, .duration = _duration}}
+#define AFFINEANIMCMD_LOOP(_count) \
+ {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}}
+#define AFFINEANIMCMD_JUMP(_target) \
+ {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
#define AFFINEANIMCMD_END \
{.type = AFFINEANIMCMDTYPE_END}