summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-11-01 22:26:54 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-11-01 22:26:54 -0400
commit30d68db0dceaaef385e2a00a749ea365b5cb658a (patch)
tree7c539c64867132512151b2058d39ec39c5fa85b1 /src
parent2e0b1700f42769e0aa2df2b45c4015056b36c806 (diff)
sRegionMapCursorSpriteTemplate
Diffstat (limited to 'src')
-rw-r--r--src/region_map.c42
1 files changed, 38 insertions, 4 deletions
diff --git a/src/region_map.c b/src/region_map.c
index 195694988..a8bf2dcfb 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -75,6 +75,7 @@ static void RegionMap_GetMarineCaveCoords(u16 *x, u16 *y);
static bool32 RegionMap_IsPlayerInCave(u8 mapSecId);
static void RegionMap_GetPositionOfCursorWithinMapSection(void);
static bool8 RegionMap_IsMapSecIdInNextRow(u16 y);
+static void SpriteCallback_CursorFull(struct Sprite *sprite);
static void FreeRegionMapCursorSprite(void);
static void HideRegionMapPlayerIcon(void);
static void UnhideRegionMapPlayerIcon(void);
@@ -193,8 +194,41 @@ static const u8 sRegionMap_MapSecAquaHideoutOld[] = {
MAPSEC_AQUA_HIDEOUT_OLD
};
-extern const struct SpritePalette gUnknown_085A1C00;
-extern const struct SpriteTemplate gUnknown_085A1C08;
+static const struct OamData sRegionMapCursorOam = {
+ .size = 1, .priority = 1
+};
+
+static const union AnimCmd sRegionMapCursorAnim1[] = {
+ ANIMCMD_FRAME(0, 20),
+ ANIMCMD_FRAME(4, 20),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sRegionMapCursorAnim2[] = {
+ ANIMCMD_FRAME( 0, 10),
+ ANIMCMD_FRAME(16, 10),
+ ANIMCMD_FRAME(32, 10),
+ ANIMCMD_FRAME(16, 10),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sRegionMapCursorAnimTable[] = {
+ sRegionMapCursorAnim1,
+ sRegionMapCursorAnim2
+};
+
+static const struct SpritePalette sRegionMapCursorSpritePalette = { sRegionMapCursorPal, 0 };
+
+static const struct SpriteTemplate sRegionMapCursorSpriteTemplate = {
+ 0,
+ 0,
+ &sRegionMapCursorOam,
+ sRegionMapCursorAnimTable,
+ NULL,
+ gDummySpriteAffineAnimTable,
+ SpriteCallback_CursorFull
+};
+
extern const struct OamData gUnknown_085A1C20;
extern const union AnimCmd *const gUnknown_085A1C30[];
extern const u8 gUnknown_085A1C34[];
@@ -1117,8 +1151,8 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag)
struct SpritePalette palette;
struct SpriteSheet sheet;
- palette = gUnknown_085A1C00;
- template = gUnknown_085A1C08;
+ palette = sRegionMapCursorSpritePalette;
+ template = sRegionMapCursorSpriteTemplate;
sheet.tag = tileTag;
template.tileTag = tileTag;
gRegionMap->cursorTileTag = tileTag;