summaryrefslogtreecommitdiff
path: root/src/engine/menu_cursor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/menu_cursor.c')
-rw-r--r--src/engine/menu_cursor.c262
1 files changed, 255 insertions, 7 deletions
diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c
index 3c4caa39b..8dc01c063 100644
--- a/src/engine/menu_cursor.c
+++ b/src/engine/menu_cursor.c
@@ -112,15 +112,263 @@ const struct SpriteTemplate gSpriteTemplate_842F298[] = {
}
};
-extern struct Subsprite *const gUnknown_0842F5BC[];
-extern const struct SubspriteTable gSubspriteTables_842F5C0[];
-extern const struct SubspriteTable gSubspriteTables_842F6C0[];
-extern const struct SubspriteTable gUnknown_0842F758[];
+const struct Subsprite gSubspriteTable_842F2C8[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F2D8[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 9, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F2F0[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 9, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 17, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F310[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 25, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F328[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F340[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 41, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F360[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 17, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 49, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F380[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 25, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 57, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F3A0[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 65, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F3C0[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 41, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 73, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F3E8[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 49, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 81, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F410[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 57, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 89, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F438[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 97, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F460[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 41, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 73, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 105, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F490[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 81, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 113, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F4C0[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 89, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 121, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
-extern const struct Subsprite gUnknown_0842F780;
-extern const struct Subsprite gUnknown_0842F788;
-extern const struct Subsprite gUnknown_0842F790;
+const struct Subsprite gSubspriteTable_842F4F0[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 97, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 129, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F520[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 },
+ { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 41, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 73, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 105, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 137, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite gSubspriteTable_842F558[] = {
+ { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 },
+ { 7, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 },
+ { 35, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 }
+};
+
+const struct Subsprite *const gUnknown_0842F570[] = {
+ gSubspriteTable_842F2C8,
+ gSubspriteTable_842F2C8,
+ gSubspriteTable_842F2D8,
+ gSubspriteTable_842F2F0,
+ gSubspriteTable_842F310,
+ gSubspriteTable_842F328,
+ gSubspriteTable_842F340,
+ gSubspriteTable_842F360,
+ gSubspriteTable_842F380,
+ gSubspriteTable_842F3A0,
+ gSubspriteTable_842F3C0,
+ gSubspriteTable_842F3E8,
+ gSubspriteTable_842F410,
+ gSubspriteTable_842F438,
+ gSubspriteTable_842F460,
+ gSubspriteTable_842F490,
+ gSubspriteTable_842F4C0,
+ gSubspriteTable_842F4F0,
+ gSubspriteTable_842F520
+};
+
+const struct Subsprite *const gUnknown_0842F5BC[] = {
+ gSubspriteTable_842F558
+};
+
+const struct SubspriteTable gSubspriteTables_842F5C0[] = {
+ {1, gMenuCursorSubsprites},
+ {1, gMenuCursorSubsprites},
+ {2, gMenuCursorSubsprites},
+ {3, gMenuCursorSubsprites},
+ {4, gMenuCursorSubsprites},
+ {5, gMenuCursorSubsprites},
+ {6, gMenuCursorSubsprites},
+ {7, gMenuCursorSubsprites},
+ {8, gMenuCursorSubsprites},
+ {9, gMenuCursorSubsprites},
+ {10, gMenuCursorSubsprites},
+ {11, gMenuCursorSubsprites},
+ {12, gMenuCursorSubsprites},
+ {13, gMenuCursorSubsprites},
+ {14, gMenuCursorSubsprites},
+ {15, gMenuCursorSubsprites},
+ {1, gMenuCursorSubsprites},
+ {17, gMenuCursorSubsprites},
+ {18, gMenuCursorSubsprites},
+ {19, gMenuCursorSubsprites},
+ {20, gMenuCursorSubsprites},
+ {21, gMenuCursorSubsprites},
+ {22, gMenuCursorSubsprites},
+ {23, gMenuCursorSubsprites},
+ {24, gMenuCursorSubsprites},
+ {25, gMenuCursorSubsprites},
+ {26, gMenuCursorSubsprites},
+ {27, gMenuCursorSubsprites},
+ {28, gMenuCursorSubsprites},
+ {29, gMenuCursorSubsprites},
+ {30, gMenuCursorSubsprites},
+ {31, gMenuCursorSubsprites}
+};
+
+const struct SubspriteTable gSubspriteTables_842F6C0[] = {
+ {2, gSubspriteTable_842F2C8},
+ {2, gSubspriteTable_842F2C8},
+ {3, gSubspriteTable_842F2D8},
+ {4, gSubspriteTable_842F2F0},
+ {3, gSubspriteTable_842F310},
+ {3, gSubspriteTable_842F328},
+ {4, gSubspriteTable_842F340},
+ {4, gSubspriteTable_842F360},
+ {4, gSubspriteTable_842F380},
+ {4, gSubspriteTable_842F3A0},
+ {5, gSubspriteTable_842F3C0},
+ {5, gSubspriteTable_842F3E8},
+ {5, gSubspriteTable_842F410},
+ {5, gSubspriteTable_842F438},
+ {6, gSubspriteTable_842F460},
+ {6, gSubspriteTable_842F490},
+ {6, gSubspriteTable_842F4C0},
+ {6, gSubspriteTable_842F4F0},
+ {7, gSubspriteTable_842F520}
+};
+
+const struct SubspriteTable gUnknown_0842F758[] = {
+ {3, gMenuCursorSubsprites}
+};
+
+const struct Subsprite gUnknown_0842F760 = {
+ .shape = ST_OAM_V_RECTANGLE
+};
+
+const struct Subsprite gUnknown_0842F768 = {
+ .shape = ST_OAM_V_RECTANGLE, .tileOffset = 4
+};
+
+const struct Subsprite gUnknown_0842F770 = {
+ .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 6
+};
+
+const struct Subsprite gUnknown_0842F778 = {
+ .shape = ST_OAM_V_RECTANGLE, .tileOffset = 2
+};
+
+const struct Subsprite gUnknown_0842F780 = {
+ .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 6
+};
+
+const struct Subsprite gUnknown_0842F788 = {
+ .shape = ST_OAM_V_RECTANGLE, .tileOffset = 2
+};
+
+const struct Subsprite gUnknown_0842F790 = {
+ .shape = ST_OAM_V_RECTANGLE, .tileOffset = 4
+};
void sub_814A590(void)
{