summaryrefslogtreecommitdiff
path: root/src/sprite.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sprite.c')
-rw-r--r--src/sprite.c39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/sprite.c b/src/sprite.c
index 12c62145e..df101b61f 100644
--- a/src/sprite.c
+++ b/src/sprite.c
@@ -1,6 +1,8 @@
#include "global.h"
-#include "main.h"
#include "sprite.h"
+#include "main.h"
+#include "palette.h"
+#include "menu_cursor.h"
#define MAX_SPRITE_COPY_REQUESTS 64
@@ -8,12 +10,8 @@
#define SET_SPRITE_TILE_RANGE(index, start, count) \
{ \
- u16 *rangeStarts; \
- u16 *rangeCounts; \
- rangeStarts = sSpriteTileRanges; \
- rangeStarts[index * 2] = start; \
- rangeCounts = sSpriteTileRanges + 1; \
- rangeCounts[index * 2] = count; \
+ sSpriteTileRanges[index * 2] = start; \
+ (sSpriteTileRanges + 1)[index * 2] = count; \
}
#define ALLOC_SPRITE_TILE(n) \
@@ -49,23 +47,18 @@ struct OamDimensions
s8 height;
};
-void LoadPalette(u16 *, u16, u32);
-void sub_814A590(void);
-
static void UpdateOamCoords(void);
static void BuildSpritePriorities(void);
static void SortSprites(void);
static void CopyMatricesToOamBuffer(void);
static void AddSpritesToOamBuffer(void);
-static u8 CreateSpriteAt(u8 index, struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
+static u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
static void ClearSpriteCopyRequests(void);
static void ResetOamMatrices(void);
static void ResetSprite(struct Sprite *sprite);
static s16 AllocSpriteTiles(u16 tileCount);
-static u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
+u8 SpriteTileAllocBitmapOp(u16 bit, u8 op);
static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, struct SpriteFrameImage *images);
-static void CopyFromSprites(u8 *dest);
-static void CopyToSprites(u8 *src);
static void ResetAllSprites(void);
static void BeginAnim(struct Sprite *sprite);
static void ContinueAnim(struct Sprite *sprite);
@@ -530,7 +523,7 @@ static void AddSpritesToOamBuffer(void)
}
}
-u8 CreateSprite(struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority)
+u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority)
{
u8 i;
@@ -541,7 +534,7 @@ u8 CreateSprite(struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority)
return MAX_SPRITES;
}
-u8 CreateSpriteAtEnd(struct SpriteTemplate *template, u16 x, u16 y, u8 subpriority)
+u8 CreateSpriteAtEnd(const struct SpriteTemplate *template, u16 x, u16 y, u8 subpriority)
{
s16 i;
@@ -554,7 +547,7 @@ u8 CreateSpriteAtEnd(struct SpriteTemplate *template, u16 x, u16 y, u8 subpriori
u8 CreateInvisibleSprite(void (*callback)(struct Sprite *))
{
- u8 index = CreateSprite((struct SpriteTemplate *)&gDummySpriteTemplate, 0, 0, 31);
+ u8 index = CreateSprite(&gDummySpriteTemplate, 0, 0, 31);
if (index == MAX_SPRITES)
{
@@ -568,7 +561,7 @@ u8 CreateInvisibleSprite(void (*callback)(struct Sprite *))
}
}
-static u8 CreateSpriteAt(u8 index, struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority)
+static u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority)
{
struct Sprite *sprite = &gSprites[index];
@@ -787,7 +780,7 @@ static s16 AllocSpriteTiles(u16 tileCount)
return start;
}
-static u8 SpriteTileAllocBitmapOp(u16 bit, u8 op)
+u8 SpriteTileAllocBitmapOp(u16 bit, u8 op)
{
u8 index = bit / 8;
u8 shift = bit % 8;
@@ -856,7 +849,7 @@ void RequestSpriteCopy(u8 *src, u8 *dest, u16 size)
}
}
-static void CopyFromSprites(u8 *dest)
+void CopyFromSprites(u8 *dest)
{
u32 i;
u8 *src = (u8 *)gSprites;
@@ -868,7 +861,7 @@ static void CopyFromSprites(u8 *dest)
}
}
-static void CopyToSprites(u8 *src)
+void CopyToSprites(u8 *src)
{
u32 i;
u8 *dest = (u8 *)gSprites;
@@ -1635,7 +1628,7 @@ void FreeAllSpritePalettes(void)
sSpritePaletteTags[i] = 0xFFFF;
}
-u8 LoadSpritePalette(struct SpritePalette *palette)
+u8 LoadSpritePalette(const struct SpritePalette *palette)
{
u8 index = IndexOfSpritePaletteTag(palette->tag);
@@ -1656,7 +1649,7 @@ u8 LoadSpritePalette(struct SpritePalette *palette)
}
}
-void LoadSpritePalettes(struct SpritePalette *palettes)
+void LoadSpritePalettes(const struct SpritePalette *palettes)
{
u8 i;
for (i = 0; palettes[i].data != NULL; i++)