summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCameron Hall <camthesaxman@users.noreply.github.com>2017-01-28 13:08:09 -0500
committerYamaArashi <YamaArashi@users.noreply.github.com>2017-01-28 10:08:09 -0800
commit9a500a622b7fb666b8b45e1280af02084fcbc12d (patch)
tree4e3bdc79dc14309c894fb15c567f579f030475fc
parentb9f1143d3e9b32120cc62fcc7a822d3bca8ef976 (diff)
define data in title_screen.c and fix build (#221)
* define more data in C * correct typo in comments * define data in title_screen.c * define data in title_screen.c and fix build
-rw-r--r--data/title_screen.s215
-rw-r--r--ld_script.txt3
-rw-r--r--src/menu.c2
-rw-r--r--src/title_screen.c368
4 files changed, 309 insertions, 279 deletions
diff --git a/data/title_screen.s b/data/title_screen.s
deleted file mode 100644
index 7c818eeb2..000000000
--- a/data/title_screen.s
+++ /dev/null
@@ -1,215 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_08393210:: @ 8393210
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/kyogre_dark.gbapal"
- .incbin "graphics/title_screen/kyogre_glow.gbapal"
- .else
- .incbin "graphics/title_screen/groudon_dark.gbapal"
- .incbin "graphics/title_screen/groudon_glow.gbapal"
- .endif
-
- .align 2
-gUnknown_08393250:: @ 8393250
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/kyogre.4bpp.lz"
- .else
- .incbin "graphics/title_screen/groudon.4bpp.lz"
- .endif
-
- .align 2
-gUnknown_083939EC:: @ 83939EC
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/kyogre_map.bin.lz"
- .else
- .incbin "graphics/title_screen/groudon_map.bin.lz"
- .endif
-
- .align 2
-gUnknown_08393BF8:: @ 8393BF8
- .ifdef SAPPHIRE
- .incbin "graphics/title_screen/water_map.bin.lz"
- .else
- .incbin "graphics/title_screen/lava_map.bin.lz"
- .endif
-
- .align 2
-LogoShineTiles: @ 8393D14
- .incbin "graphics/title_screen/logo_shine.4bpp.lz"
-
- .align 1
-gUnknown_08393E64:: @ 8393E64
- .2byte 0x10
- .2byte 0x110
- .2byte 0x210
- .2byte 0x310
- .2byte 0x410
- .2byte 0x510
- .2byte 0x610
- .2byte 0x710
- .2byte 0x810
- .2byte 0x910
- .2byte 0xA10
- .2byte 0xB10
- .2byte 0xC10
- .2byte 0xD10
- .2byte 0xE10
- .2byte 0xF10
- .2byte 0x100F
- .2byte 0x100E
- .2byte 0x100D
- .2byte 0x100C
- .2byte 0x100B
- .2byte 0x100A
- .2byte 0x1009
- .2byte 0x1008
- .2byte 0x1007
- .2byte 0x1006
- .2byte 0x1005
- .2byte 0x1004
- .2byte 0x1003
- .2byte 0x1002
- .2byte 0x1001
- .2byte 0x1000
-
- .align 2
-gOamData_8393EA4:: @ 8393EA4
- .2byte 0x60A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gOamData_8393EAC:: @ 8393EAC
- .2byte 0x60A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8393EB4:: @ 8393EB4
- obj_image_anim_frame 0, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393EBC:: @ 8393EBC
- obj_image_anim_frame 64, 30
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8393EC4:: @ 8393EC4
- .4byte gSpriteAnim_8393EB4
-
- .align 2
-gSpriteAnimTable_8393EC8:: @ 8393EC8
- .4byte gSpriteAnim_8393EBC
-
- .align 2
-gSpriteTemplate_8393ECC:: @ 8393ECC
- spr_template 1000, 1000, gOamData_8393EA4, gSpriteAnimTable_8393EC4, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerLeft
-
- .align 2
-gSpriteTemplate_8393EE4:: @ 8393EE4
- spr_template 1000, 1000, gOamData_8393EAC, gSpriteAnimTable_8393EC8, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerRight
-
- .align 2
-gUnknown_08393EFC:: @ 8393EFC
- obj_tiles gVersionTiles, 0x1000, 1000
- null_obj_tiles
-
- .align 2
-gOamData_8393F0C:: @ 8393F0C
- .2byte 0x40A0
- .2byte 0x4000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8393F14:: @ 8393F14
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F1C:: @ 8393F1C
- obj_image_anim_frame 4, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F24:: @ 8393F24
- obj_image_anim_frame 8, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F2C:: @ 8393F2C
- obj_image_anim_frame 12, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F34:: @ 8393F34
- obj_image_anim_frame 16, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F3C:: @ 8393F3C
- obj_image_anim_frame 20, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F44:: @ 8393F44
- obj_image_anim_frame 24, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_8393F4C:: @ 8393F4C
- obj_image_anim_frame 28, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8393F54:: @ 8393F54
- .4byte gSpriteAnim_8393F14
- .4byte gSpriteAnim_8393F1C
- .4byte gSpriteAnim_8393F24
- .4byte gSpriteAnim_8393F2C
- .4byte gSpriteAnim_8393F34
- .4byte gSpriteAnim_8393F3C
- .4byte gSpriteAnim_8393F44
- .4byte gSpriteAnim_8393F4C
-
- .align 2
-gSpriteTemplate_8393F74:: @ 8393F74
- spr_template 1001, 1001, gOamData_8393F0C, gSpriteAnimTable_8393F54, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PressStartCopyrightBanner
-
- .align 2
-gUnknown_08393F8C:: @ 8393F8C
- obj_tiles gTitleScreenPressStart_Gfx, 0x520, 1001
- null_obj_tiles
-
- .align 2
-gUnknown_08393F9C:: @ 8393F9C
- obj_pal gTitleScreenLogoShinePalette, 1001
- obj_pal 0x0, 0x0
-
- .align 2
-gOamData_8393FAC:: @ 8393FAC
- .2byte 0x00A0
- .2byte 0xC000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_8393FB4:: @ 8393FB4
- obj_image_anim_frame 0, 4
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_8393FBC:: @ 8393FBC
- .4byte gSpriteAnim_8393FB4
-
- .align 2
-gSpriteTemplate_8393FC0:: @ 8393FC0
- spr_template 1002, 1001, gOamData_8393FAC, gSpriteAnimTable_8393FBC, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PokemonLogoShine
-
- .align 2
-gUnknown_08393FD8:: @ 8393FD8
- obj_tiles LogoShineTiles, 0x800, 1002
- null_obj_tiles
diff --git a/ld_script.txt b/ld_script.txt
index 063f030d7..4373dd6c0 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -338,11 +338,10 @@ SECTIONS {
data/data_8393054.o(.rodata);
data/task.o(.rodata);
data/battle_anim_807B69C.o(.rodata);
- data/title_screen.o(.rodata);
+ src/title_screen.o(.rodata);
data/weather.o(.rodata);
data/rom_8080874.o(.rodata);
src/battle_setup.o(.rodata);
- data/battle_setup.o(.rodata);
data/cable_club.o(.rodata);
data/mori_debug_menu.o(.rodata);
data/trainer_see.o(.rodata);
diff --git a/src/menu.c b/src/menu.c
index a4e5d9065..ba98ff057 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -654,7 +654,7 @@ u8 *sub_8072C44(u8 *a1, s32 a2, u8 a3, u8 a4)
return AlignInt2(gMenuWindowPtr, a1, a2, a3, a4);
}
-u8 *sub_8072C74(u8 *a1, u8 *a2, u8 a3, u8 a4)
+u8 *sub_8072C74(u8 *a1, const u8 *a2, u8 a3, u8 a4)
{
return AlignString(gMenuWindowPtr, a1, a2, a3, a4);
}
diff --git a/src/title_screen.c b/src/title_screen.c
index 35f3d049c..86ca1c365 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -19,32 +19,270 @@ extern struct MusicPlayerInfo gMPlay_BGM;
extern u8 gUnknown_0202F7E4;
extern u16 gUnknown_030041B4;
extern u16 gUnknown_030042C0;
-extern u8 gUnknown_08393210[];
-extern u8 gUnknown_08393250[];
-extern u8 gUnknown_083939EC[];
-extern u8 gUnknown_08393BF8[];
-extern u16 gUnknown_08393E64[];
-extern struct SpriteTemplate gSpriteTemplate_8393ECC;
-extern struct SpriteTemplate gSpriteTemplate_8393EE4;
-extern struct SpriteSheet gUnknown_08393EFC;
-extern struct SpriteTemplate gSpriteTemplate_8393F74;
-extern struct SpriteSheet gUnknown_08393F8C;
-extern const struct SpritePalette gUnknown_08393F9C[];
-extern struct SpriteTemplate gSpriteTemplate_8393FC0;
-extern struct SpriteSheet gUnknown_08393FD8;
-extern u8 gUnknown_08E9D8CC[];
-extern u8 gUnknown_08E9F624[];
-extern u8 gUnknown_08E9F7E4[];
+extern const u8 gUnknown_08E9D8CC[];
+extern const u16 gUnknown_08E9F624[];
+extern const u8 gUnknown_08E9F7E4[];
+extern const u8 gVersionTiles[];
+extern const u8 gTitleScreenPressStart_Gfx[];
+extern const u16 gTitleScreenLogoShinePalette[];
-static void MainCB2(void);
-static void Task_TitleScreenPhase1(u8);
-static void Task_TitleScreenPhase2(u8);
-static void Task_TitleScreenPhase3(u8);
-static void CB2_GoToMainMenu(void);
-static void CB2_GoToClearSaveDataScreen(void);
-static void CB2_GoToResetRtcScreen(void);
-static void CB2_GoToCopyrightScreen(void);
-static void UpdateLegendaryMarkingColor(u8);
+#ifdef SAPPHIRE
+static const u16 sLegendaryMonPalettes[][16] =
+{
+ INCBIN_U16("graphics/title_screen/kyogre_dark.gbapal"),
+ INCBIN_U16("graphics/title_screen/kyogre_glow.gbapal"),
+};
+static const u8 sLegendaryMonPixelData[] = INCBIN_U8("graphics/title_screen/kyogre.4bpp.lz");
+static const u8 sLegendaryMonTilemap[] = INCBIN_U8("graphics/title_screen/kyogre_map.bin.lz");
+static const u8 sBackdropTilemap[] = INCBIN_U8("graphics/title_screen/water_map.bin.lz");
+#else
+static const u16 sLegendaryMonPalettes[][16] =
+{
+ INCBIN_U16("graphics/title_screen/groudon_dark.gbapal"),
+ INCBIN_U16("graphics/title_screen/groudon_glow.gbapal"),
+};
+static const u8 sLegendaryMonPixelData[] = INCBIN_U8("graphics/title_screen/groudon.4bpp.lz");
+static const u8 sLegendaryMonTilemap[] = INCBIN_U8("graphics/title_screen/groudon_map.bin.lz");
+static const u8 sBackdropTilemap[] = INCBIN_U8("graphics/title_screen/lava_map.bin.lz");
+#endif
+static const u8 sLogoShineTiles[] = INCBIN_U8("graphics/title_screen/logo_shine.4bpp.lz");
+const u16 gUnknown_08393E64[] =
+{
+ 0x10,
+ 0x110,
+ 0x210,
+ 0x310,
+ 0x410,
+ 0x510,
+ 0x610,
+ 0x710,
+ 0x810,
+ 0x910,
+ 0xA10,
+ 0xB10,
+ 0xC10,
+ 0xD10,
+ 0xE10,
+ 0xF10,
+ 0x100F,
+ 0x100E,
+ 0x100D,
+ 0x100C,
+ 0x100B,
+ 0x100A,
+ 0x1009,
+ 0x1008,
+ 0x1007,
+ 0x1006,
+ 0x1005,
+ 0x1004,
+ 0x1003,
+ 0x1002,
+ 0x1001,
+ 0x1000,
+};
+static const struct OamData sVersionBannerLeftOamData =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 1,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+static const struct OamData sVersionBannerRightOamData =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 1,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+static const union AnimCmd sVersionBannerLeftAnimSequence[] =
+{
+ ANIMCMD_FRAME(0, 30),
+ ANIMCMD_END,
+};
+static const union AnimCmd sVersionBannerRightAnimSequence[] =
+{
+ ANIMCMD_FRAME(64, 30),
+ ANIMCMD_END,
+};
+static const union AnimCmd *const sVersionBannerLeftAnimTable[] =
+{
+ sVersionBannerLeftAnimSequence,
+};
+static const union AnimCmd *const sVersionBannerRightAnimTable[] =
+{
+ sVersionBannerRightAnimSequence,
+};
+static const struct SpriteTemplate sVersionBannerLeftSpriteTemplate =
+{
+ .tileTag = 1000,
+ .paletteTag = 1000,
+ .oam = &sVersionBannerLeftOamData,
+ .anims = sVersionBannerLeftAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallback_VersionBannerLeft,
+};
+static const struct SpriteTemplate sVersionBannerRightSpriteTemplate =
+{
+ .tileTag = 1000,
+ .paletteTag = 1000,
+ .oam = &sVersionBannerRightOamData,
+ .anims = sVersionBannerRightAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallback_VersionBannerRight,
+};
+static const struct SpriteSheet gUnknown_08393EFC[] =
+{
+ {gVersionTiles, 0x1000, 1000},
+ {NULL},
+};
+static const struct OamData gOamData_8393F0C =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+static const union AnimCmd gSpriteAnim_8393F14[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F1C[] =
+{
+ ANIMCMD_FRAME(4, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F24[] =
+{
+ ANIMCMD_FRAME(8, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F2C[] =
+{
+ ANIMCMD_FRAME(12, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F34[] =
+{
+ ANIMCMD_FRAME(16, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F3C[] =
+{
+ ANIMCMD_FRAME(20, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F44[] =
+{
+ ANIMCMD_FRAME(24, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd gSpriteAnim_8393F4C[] =
+{
+ ANIMCMD_FRAME(28, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd *const sStartCopyrightBannerAnimTable[] =
+{
+ gSpriteAnim_8393F14,
+ gSpriteAnim_8393F1C,
+ gSpriteAnim_8393F24,
+ gSpriteAnim_8393F2C,
+ gSpriteAnim_8393F34,
+ gSpriteAnim_8393F3C,
+ gSpriteAnim_8393F44,
+ gSpriteAnim_8393F4C,
+};
+static const struct SpriteTemplate sStartCopyrightBannerSpriteTemplate =
+{
+ .tileTag = 1001,
+ .paletteTag = 1001,
+ .oam = &gOamData_8393F0C,
+ .anims = sStartCopyrightBannerAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallback_PressStartCopyrightBanner,
+};
+static const struct SpriteSheet gUnknown_08393F8C[] =
+{
+ {gTitleScreenPressStart_Gfx, 0x520, 1001},
+ {NULL},
+};
+const struct SpritePalette sPokemonLogoShinePalette[] =
+{
+ {gTitleScreenLogoShinePalette, 1001},
+ {NULL},
+};
+static const struct OamData sPokemonLogoShineOamData =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+static const union AnimCmd sPokemonLogoShineAnimSequence[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+static const union AnimCmd *const sPokemonLogoShineAnimTable[] =
+{
+ sPokemonLogoShineAnimSequence,
+};
+static const struct SpriteTemplate sPokemonLogoShineSpriteTemplate =
+{
+ .tileTag = 1002,
+ .paletteTag = 1001,
+ .oam = &sPokemonLogoShineOamData,
+ .anims = sPokemonLogoShineAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallback_PokemonLogoShine,
+};
+static const struct SpriteSheet sPokemonLogoShineSpriteSheet[] =
+{
+ {sLogoShineTiles, 0x800, 1002},
+ {NULL},
+};
#define _RGB(r, g, b) ((((b) & 31) << 10) + (((g) & 31) << 5) + ((r) & 31))
@@ -66,6 +304,16 @@ static void UpdateLegendaryMarkingColor(u8);
#define RESET_RTC_BUTTON_COMBO (B_BUTTON | SELECT_BUTTON | DPAD_LEFT)
#define A_B_START_SELECT (A_BUTTON | B_BUTTON | START_BUTTON | SELECT_BUTTON)
+static void MainCB2(void);
+static void Task_TitleScreenPhase1(u8);
+static void Task_TitleScreenPhase2(u8);
+static void Task_TitleScreenPhase3(u8);
+static void CB2_GoToMainMenu(void);
+static void CB2_GoToClearSaveDataScreen(void);
+static void CB2_GoToResetRtcScreen(void);
+static void CB2_GoToCopyrightScreen(void);
+static void UpdateLegendaryMarkingColor(u8);
+
void SpriteCallback_VersionBannerLeft(struct Sprite *sprite)
{
struct Task *task = &gTasks[sprite->data1];
@@ -134,7 +382,7 @@ static void CreatePressStartBanner(s16 x, s16 y)
x -= 32;
for (i = 0; i < 3; i++, x += 32)
{
- spriteId = CreateSprite(&gSpriteTemplate_8393F74, x, y, 0);
+ spriteId = CreateSprite(&sStartCopyrightBannerSpriteTemplate, x, y, 0);
StartSpriteAnim(&gSprites[spriteId], i);
gSprites[spriteId].data0 = 1;
}
@@ -148,7 +396,7 @@ static void CreateCopyrightBanner(s16 x, s16 y)
x -= 64;
for (i = 0; i < 5; i++, x += 32)
{
- spriteId = CreateSprite(&gSpriteTemplate_8393F74, x, y, 0);
+ spriteId = CreateSprite(&sStartCopyrightBannerSpriteTemplate, x, y, 0);
StartSpriteAnim(&gSprites[spriteId], i + 3);
}
}
@@ -193,7 +441,7 @@ void SpriteCallback_PokemonLogoShine(struct Sprite *sprite)
static void StartPokemonLogoShine(bool8 flashBackground)
{
- u8 spriteId = CreateSprite(&gSpriteTemplate_8393FC0, 0, 68, 0);
+ u8 spriteId = CreateSprite(&sPokemonLogoShineSpriteTemplate, 0, 68, 0);
gSprites[spriteId].oam.objMode = 2;
gSprites[spriteId].data0 = flashBackground;
@@ -208,11 +456,9 @@ static void VBlankCB(void)
REG_BG1VOFS = gUnknown_030041B4;
}
-enum
-{
- TD_COUNTER,
- TD_SKIP,
-};
+
+#define tCounter data[0]
+#define tSkipToNext data[1]
void CB2_InitTitleScreen(void)
{
@@ -245,28 +491,28 @@ void CB2_InitTitleScreen(void)
LZ77UnCompVram(gUnknown_08E9D8CC, (void *)VRAM);
LZ77UnCompVram(gUnknown_08E9F7E4, (void *)(VRAM + 0x4800));
LoadPalette(gUnknown_08E9F624, 0, 0x1C0);
- LZ77UnCompVram(gUnknown_08393250, (void *)(VRAM + 0x8000));
- LZ77UnCompVram(gUnknown_083939EC, (void *)(VRAM + 0xC000));
- LZ77UnCompVram(gUnknown_08393BF8, (void *)(VRAM + 0xC800));
- LoadPalette(gUnknown_08393210, 0xE0, 0x40);
+ LZ77UnCompVram(sLegendaryMonPixelData, (void *)(VRAM + 0x8000));
+ LZ77UnCompVram(sLegendaryMonTilemap, (void *)(VRAM + 0xC000));
+ LZ77UnCompVram(sBackdropTilemap, (void *)(VRAM + 0xC800));
+ LoadPalette(sLegendaryMonPalettes, 0xE0, sizeof(sLegendaryMonPalettes));
remove_some_task();
ResetTasks();
ResetSpriteData();
FreeAllSpritePalettes();
gReservedSpritePaletteCount = 14;
- LoadCompressedObjectPic(&gUnknown_08393EFC);
- LoadCompressedObjectPic(&gUnknown_08393F8C);
- LoadCompressedObjectPic(&gUnknown_08393FD8);
+ LoadCompressedObjectPic(&gUnknown_08393EFC[0]);
+ LoadCompressedObjectPic(&gUnknown_08393F8C[0]);
+ LoadCompressedObjectPic(&sPokemonLogoShineSpriteSheet[0]);
LoadPalette(gUnknown_08E9F624, 0x100, 0x1C0);
- LoadSpritePalette(&gUnknown_08393F9C[0]);
+ LoadSpritePalette(&sPokemonLogoShinePalette[0]);
gMain.state = 2;
break;
case 2:
{
u8 taskId = CreateTask(Task_TitleScreenPhase1, 0);
- gTasks[taskId].data[TD_COUNTER] = 0x100;
- gTasks[taskId].data[TD_SKIP] = FALSE;
+ gTasks[taskId].tCounter = 256;
+ gTasks[taskId].tSkipToNext = FALSE;
gTasks[taskId].data[2] = -16;
gTasks[taskId].data[3] = -32;
gUnknown_0202F7E4 = taskId;
@@ -337,17 +583,17 @@ static void Task_TitleScreenPhase1(u8 taskId)
//Skip to next phase when A, B, Start, or Select is pressed
if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].data[1] != 0)
{
- gTasks[taskId].data[TD_SKIP] = TRUE;
- gTasks[taskId].data[TD_COUNTER] = 0;
+ gTasks[taskId].tSkipToNext = TRUE;
+ gTasks[taskId].tCounter = 0;
}
- if (gTasks[taskId].data[TD_COUNTER] != 0)
+ if (gTasks[taskId].tCounter != 0)
{
- u16 frameNum = gTasks[taskId].data[TD_COUNTER];
+ u16 frameNum = gTasks[taskId].tCounter;
if (frameNum == 160 || frameNum == 64)
StartPokemonLogoShine(TRUE);
- gTasks[taskId].data[TD_COUNTER]--;
+ gTasks[taskId].tCounter--;
}
else
{
@@ -361,17 +607,17 @@ static void Task_TitleScreenPhase1(u8 taskId)
REG_BLDY = 0;
//Create left side of version banner
- spriteId = CreateSprite(&gSpriteTemplate_8393ECC, 0x62, 0x1A, 0);
+ spriteId = CreateSprite(&sVersionBannerLeftSpriteTemplate, 0x62, 0x1A, 0);
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].data1 = taskId;
//Create right side of version banner
- spriteId = CreateSprite(&gSpriteTemplate_8393EE4, 0xA2, 0x1A, 0);
+ spriteId = CreateSprite(&sVersionBannerRightSpriteTemplate, 0xA2, 0x1A, 0);
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].data1 = taskId;
gTasks[taskId].data[5] = 88;
- gTasks[taskId].data[TD_COUNTER] = 144;
+ gTasks[taskId].tCounter = 144;
gTasks[taskId].func = Task_TitleScreenPhase2;
}
}
@@ -380,17 +626,17 @@ static void Task_TitleScreenPhase1(u8 taskId)
static void Task_TitleScreenPhase2(u8 taskId)
{
//Skip to next phase when A, B, Start, or Select is pressed
- if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].data[TD_SKIP])
+ if ((gMain.newKeys & A_B_START_SELECT) || gTasks[taskId].tSkipToNext)
{
- gTasks[taskId].data[TD_SKIP] = TRUE;
- gTasks[taskId].data[TD_COUNTER] = 0;
+ gTasks[taskId].tSkipToNext = TRUE;
+ gTasks[taskId].tCounter = 0;
}
- if (gTasks[taskId].data[TD_COUNTER] != 0)
- gTasks[taskId].data[TD_COUNTER]--;
+ if (gTasks[taskId].tCounter != 0)
+ gTasks[taskId].tCounter--;
else
{
- gTasks[taskId].data[TD_SKIP] = TRUE;
+ gTasks[taskId].tSkipToNext = TRUE;
REG_DISPCNT = DISPCNT_MODE_1
| DISPCNT_OBJ_1D_MAP
| DISPCNT_BG0_ON
@@ -403,7 +649,7 @@ static void Task_TitleScreenPhase2(u8 taskId)
gTasks[taskId].func = Task_TitleScreenPhase3;
}
- if (!(gTasks[taskId].data[TD_COUNTER] & 1) && gTasks[taskId].data[3] != 0)
+ if (!(gTasks[taskId].tCounter & 1) && gTasks[taskId].data[3] != 0)
gTasks[taskId].data[3]++;
//Slide Pokemon logo up
@@ -437,14 +683,14 @@ static void Task_TitleScreenPhase3(u8 taskId)
else
{
REG_BG2Y = 0;
- gTasks[taskId].data[TD_COUNTER]++;
- if (gTasks[taskId].data[TD_COUNTER] & 1)
+ gTasks[taskId].tCounter++;
+ if (gTasks[taskId].tCounter & 1)
{
gTasks[taskId].data[4]++;
gUnknown_030041B4 = gTasks[taskId].data[4];
gUnknown_030042C0 = 0;
}
- UpdateLegendaryMarkingColor(gTasks[taskId].data[TD_COUNTER]);
+ UpdateLegendaryMarkingColor(gTasks[taskId].tCounter);
if ((gMPlay_BGM.status & 0xFFFF) == 0)
{
BeginNormalPaletteFade(-1, 0, 0, 0x10, 0xFFFF);