https://github.com/pret/pokeemerald/assets/108838662/b250cbfc-ddc6-48eb-9e12-c91b1cb69810
https://github.com/pret/pokeemerald/assets/105766191/17ba0237-749b-46b7-9680-97722513d0fb
Setup
To apply these changes you have two options, either pull the branch from the TeamAqua fork of pokeemerald (instructions below), or copy in the changes by hand Here is the diff
This branch is Expansion Compatible but if you are using the HGSS Pokedex you need to change one line in pokdex_plus_hgss.c
:
static void Task_ClosePokedex(u8 taskId)
{
if (!gPaletteFade.active)
{
gSaveBlock2Ptr->pokedex.mode = sPokedexView->dexMode;
if (!IsNationalPokedexEnabled())
gSaveBlock2Ptr->pokedex.mode = DEX_MODE_HOENN;
gSaveBlock2Ptr->pokedex.order = sPokedexView->dexOrder;
ClearMonSprites();
FreeWindowAndBgBuffers();
DestroyTask(taskId);
SetMainCallback2(CB2_ReturnToFullScreenStartMenu); // This is the changed Line
m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100);
Free(sPokedexView);
}
}
Usage
The Start Menu uses the same FLAG_SYS_POKEDEX_GET
, FLAG_SYS_POKEMON_GET
and FLAG_SYS_POKENAV_GET
flags to determine whether or not you can use each of the menus as the vanilla Start Menu. They will show up greyed out if you do not have these flags set and you won't be able to use them.
The save dialogue does not give an extra confirmation for overwriting an existing save, I've never heard of anyone accidentally doing this so personally I like it better this way. Just be aware.
There is also a config inside src/ui_startmenu_full.c
(on top after the #include
s) file to add an option to set the time clock modes between 12-hours and 24-hours mode. In order to be able to use it, you need to set the FLAG_CLOCK_MODE
define on that file to an unused flag e.g. FLAG_UNUSED_0x020 and recompile after like the diff below. The button to trigger between the modes by default is the SELECT button.
-#define FLAG_CLOCK_MODE 0
+#define FLAG_CLOCK_MODE FLAG_UNUSED_0x20
When the config is enabled, the input reference to switch between clock modes is not shown in-game by default. If you would like to actually show the button, you need to uncomment these parts in src/ui_startmenu_full.c
.
-//#if (FLAG_CLOCK_MODE != 0)
-//static const u32 sStartMenuTilemap[] = INCBIN_U32("graphics/ui_startmenu_full/menu_tilemap_alt.bin.lz");
-//#else
+#if (FLAG_CLOCK_MODE != 0)
+static const u32 sStartMenuTilemap[] = INCBIN_U32("graphics/ui_startmenu_full/menu_tilemap_alt.bin.lz");
+#else
static const u32 sStartMenuTilemap[] = INCBIN_U32("graphics/ui_startmenu_full/menu_tilemap.bin.lz");
-//#endif
+#endif
Before:
After:
How do I pull a feature branch?
You use git remote add and git pull commands to pull in a feature branch. That is,
git remote add team_aqua https://github.com/TeamAquasHideout/pokeemerald
git pull team_aqua full_start_menu
(instructions from Pawkkie)
Credits
Code by Archie
Graphics by Mudskip
UI Shell Code by ghoulslash
HP Bar Code + Small Bits from PSFs hack written by Rioluwott
Knowledge Download from Grunt Lucas
Inspired by psf's Start Menu Design, and Rioluwotts ROWE Design
Contact
If you have questions or problems with the branch join the TAH Discord and ping me in the #romhacking-help channel for help: https://discord.gg/hX3a63RYzZ