summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/reset_rtc_screen.s67
-rw-r--r--data/text_window.s31
-rw-r--r--include/text_window.h4
-rw-r--r--ld_script.txt4
-rw-r--r--src/engine/reset_rtc_screen.c123
-rw-r--r--src/engine/text_window.c82
-rw-r--r--src/pokemon/mon_markings.c4
7 files changed, 203 insertions, 112 deletions
diff --git a/data/reset_rtc_screen.s b/data/reset_rtc_screen.s
deleted file mode 100644
index a9a3ac847..000000000
--- a/data/reset_rtc_screen.s
+++ /dev/null
@@ -1,67 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_08376420:: @ 8376420
- .byte 3, 0, 1, 0, 15, 39, 0, 2, 0, 0, 0, 0
- .byte 4, 0, 0, 0, 23, 0, 1, 3, 0, 0, 0, 0
- .byte 5, 0, 0, 0, 59, 0, 2, 4, 0, 0, 0, 0
- .byte 6, 0, 0, 0, 59, 0, 3, 5, 0, 0, 0, 0
- .byte 7, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0
-
- .align 2
-gOamData_837645C:: @ 837645C
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteImage_8376464:: @ 8376464
- .incbin "graphics/unknown_sprites/83764AC/0.4bpp"
-
- .align 2
-gSpriteImage_8376484:: @ 8376484
- .incbin "graphics/unknown_sprites/83764AC/1.4bpp"
-
- .align 2
-Palette_3764A4: @ 83764A4
- .incbin "graphics/unknown/83764A4.gbapal"
-
- .align 2
-gSpriteImageTable_83764AC:: @ 83764AC
- obj_frame_tiles gSpriteImage_8376464, 0x20
- obj_frame_tiles gSpriteImage_8376484, 0x20
-
- .align 2
-gUnknown_083764BC:: @ 83764BC
- obj_pal Palette_3764A4, 0x1000
-
- .align 2
-gSpriteAnim_83764C4:: @ 83764C4
- obj_image_anim_frame 0, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83764CC:: @ 83764CC
- obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83764D4:: @ 83764D4
- obj_image_anim_frame 1, 30
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83764DC:: @ 83764DC
- .4byte gSpriteAnim_83764C4
- .4byte gSpriteAnim_83764CC
- .4byte gSpriteAnim_83764D4
-
- .align 2
-gSpriteTemplate_83764E8:: @ 83764E8
- spr_template 0xFFFF, 0x1000, gOamData_837645C, gSpriteAnimTable_83764DC, gSpriteImageTable_83764AC, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
-gUnknown_08376500:: @ 8376500
- .string " : $"
diff --git a/data/text_window.s b/data/text_window.s
deleted file mode 100644
index d8a3dbb38..000000000
--- a/data/text_window.s
+++ /dev/null
@@ -1,31 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_083761F0:: @ 83761F0
- .4byte gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal
- .4byte gTextWindowFrame2_Gfx, gTextWindowFrame2_Pal
- .4byte gTextWindowFrame3_Gfx, gTextWindowFrame3_Pal
- .4byte gTextWindowFrame4_Gfx, gTextWindowFrame4_Pal
- .4byte gTextWindowFrame5_Gfx, gTextWindowFrame5_Pal
- .4byte gTextWindowFrame6_Gfx, gTextWindowFrame6_Pal
- .4byte gTextWindowFrame7_Gfx, gTextWindowFrame7_Pal
- .4byte gTextWindowFrame8_Gfx, gTextWindowFrame8_Pal
- .4byte gTextWindowFrame9_Gfx, gTextWindowFrame9_Pal
- .4byte gTextWindowFrame10_Gfx, gTextWindowFrame10_Pal
- .4byte gTextWindowFrame11_Gfx, gTextWindowFrame11_Pal
- .4byte gTextWindowFrame12_Gfx, gTextWindowFrame12_Pal
- .4byte gTextWindowFrame13_Gfx, gTextWindowFrame13_Pal
- .4byte gTextWindowFrame14_Gfx, gTextWindowFrame14_Pal
- .4byte gTextWindowFrame15_Gfx, gTextWindowFrame15_Pal
- .4byte gTextWindowFrame16_Gfx, gTextWindowFrame16_Pal
- .4byte gTextWindowFrame17_Gfx, gTextWindowFrame17_Pal
- .4byte gTextWindowFrame18_Gfx, gTextWindowFrame18_Pal
- .4byte gTextWindowFrame19_Gfx, gTextWindowFrame19_Pal
- .4byte gTextWindowFrame20_Gfx, gTextWindowFrame20_Pal
-
- .align 1
-gMessageBoxTilemap:: @ 8376290
- .incbin "graphics/text_window/message_box_map.bin"
diff --git a/include/text_window.h b/include/text_window.h
index afd645540..7df1453ca 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -5,8 +5,8 @@
struct FrameGraphics
{
- u8 *tiles;
- u16 *palette;
+ const u8 *tiles;
+ const u16 *palette;
};
u16 SetTextWindowBaseTileNum(u16 baseTileNum);
diff --git a/ld_script.txt b/ld_script.txt
index 25283a52b..d9a4a1c0b 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -342,12 +342,12 @@ SECTIONS {
src/field/field_map_obj.o(.rodata);
src/field/field_ground_effect.o(.rodata);
data/field_map_obj_helpers.o(.rodata);
- data/text_window.o(.rodata);
+ src/engine/text_window.o(.rodata);
src/engine/script.o(.rodata);
src/field/scrcmd.o(.rodata);
src/field/coord_event_weather.o(.rodata);
src/field/field_tasks.o(.rodata);
- data/reset_rtc_screen.o(.rodata);
+ src/engine/reset_rtc_screen.o(.rodata);
src/field/party_menu.o(.rodata);
src/field/start_menu.o(.rodata);
src/engine/menu.o(.rodata);
diff --git a/src/engine/reset_rtc_screen.c b/src/engine/reset_rtc_screen.c
index d052992ad..198bffaa7 100644
--- a/src/engine/reset_rtc_screen.c
+++ b/src/engine/reset_rtc_screen.c
@@ -27,15 +27,126 @@ struct ResetRtcStruct
extern u16 gSaveFileStatus;
-extern struct ResetRtcStruct gUnknown_08376420[];
-extern struct SpritePalette gUnknown_083764BC;
-extern struct SpriteTemplate gSpriteTemplate_83764E8;
-extern u8 gUnknown_08376500[];
-
void CB2_ResetRtcScreen(void);
void VBlankCB_ResetRtcScreen(void);
void Task_ResetRtcScreen(u8);
+static const struct ResetRtcStruct gUnknown_08376420[5] =
+{
+ {
+ .dataIndex = 3,
+ .minVal = 1,
+ .maxVal = 9999,
+ .left = 0,
+ .right = 2,
+ .unk8 = 0,
+ },
+ {
+ .dataIndex = 4,
+ .minVal = 0,
+ .maxVal = 23,
+ .left = 1,
+ .right = 3,
+ .unk8 = 0,
+ },
+ {
+ .dataIndex = 5,
+ .minVal = 0,
+ .maxVal = 59,
+ .left = 2,
+ .right = 4,
+ .unk8 = 0,
+ },
+ {
+ .dataIndex = 6,
+ .minVal = 0,
+ .maxVal = 59,
+ .left = 3,
+ .right = 5,
+ .unk8 = 0,
+ },
+ {
+ .dataIndex = 7,
+ .minVal = 0,
+ .maxVal = 0,
+ .left = 4,
+ .right = 0,
+ .unk8 = 6,
+ },
+};
+
+const struct OamData gOamData_837645C =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const u8 gSpriteImage_8376464[] = INCBIN_U8("graphics/unknown_sprites/83764AC/0.4bpp");
+const u8 gSpriteImage_8376484[] = INCBIN_U8("graphics/unknown_sprites/83764AC/1.4bpp");
+
+const u16 Palette_3764A4[] = INCBIN_U16("graphics/unknown/83764A4.gbapal");
+
+const struct SpriteFrameImage gSpriteImageTable_83764AC[] =
+{
+ { gSpriteImage_8376464, 0x20 },
+ { gSpriteImage_8376484, 0x20 },
+};
+
+const struct SpritePalette gUnknown_083764BC =
+{
+ .data = Palette_3764A4,
+ .tag = 0x1000,
+};
+
+const union AnimCmd gSpriteAnim_83764C4[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_83764CC[] =
+{
+ ANIMCMD_FRAME(0, 158, .vFlip = TRUE),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd gSpriteAnim_83764D4[] =
+{
+ ANIMCMD_FRAME(1, 30),
+ ANIMCMD_JUMP(0),
+};
+
+const union AnimCmd *const gSpriteAnimTable_83764DC[] =
+{
+ gSpriteAnim_83764C4,
+ gSpriteAnim_83764CC,
+ gSpriteAnim_83764D4,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83764E8 =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x1000,
+ .oam = &gOamData_837645C,
+ .anims = gSpriteAnimTable_83764DC,
+ .images = gSpriteImageTable_83764AC,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const u8 gUnknown_08376500[] = _(" : ");
+
void SpriteCB_ResetRtcCusor0(struct Sprite *sprite)
{
int state = gTasks[sprite->data0].data[2];
@@ -235,7 +346,7 @@ void Task_ResetRtc_1(u8 taskId)
{
s16 *data = gTasks[taskId].data;
u8 selection = data[2];
- struct ResetRtcStruct *selectionInfo = &gUnknown_08376420[selection - 1];
+ const struct ResetRtcStruct *selectionInfo = &gUnknown_08376420[selection - 1];
if (gMain.newKeys & B_BUTTON)
{
diff --git a/src/engine/text_window.c b/src/engine/text_window.c
index 9a88789d1..81932650f 100644
--- a/src/engine/text_window.c
+++ b/src/engine/text_window.c
@@ -18,11 +18,89 @@ static void DrawMessageBox(struct Window *win, u8 left, u8 top, u8 width, u8 hei
static u16 sTextWindowBaseTileNum;
static u16 sMessageBoxBaseTileNum;
-extern const struct FrameGraphics gUnknown_083761F0[20];
+extern const u8 gTextWindowFrame1_Gfx[];
+extern const u8 gTextWindowFrame2_Gfx[];
+extern const u8 gTextWindowFrame3_Gfx[];
+extern const u8 gTextWindowFrame4_Gfx[];
+extern const u8 gTextWindowFrame5_Gfx[];
+extern const u8 gTextWindowFrame6_Gfx[];
+extern const u8 gTextWindowFrame7_Gfx[];
+extern const u8 gTextWindowFrame8_Gfx[];
+extern const u8 gTextWindowFrame9_Gfx[];
+extern const u8 gTextWindowFrame10_Gfx[];
+extern const u8 gTextWindowFrame11_Gfx[];
+extern const u8 gTextWindowFrame12_Gfx[];
+extern const u8 gTextWindowFrame13_Gfx[];
+extern const u8 gTextWindowFrame14_Gfx[];
+extern const u8 gTextWindowFrame15_Gfx[];
+extern const u8 gTextWindowFrame16_Gfx[];
+extern const u8 gTextWindowFrame17_Gfx[];
+extern const u8 gTextWindowFrame18_Gfx[];
+extern const u8 gTextWindowFrame19_Gfx[];
+extern const u8 gTextWindowFrame20_Gfx[];
+
+extern const u16 gTextWindowFrame1_Pal[];
+extern const u16 gTextWindowFrame2_Pal[];
+extern const u16 gTextWindowFrame3_Pal[];
+extern const u16 gTextWindowFrame4_Pal[];
+extern const u16 gTextWindowFrame5_Pal[];
+extern const u16 gTextWindowFrame6_Pal[];
+extern const u16 gTextWindowFrame7_Pal[];
+extern const u16 gTextWindowFrame8_Pal[];
+extern const u16 gTextWindowFrame9_Pal[];
+extern const u16 gTextWindowFrame10_Pal[];
+extern const u16 gTextWindowFrame11_Pal[];
+extern const u16 gTextWindowFrame12_Pal[];
+extern const u16 gTextWindowFrame13_Pal[];
+extern const u16 gTextWindowFrame14_Pal[];
+extern const u16 gTextWindowFrame15_Pal[];
+extern const u16 gTextWindowFrame16_Pal[];
+extern const u16 gTextWindowFrame17_Pal[];
+extern const u16 gTextWindowFrame18_Pal[];
+extern const u16 gTextWindowFrame19_Pal[];
+extern const u16 gTextWindowFrame20_Pal[];
-extern const u16 gMessageBoxTilemap[5][7];
extern const u8 gMessageBox_Gfx[];
+static const struct FrameGraphics gUnknown_083761F0[20] =
+{
+ {gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal},
+ {gTextWindowFrame2_Gfx, gTextWindowFrame2_Pal},
+ {gTextWindowFrame3_Gfx, gTextWindowFrame3_Pal},
+ {gTextWindowFrame4_Gfx, gTextWindowFrame4_Pal},
+ {gTextWindowFrame5_Gfx, gTextWindowFrame5_Pal},
+ {gTextWindowFrame6_Gfx, gTextWindowFrame6_Pal},
+ {gTextWindowFrame7_Gfx, gTextWindowFrame7_Pal},
+ {gTextWindowFrame8_Gfx, gTextWindowFrame8_Pal},
+ {gTextWindowFrame9_Gfx, gTextWindowFrame9_Pal},
+ {gTextWindowFrame10_Gfx, gTextWindowFrame10_Pal},
+ {gTextWindowFrame11_Gfx, gTextWindowFrame11_Pal},
+ {gTextWindowFrame12_Gfx, gTextWindowFrame12_Pal},
+ {gTextWindowFrame13_Gfx, gTextWindowFrame13_Pal},
+ {gTextWindowFrame14_Gfx, gTextWindowFrame14_Pal},
+ {gTextWindowFrame15_Gfx, gTextWindowFrame15_Pal},
+ {gTextWindowFrame16_Gfx, gTextWindowFrame16_Pal},
+ {gTextWindowFrame17_Gfx, gTextWindowFrame17_Pal},
+ {gTextWindowFrame18_Gfx, gTextWindowFrame18_Pal},
+ {gTextWindowFrame19_Gfx, gTextWindowFrame19_Pal},
+ {gTextWindowFrame20_Gfx, gTextWindowFrame20_Pal},
+};
+
+//static const u16 gMessageBoxTilemap[5][7] = INCBIN_U16("graphics/text_window/message_box_map.bin");
+// 01 00 03 00 04 00 04 00 05 00 06 00 09 00
+// 0B 00 09 00 09 00 09 00 09 00 0B 04 09 00
+// 07 00 09 00 09 00 09 00 09 00 0A 00 09 00
+// 0B 08 09 00 09 00 09 00 09 00 0B 0C 09 00
+// 01 08 03 08 04 08 04 08 05 08 06 08 09 00
+static const u16 gMessageBoxTilemap[5][7] =
+{
+ {1, 3, 4, 4, 5, 6, 9},
+ {11, 9, 9, 9, 9, 0x040B, 9},
+ {7, 9, 9, 9, 9, 10, 9},
+ {0x080B, 9, 9, 9, 9, 0x0C0B, 9},
+ {0x0801, 0x0803, 0x0804, 0x0804, 0x0805, 0x0806, 9},
+};
+
u16 SetTextWindowBaseTileNum(u16 baseTileNum)
{
sTextWindowBaseTileNum = baseTileNum;
diff --git a/src/pokemon/mon_markings.c b/src/pokemon/mon_markings.c
index 0cad8db59..9ea738c7b 100644
--- a/src/pokemon/mon_markings.c
+++ b/src/pokemon/mon_markings.c
@@ -24,8 +24,8 @@ struct PokemonMarkMenu
/*0x000C*/ struct Sprite *menuWindowSprites[2]; // upper and lower halves of menu window
/*0x0014*/ struct Sprite *menuMarkingSprites[4];
/*0x0024*/ struct Sprite *menuTextSprite;
- /*0x0028*/ u8 *frameTiles;
- /*0x002C*/ u16 *framePalette;
+ /*0x0028*/ const u8 *frameTiles;
+ /*0x002C*/ const u16 *framePalette;
/*0x0030*/ u8 menuWindowSpriteTiles[0x1000];
/*0x1030*/ u8 filler1030[0x80];
/*0x10B0*/ u8 tileLoadState;