summaryrefslogtreecommitdiff
path: root/include/sprite.h
diff options
context:
space:
mode:
authorgarak <garakmon@gmail.com>2018-09-24 08:40:33 -0400
committergarak <garakmon@gmail.com>2018-09-24 08:40:33 -0400
commit72f9afcbf4a81909019f21acad0484b72ed217f6 (patch)
treebc7e9a48b8056e28403e251dab7ac64f649ad9e4 /include/sprite.h
parent3964dbd4822f1b22bbc696add7e56ff0c5b2caea (diff)
parent7ceabffc842dfdf127fd594055f895a0803f54f6 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'include/sprite.h')
-rw-r--r--include/sprite.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/sprite.h b/include/sprite.h
index f972d09cc..8fc45d501 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -26,6 +26,8 @@ struct SpriteFrameImage
#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr}
+#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame * 64)/2, .size = (width * height * 64)/2}
+
struct SpritePalette
{
const u16 *data; // Raw uncompressed palette data
@@ -158,6 +160,8 @@ struct SubspriteTable
struct Sprite;
+typedef void (*SpriteCallback)(struct Sprite *);
+
struct SpriteTemplate
{
u16 tileTag;
@@ -166,7 +170,7 @@ struct SpriteTemplate
const union AnimCmd *const *anims;
const struct SpriteFrameImage *images;
const union AffineAnimCmd *const *affineAnims;
- void (*callback)(struct Sprite *);
+ SpriteCallback callback;
};
struct Sprite
@@ -177,7 +181,7 @@ struct Sprite
/*0x10*/ const union AffineAnimCmd *const *affineAnims;
/*0x14*/ const struct SpriteTemplate *template;
/*0x18*/ const struct SubspriteTable *subspriteTables;
- /*0x1C*/ void (*callback)(struct Sprite *);
+ /*0x1C*/ SpriteCallback callback;
/*0x20*/ struct Coords16 pos1;
/*0x24*/ struct Coords16 pos2;