summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/menu_cursor.s157
-rw-r--r--ld_script.txt1
-rw-r--r--src/engine/menu_cursor.c123
-rw-r--r--sym_ewram.txt3
4 files changed, 109 insertions, 175 deletions
diff --git a/data/menu_cursor.s b/data/menu_cursor.s
index f3c5fe956..522ad496c 100644
--- a/data/menu_cursor.s
+++ b/data/menu_cursor.s
@@ -4,163 +4,6 @@
.section .rodata
.align 2
-OutlineCursorTiles_00:
- .incbin "graphics/interface/outline_cursor_00.4bpp"
-
- .align 2
-OutlineCursorTiles_01:
- .incbin "graphics/interface/outline_cursor_01.4bpp"
-
- .align 2
-OutlineCursorTiles_02:
- .incbin "graphics/interface/outline_cursor_02.4bpp"
-
- .align 2
-OutlineCursorTiles_03:
- .incbin "graphics/interface/outline_cursor_03.4bpp"
-
- .align 2
-OutlineCursorTiles_04:
- .incbin "graphics/interface/outline_cursor_04.4bpp"
-
- .align 2
-OutlineCursorTiles_05:
- .incbin "graphics/interface/outline_cursor_05.4bpp"
-
- .align 2
-OutlineCursorTiles_06:
- .incbin "graphics/interface/outline_cursor_06.4bpp"
-
- .align 2
-OutlineCursorTiles_07:
- .incbin "graphics/interface/outline_cursor_07.4bpp"
-
- .align 2
-OutlineCursorTiles_08:
- .incbin "graphics/interface/outline_cursor_08.4bpp"
-
- .align 2
-OutlineCursorTiles_09:
- .incbin "graphics/interface/outline_cursor_09.4bpp"
-
- .align 2
-OutlineCursorTiles_10:
- .incbin "graphics/interface/outline_cursor_10.4bpp"
-
- .align 2
-OutlineCursorTiles_11:
- .incbin "graphics/interface/outline_cursor_11.4bpp"
-
- .align 2
-OutlineCursorTiles_12:
- .incbin "graphics/interface/outline_cursor_12.4bpp"
-
- .align 2
-OutlineCursorTiles_13:
- .incbin "graphics/interface/outline_cursor_13.4bpp"
-
- .align 2
-OutlineCursorTiles_14:
- .incbin "graphics/interface/outline_cursor_14.4bpp"
-
- .align 2
-OutlineCursorTiles_15:
- .incbin "graphics/interface/outline_cursor_15.4bpp"
-
- .align 2
-gOamData_842F11C:: @ 842F11C
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_842F124:: @ 842F124
- .2byte 0x8800
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gOamData_842F12C:: @ 842F12C
- .2byte 0x8000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_842F134:: @ 842F134
- obj_image_anim_frame 0, 63
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_842F13C:: @ 842F13C
- .4byte gSpriteAnim_842F134
-
- .align 2
-gUnknown_0842F140:: @ 842F140
- obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF0
- obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF0
-
- .align 2
-gUnknown_0842F1C0:: @ 842F1C0
- obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF1
- obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF1
-
- .align 2
-gUnknown_0842F240:: @ 842F240
- obj_pal gUnknown_0203A360, 0xfff0
-
- .align 2
-gUnknown_0842F248:: @ 842F248
- obj_pal gUnknown_0203A360, 0xfff1
-
- .align 2
-gSpriteTemplate_842F250:: @ 842F250
- spr_template 65520, 65520, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F268:: @ 842F268
- spr_template 65520, 0xFFFF, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F280:: @ 842F280
- spr_template 65520, 0xFFFF, gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F298:: @ 842F298
- spr_template 65521, 65521, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_842F2B0:: @ 842F2B0
- spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
gSubspriteTable_842F2C8:: @ 842F2C8
subsprite -1, 0, 0, 0, 8x16
subsprite 1, 0, 0, 4, 8x16
diff --git a/ld_script.txt b/ld_script.txt
index 0bdec4f4a..826b32e14 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -599,6 +599,7 @@ SECTIONS {
src/field/bard_music.o(.rodata);
data/unknown_debug_menu.o(.rodata);
data/strings2.o(.rodata);
+ src/engine/menu_cursor.o(.rodata);
data/menu_cursor.o(.rodata);
data/mystery_event_msg.o(.rodata);
src/libs/m4a_tables.o(.rodata);
diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c
index d43be2a2f..3c4caa39b 100644
--- a/src/engine/menu_cursor.c
+++ b/src/engine/menu_cursor.c
@@ -3,12 +3,114 @@
#include "palette.h"
#include "sprite.h"
-extern const struct SpriteSheet gUnknown_0842F140[];
-extern const struct SpriteSheet gUnknown_0842F1C0[];
-extern const struct SpritePalette gUnknown_0842F240;
-extern const struct SpritePalette gUnknown_0842F248;
-extern const struct SpriteTemplate gSpriteTemplate_842F250[];
-extern const struct SpriteTemplate gSpriteTemplate_842F298[];
+EWRAM_DATA u16 gUnknown_0203A360[0x10] = {};
+EWRAM_DATA struct Subsprite gMenuCursorSubsprites[10] = {0};
+EWRAM_DATA u8 gUnknown_0203A3D0 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D1 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D2 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D3 = 0;
+EWRAM_DATA u8 gUnknown_0203A3D4 = 0;
+
+const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_00.4bpp");
+const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_01.4bpp");
+const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_02.4bpp");
+const u8 OutlineCursorTiles_03[] = INCBIN_U8("graphics/interface/outline_cursor_03.4bpp");
+const u8 OutlineCursorTiles_04[] = INCBIN_U8("graphics/interface/outline_cursor_04.4bpp");
+const u8 OutlineCursorTiles_05[] = INCBIN_U8("graphics/interface/outline_cursor_05.4bpp");
+const u8 OutlineCursorTiles_06[] = INCBIN_U8("graphics/interface/outline_cursor_06.4bpp");
+const u8 OutlineCursorTiles_07[] = INCBIN_U8("graphics/interface/outline_cursor_07.4bpp");
+const u8 OutlineCursorTiles_08[] = INCBIN_U8("graphics/interface/outline_cursor_08.4bpp");
+const u8 OutlineCursorTiles_09[] = INCBIN_U8("graphics/interface/outline_cursor_09.4bpp");
+const u8 OutlineCursorTiles_10[] = INCBIN_U8("graphics/interface/outline_cursor_10.4bpp");
+const u8 OutlineCursorTiles_11[] = INCBIN_U8("graphics/interface/outline_cursor_11.4bpp");
+const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_12.4bpp");
+const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_13.4bpp");
+const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_14.4bpp");
+const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_15.4bpp");
+
+const struct OamData gOamData_842F11C = {
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE
+};
+const struct OamData gOamData_842F124 = {
+ .objMode = ST_OAM_OBJ_WINDOW,
+ .shape = ST_OAM_V_RECTANGLE
+};
+const struct OamData gOamData_842F12C = {
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .shape = ST_OAM_V_RECTANGLE
+};
+
+const union AnimCmd gSpriteAnim_842F134[] = {
+ ANIMCMD_FRAME(0, 63),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_842F13C[] = {
+ gSpriteAnim_842F134
+};
+
+const struct SpriteSheet gUnknown_0842F140[] = {
+ { OutlineCursorTiles_00, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_01, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_02, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_03, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_04, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_05, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_06, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_07, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_08, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_09, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_10, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_11, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_12, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_13, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_14, 0x1C0, 0xFFF0 },
+ { OutlineCursorTiles_15, 0x1C0, 0xFFF0 }
+};
+
+const struct SpriteSheet gUnknown_0842F1C0[] = {
+ { OutlineCursorTiles_00, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_01, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_02, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_03, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_04, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_05, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_06, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_07, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_08, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_09, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_10, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_11, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_12, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_13, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_14, 0x1C0, 0xFFF1 },
+ { OutlineCursorTiles_15, 0x1C0, 0xFFF1 }
+};
+
+const struct SpritePalette gUnknown_0842F240 = {
+ gUnknown_0203A360, 0xfff0
+};
+const struct SpritePalette gUnknown_0842F248 = {
+ gUnknown_0203A360, 0xfff1
+};
+
+const struct SpriteTemplate gSpriteTemplate_842F250[] = {
+ {
+ 0xfff0, 0xfff0, &gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ }, {
+ 0xfff0, 0xffff, &gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ }, {
+ 0xfff0, 0xffff, &gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ }
+};
+const struct SpriteTemplate gSpriteTemplate_842F298[] = {
+ {
+ 0xfff1, 0xfff1, &gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ }, {
+ 0xfff1, 0xffff, &gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ }
+};
extern struct Subsprite *const gUnknown_0842F5BC[];
@@ -20,15 +122,6 @@ extern const struct Subsprite gUnknown_0842F780;
extern const struct Subsprite gUnknown_0842F788;
extern const struct Subsprite gUnknown_0842F790;
-extern u16 gUnknown_0203A360[];
-
-EWRAM_DATA struct Subsprite gMenuCursorSubsprites[10] = {0};
-EWRAM_DATA u8 gUnknown_0203A3D0 = 0;
-EWRAM_DATA u8 gUnknown_0203A3D1 = 0;
-EWRAM_DATA u8 gUnknown_0203A3D2 = 0;
-EWRAM_DATA u8 gUnknown_0203A3D3 = 0;
-EWRAM_DATA u8 gUnknown_0203A3D4 = 0;
-
void sub_814A590(void)
{
gUnknown_0203A3D0 = 0x40;
diff --git a/sym_ewram.txt b/sym_ewram.txt
index b3bf568ac..07715ee24 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -641,7 +641,4 @@ gUnknown_02039460: @ 2039460
gUnknown_02039760: @ 2039760
.space 0xC00
-gUnknown_0203A360: @ 203A360
- .space 0x20
-
.include "src/engine/menu_cursor.o"