summaryrefslogtreecommitdiff
path: root/include/sprite.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sprite.h')
-rw-r--r--include/sprite.h31
1 files changed, 17 insertions, 14 deletions
diff --git a/include/sprite.h b/include/sprite.h
index 2da099d59..13d94e9f3 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -130,13 +130,13 @@ struct SpriteTemplate
struct Sprite
{
- struct OamData oam;
- union AnimCmd **anims;
- struct SpriteFrameImage *images;
- union AffineAnimCmd **affineAnims;
- struct SpriteTemplate *template;
- struct SubspriteTable *subspriteTables;
- void (*callback)(struct Sprite *);
+ /*0x00*/ struct OamData oam;
+ /*0x08*/ union AnimCmd **anims;
+ /*0x0C*/ struct SpriteFrameImage *images;
+ /*0x10*/ union AffineAnimCmd **affineAnims;
+ /*0x14*/ const struct SpriteTemplate *template;
+ /*0x18*/ struct SubspriteTable *subspriteTables;
+ /*0x1C*/ void (*callback)(struct Sprite *);
/*0x20*/ struct Coords16 pos1;
/*0x24*/ struct Coords16 pos2;
@@ -179,10 +179,10 @@ struct Sprite
/*0x40*/ u16 sheetTileStart;
- u8 subspriteTableNum:6;
- u8 subspriteMode:2;
+ /*0x42*/ u8 subspriteTableNum:6;
+ u8 subspriteMode:2;
- u8 subpriority;
+ /*0x43*/ u8 subpriority;
};
extern s16 gSpriteCoordOffsetX;
@@ -193,8 +193,8 @@ extern struct Sprite gSprites[];
void ResetSpriteData(void);
void AnimateSprites(void);
void BuildOamBuffer(void);
-u8 CreateSprite(struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
-u8 CreateSpriteAtEnd(struct SpriteTemplate *template, u16 x, u16 y, u8 subpriority);
+u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
+u8 CreateSpriteAtEnd(const struct SpriteTemplate *template, u16 x, u16 y, u8 subpriority);
u8 CreateInvisibleSprite(void (*callback)(struct Sprite *));
u8 CreateSpriteAndAnimate(struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
void DestroySprite(struct Sprite *sprite);
@@ -236,8 +236,8 @@ u16 GetSpriteTileTagByTileStart(u16 start);
void RequestSpriteSheetCopy(struct SpriteSheet *sheet);
u16 LoadSpriteSheetDeferred(struct SpriteSheet *sheet);
void FreeAllSpritePalettes(void);
-u8 LoadSpritePalette(struct SpritePalette *palette);
-void LoadSpritePalettes(struct SpritePalette *palettes);
+u8 LoadSpritePalette(const struct SpritePalette *palette);
+void LoadSpritePalettes(const struct SpritePalette *palettes);
u8 AllocSpritePalette(u16 tag);
u8 IndexOfSpritePaletteTag(u16 tag);
u16 GetSpritePaletteTagByPaletteNum(u8 paletteNum);
@@ -245,5 +245,8 @@ void FreeSpritePaletteByTag(u16 tag);
void SetSubspriteTables(struct Sprite *sprite, struct SubspriteTable *subspriteTables);
bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex);
bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex);
+void CopyToSprites(u8 *src);
+void CopyFromSprites(u8 *dest);
+u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
#endif // GUARD_SPRITE_H