diff options
Diffstat (limited to 'include/sprite.h')
-rw-r--r-- | include/sprite.h | 31 |
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 |