dump start menu and a bit of textwindow and trainercard

This commit is contained in:
DizzyEggg 2017-12-23 19:23:55 +01:00
parent c959c65562
commit e647cb2308
8 changed files with 348 additions and 83 deletions

View File

@ -1578,22 +1578,28 @@ gUnknown_08DCEC70:: @ 8DCEC70
.incbin "baserom.gba", 0xdcec70, 0x13e0
gUnknown_08DD0050:: @ 8DD0050
.incbin "baserom.gba", 0xdd0050, 0x1a68
.incbin "baserom.gba", 0xdd0050, 0x1A08
gUnknown_08DD1A58:: @ 8DD1A58
.incbin "baserom.gba", 0xdd1a58, 0x60
gUnknown_08DD1AB8:: @ 8DD1AB8
.incbin "baserom.gba", 0xdd1ab8, 0x4c0
.incbin "baserom.gba", 0xdd1ab8, 0x4C0
gUnknown_08DD1F78:: @ 8DD1F78
.incbin "baserom.gba", 0xdd1f78, 0x98
.incbin "baserom.gba", 0xdd1f78, 0x98
gUnknown_08DD2010:: @ 8DD2010
.incbin "baserom.gba", 0xdd2010, 0x1a0
.incbin "baserom.gba", 0xdd2010, 0x1A0
gUnknown_08DD21B0:: @ 8DD21B0
.incbin "baserom.gba", 0xdd21b0, 0xdc
.incbin "baserom.gba", 0xdd21b0, 0xDC
gUnknown_08DD228C:: @ 8DD228C
.incbin "baserom.gba", 0xdd228c, 0x1e0
.incbin "baserom.gba", 0xdd228c, 0x180
gUnknown_08DD240C:: @ 8DD240C
.incbin "baserom.gba", 0xdd240c, 0x60
gUnknown_08DD246C:: @ 8DD246C
.incbin "baserom.gba", 0xdd246c, 0x674

View File

@ -1,29 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
gSafariBallsWindowTemplate:: @ 8510508
.incbin "baserom.gba", 0x510508, 0x8
gUnknown_08510510:: @ 8510510
.incbin "baserom.gba", 0x510510, 0x20
gPyramidFloorWindowTemplate_2:: @ 8510530
.incbin "baserom.gba", 0x510530, 0x8
gPyramidFloorWindowTemplate_1:: @ 8510538
.incbin "baserom.gba", 0x510538, 0x8
sStartMenuItems:: @ 8510540
.incbin "baserom.gba", 0x510540, 0x68
gUnknown_085105A8:: @ 85105A8
.incbin "baserom.gba", 0x5105a8, 0x4
gUnknown_085105AC:: @ 85105AC
.incbin "baserom.gba", 0x5105ac, 0x10
gUnknown_085105BC:: @ 85105BC
.incbin "baserom.gba", 0x5105bc, 0x8

View File

@ -4488,34 +4488,34 @@ gUnknown_085EE6AD:: @ 85EE6AD
gUnknown_085EE6B6:: @ 85EE6B6
.string "Updated time$"
gUnknown_085EE6C3:: @ 85EE6C3
gText_MenuPokedex:: @ 85EE6C3
.string "POKéDEX$"
gUnknown_085EE6CB:: @ 85EE6CB
gText_MenuPokemon:: @ 85EE6CB
.string "POKéMON$"
gUnknown_085EE6D3:: @ 85EE6D3
gText_MenuBag:: @ 85EE6D3
.string "BAG$"
gUnknown_085EE6D7:: @ 85EE6D7
gText_MenuPokenav:: @ 85EE6D7
.string "POKéNAV$"
gUnknown_085EE6DF:: @ 85EE6DF
gText_MenuPlayer:: @ 85EE6DF
.string "{PLAYER}$"
gUnknown_085EE6E2:: @ 85EE6E2
gText_MenuSave:: @ 85EE6E2
.string "SAVE$"
gUnknown_085EE6E7:: @ 85EE6E7
gText_MenuOption:: @ 85EE6E7
.string "OPTION$"
gUnknown_085EE6EE:: @ 85EE6EE
gText_MenuExit:: @ 85EE6EE
.string "EXIT$"
gUnknown_085EE6F3:: @ 85EE6F3
gText_MenuRetire:: @ 85EE6F3
.string "RETIRE$"
gUnknown_085EE6FA:: @ 85EE6FA
gText_MenuRest:: @ 85EE6FA
.string "REST$"
gText_SafariBallStock:: @ 85EE6FF
@ -4524,28 +4524,28 @@ gText_SafariBallStock:: @ 85EE6FF
gText_BattlePyramidFloor:: @ 85EE716
.string "Battle Pyramid\n{STR_VAR_1}$"
gUnknown_085EE728:: @ 85EE728
gText_Floor1:: @ 85EE728
.string "Floor 1$"
gUnknown_085EE730:: @ 85EE730
gText_Floor2:: @ 85EE730
.string "Floor 2$"
gUnknown_085EE738:: @ 85EE738
gText_Floor3:: @ 85EE738
.string "Floor 3$"
gUnknown_085EE740:: @ 85EE740
gText_Floor4:: @ 85EE740
.string "Floor 4$"
gUnknown_085EE748:: @ 85EE748
gText_Floor5:: @ 85EE748
.string "Floor 5$"
gUnknown_085EE750:: @ 85EE750
gText_Floor6:: @ 85EE750
.string "Floor 6$"
gUnknown_085EE758:: @ 85EE758
gText_Floor7:: @ 85EE758
.string "Floor 7$"
gUnknown_085EE760:: @ 85EE760
gText_Peak:: @ 85EE760
.string "Peak$"
gText_LinkStandby2:: @ 85EE765

View File

@ -5,13 +5,166 @@
.align 2, 0
gUnknown_0850E87C:: @ 850E87C
.incbin "baserom.gba", 0x50e87c, 0x1680
.incbin "baserom.gba", 0x50e87c, 0x120
gUnknown_0850E99C:: @ 850E99C
.incbin "baserom.gba", 0x50e99c, 0x120
gUnknown_0850EABC:: @ 850EABC
.incbin "baserom.gba", 0x50eabc, 0x120
gUnknown_0850EBDC:: @ 850EBDC
.incbin "baserom.gba", 0x50ebdc, 0x120
gUnknown_0850ECFC:: @ 850ECFC
.incbin "baserom.gba", 0x50ecfc, 0x120
gUnknown_0850EE1C:: @ 850EE1C
.incbin "baserom.gba", 0x50ee1c, 0x120
gUnknown_0850EF3C:: @ 850EF3C
.incbin "baserom.gba", 0x50ef3c, 0x120
gUnknown_0850F05C:: @ 850F05C
.incbin "baserom.gba", 0x50f05c, 0x120
gUnknown_0850F17C:: @ 850F17C
.incbin "baserom.gba", 0x50f17c, 0x120
gUnknown_0850F29C:: @ 850F29C
.incbin "baserom.gba", 0x50f29c, 0x120
gUnknown_0850F3BC:: @ 850F3BC
.incbin "baserom.gba", 0x50f3bc, 0x120
gUnknown_0850F4DC:: @ 850F4DC
.incbin "baserom.gba", 0x50f4dc, 0x120
gUnknown_0850F5FC:: @ 850F5FC
.incbin "baserom.gba", 0x50f5fc, 0x120
gUnknown_0850F71C:: @ 850F71C
.incbin "baserom.gba", 0x50f71c, 0x120
gUnknown_0850F83C:: @ 850F83C
.incbin "baserom.gba", 0x50f83c, 0x120
gUnknown_0850F95C:: @ 850F95C
.incbin "baserom.gba", 0x50f95c, 0x120
gUnknown_0850FA7C:: @ 850FA7C
.incbin "baserom.gba", 0x50fa7c, 0x120
gUnknown_0850FB9C:: @ 850FB9C
.incbin "baserom.gba", 0x50fb9c, 0x120
gUnknown_0850FCBC:: @ 850FCBC
.incbin "baserom.gba", 0x50fcbc, 0x120
gUnknown_0850FDDC:: @ 850FDDC
.incbin "baserom.gba", 0x50fddc, 0x120
gUnknown_0850FEFC:: @ 850FEFC
.incbin "baserom.gba", 0x50fefc, 0x280
.incbin "baserom.gba", 0x50fefc, 0x20
gUnknown_0850FF1C:: @ 850FF1C
.incbin "baserom.gba", 0x50ff1c, 0x20
gUnknown_0850FF3C:: @ 850FF3C
.incbin "baserom.gba", 0x50ff3c, 0x20
gUnknown_0850FF5C:: @ 850FF5C
.incbin "baserom.gba", 0x50ff5c, 0x20
gUnknown_0850FF7C:: @ 850FF7C
.incbin "baserom.gba", 0x50ff7c, 0x20
gUnknown_0850FF9C:: @ 850FF9C
.incbin "baserom.gba", 0x50ff9c, 0x20
gUnknown_0850FFBC:: @ 850FFBC
.incbin "baserom.gba", 0x50ffbc, 0x20
gUnknown_0850FFDC:: @ 850FFDC
.incbin "baserom.gba", 0x50ffdc, 0x20
gUnknown_0850FFFC:: @ 850FFFC
.incbin "baserom.gba", 0x50fffc, 0x20
gUnknown_0851001C:: @ 851001C
.incbin "baserom.gba", 0x51001c, 0x20
gUnknown_0851003C:: @ 851003C
.incbin "baserom.gba", 0x51003c, 0x20
gUnknown_0851005C:: @ 851005C
.incbin "baserom.gba", 0x51005c, 0x20
gUnknown_0851007C:: @ 851007C
.incbin "baserom.gba", 0x51007c, 0x20
gUnknown_0851009C:: @ 851009C
.incbin "baserom.gba", 0x51009c, 0x20
gUnknown_085100BC:: @ 85100BC
.incbin "baserom.gba", 0x5100bc, 0x20
gUnknown_085100DC:: @ 85100DC
.incbin "baserom.gba", 0x5100dc, 0x20
gUnknown_085100FC:: @ 85100FC
.incbin "baserom.gba", 0x5100fc, 0x20
gUnknown_0851011C:: @ 851011C
.incbin "baserom.gba", 0x51011c, 0x20
gUnknown_0851013C:: @ 851013C
.incbin "baserom.gba", 0x51013c, 0x20
gUnknown_0851015C:: @ 851015C
.incbin "baserom.gba", 0x51015c, 0x20
gUnknown_0851017C:: @ 851017C
.incbin "baserom.gba", 0x51017c, 0xa0
.incbin "baserom.gba", 0x51017c, 0xA0
gUnknown_0851021C:: @ 851021C
.incbin "baserom.gba", 0x51021c, 0xa0
.4byte gUnknown_0850E87C
.4byte gUnknown_0850FEFC
.4byte gUnknown_0850E99C
.4byte gUnknown_0850FF1C
.4byte gUnknown_0850EABC
.4byte gUnknown_0850FF3C
.4byte gUnknown_0850EBDC
.4byte gUnknown_0850FF5C
.4byte gUnknown_0850ECFC
.4byte gUnknown_0850FF7C
.4byte gUnknown_0850EE1C
.4byte gUnknown_0850FF9C
.4byte gUnknown_0850EF3C
.4byte gUnknown_0850FFBC
.4byte gUnknown_0850F05C
.4byte gUnknown_0850FFDC
.4byte gUnknown_0850F17C
.4byte gUnknown_0850FFFC
.4byte gUnknown_0850F29C
.4byte gUnknown_0851001C
.4byte gUnknown_0850F3BC
.4byte gUnknown_0851003C
.4byte gUnknown_0850F4DC
.4byte gUnknown_0851005C
.4byte gUnknown_0850F5FC
.4byte gUnknown_0851007C
.4byte gUnknown_0850F71C
.4byte gUnknown_0851009C
.4byte gUnknown_0850F83C
.4byte gUnknown_085100BC
.4byte gUnknown_0850F95C
.4byte gUnknown_085100DC
.4byte gUnknown_0850FA7C
.4byte gUnknown_085100FC
.4byte gUnknown_0850FB9C
.4byte gUnknown_0851011C
.4byte gUnknown_0850FCBC
.4byte gUnknown_0851013C
.4byte gUnknown_0850FDDC
.4byte gUnknown_0851015C

View File

@ -5,7 +5,31 @@
.align 2, 0
gUnknown_0856F018:: @ 856F018
.incbin "baserom.gba", 0x56f018, 0x494
.incbin "baserom.gba", 0x56f018, 0x194
gUnknown_0856F1AC:: @ 856F1AC
.incbin "baserom.gba", 0x56f1ac, 0x60
gUnknown_0856F20C:: @ 856F20C
.incbin "baserom.gba", 0x56f20c, 0x60
gUnknown_0856F26C:: @ 856F26C
.incbin "baserom.gba", 0x56f26c, 0x60
gUnknown_0856F2CC:: @ 856F2CC
.incbin "baserom.gba", 0x56f2cc, 0x60
gUnknown_0856F32C:: @ 856F32C
.incbin "baserom.gba", 0x56f32c, 0x60
gUnknown_0856F38C:: @ 856F38C
.incbin "baserom.gba", 0x56f38c, 0x60
gUnknown_0856F3EC:: @ 856F3EC
.incbin "baserom.gba", 0x56f3ec, 0x60
gUnknown_0856F44C:: @ 856F44C
.incbin "baserom.gba", 0x56f44c, 0x60
gUnknown_0856F4AC:: @ 856F4AC
.incbin "baserom.gba", 0x56f4ac, 0x20
@ -47,10 +71,18 @@ gUnknown_0856FAC4:: @ 856FAC4
.incbin "baserom.gba", 0x56fac4, 0x20
gUnknown_0856FAE4:: @ 856FAE4
.incbin "baserom.gba", 0x56fae4, 0x14
.4byte gUnknown_08DD1A58
.4byte gUnknown_0856F1AC
.4byte gUnknown_0856F26C
.4byte gUnknown_0856F32C
.4byte gUnknown_0856F3EC
gUnknown_0856FAF8:: @ 856FAF8
.incbin "baserom.gba", 0x56faf8, 0x14
.4byte gUnknown_08DD240C
.4byte gUnknown_0856F20C
.4byte gUnknown_0856F2CC
.4byte gUnknown_0856F38C
.4byte gUnknown_0856F44C
gUnknown_0856FB0C:: @ 856FB0C
.incbin "baserom.gba", 0x56fb0c, 0x3
@ -65,7 +97,12 @@ gUnknown_0856FB20:: @ 856FB20
.incbin "baserom.gba", 0x56fb20, 0x8
gUnknown_0856FB28:: @ 856FB28
.incbin "baserom.gba", 0x56fb28, 0x18
.4byte sub_80C4998
.4byte sub_80C49D8
.4byte sub_80C4B08
.4byte sub_80C4C1C
.4byte sub_80C4C84
.4byte sub_80C4DB0
gUnknown_0856FB40:: @ 856FB40
.incbin "baserom.gba", 0x56fb40, 0x8
@ -161,7 +198,21 @@ gUnknown_085715FC:: @ 85715FC
.incbin "baserom.gba", 0x5715fc, 0x18
gUnknown_08571614:: @ 8571614
.incbin "baserom.gba", 0x571614, 0x3c
.4byte gUnknown_085EDA96
.4byte gUnknown_085ED932
.4byte gUnknown_085ED94D
.4byte gUnknown_085ED961
.4byte gUnknown_085ED977
.4byte gUnknown_085ED993
.4byte gUnknown_085ED9AF
.4byte gUnknown_085ED9C7
.4byte gUnknown_085ED9E5
.4byte gUnknown_085EDA02
.4byte gUnknown_085EDA21
.4byte gUnknown_085EDA3C
.4byte gUnknown_085EDA5E
.4byte gUnknown_085EDA78
.4byte gUnknown_085ED931
gUnknown_08571650:: @ 8571650
.incbin "baserom.gba", 0x571650, 0x70

View File

@ -148,4 +148,26 @@ extern const u8 gText_MoveItemsDescription[];
extern const u8 gText_SeeYa[];
extern const u8 gText_SeeYaDescription[];
// menu texts
extern const u8 gText_MenuPokedex[];
extern const u8 gText_MenuPokemon[];
extern const u8 gText_MenuBag[];
extern const u8 gText_MenuPokenav[];
extern const u8 gText_MenuPlayer[];
extern const u8 gText_MenuSave[];
extern const u8 gText_MenuOption[];
extern const u8 gText_MenuExit[];
extern const u8 gText_MenuRetire[];
extern const u8 gText_MenuRest[];
extern const u8 gText_Floor1[];
extern const u8 gText_Floor2[];
extern const u8 gText_Floor3[];
extern const u8 gText_Floor4[];
extern const u8 gText_Floor5[];
extern const u8 gText_Floor6[];
extern const u8 gText_Floor7[];
extern const u8 gText_Peak[];
extern const u8 gText_SafariBallStock[];
extern const u8 gText_BattlePyramidFloor[];
#endif //GUARD_STRINGS_H

View File

@ -372,7 +372,7 @@ SECTIONS {
data/coord_event_weather.o(.rodata);
data/field_tasks.o(.rodata);
data/reset_rtc_screen.o(.rodata);
data/start_menu.o(.rodata);
src/start_menu.o(.rodata);
src/tileset_anims.o(.rodata);
src/palette.o(.rodata);
data/fanfares.o(.rodata);

View File

@ -6,6 +6,8 @@
#include "window.h"
#include "string_util.h"
#include "text.h"
#include "strings.h"
#include "bg.h"
// Menu actions
enum
@ -25,15 +27,6 @@ enum
MENU_ACTION_PYRAMID_BAG
};
static void BuildStartMenuActions_LinkMode(void);
static void BuildStartMenuActions_UnionRoom(void);
static void BuildStartMenuActions_SafariZone(void);
static void BuildStartMenuActions_BattlePike(void);
static void BuildStartMenuActions_BattlePyramid(void);
static void BuildStartMenuActions_MultiBattleRoom(void);
static void BuildStartMenuActions_Normal(void);
u8 StartMenu_PlayerName(void);
extern bool32 is_c1_link_related_active(void);
extern bool32 InUnionRoom(void);
extern bool8 InBattlePike(void);
@ -42,12 +35,91 @@ extern bool8 InMultiBattleRoom(void);
extern void sub_81973FC(u8 windowId, u8 a1);
extern void sub_8198070(u8 windowId, u8 a1);
// this file's functions
static void BuildStartMenuActions_LinkMode(void);
static void BuildStartMenuActions_UnionRoom(void);
static void BuildStartMenuActions_SafariZone(void);
static void BuildStartMenuActions_BattlePike(void);
static void BuildStartMenuActions_BattlePyramid(void);
static void BuildStartMenuActions_MultiBattleRoom(void);
static void BuildStartMenuActions_Normal(void);
bool8 StartMenu_Pokedex(void);
bool8 StartMenu_Pokemon(void);
bool8 StartMenu_Bag(void);
bool8 StartMenu_PokeNav(void);
bool8 StartMenu_PlayerName(void);
bool8 StartMenu_Save(void);
bool8 StartMenu_Option(void);
bool8 StartMenu_Exit(void);
bool8 StartMenu_SafariZoneRetire(void);
bool8 StartMenu_LinkModePlayerName(void);
bool8 StartMenu_BattlePyramidRetire(void);
bool8 StartMenu_BattlePyramidBag(void);
// EWRAM vars
EWRAM_DATA u8 sSafariBallsWindowId = 0;
EWRAM_DATA u8 sBattlePyramidFloorWindowId = 0;
EWRAM_DATA u8 sStartMenuCursorPos = 0;
EWRAM_DATA u8 sNumStartMenuActions = 0;
EWRAM_DATA u8 sCurrentStartMenuActions[9] = {0};
// const rom data
static const struct WindowTemplate gSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8};
static const u8* const sPyramindFloorNames[] =
{
gText_Floor1,
gText_Floor2,
gText_Floor3,
gText_Floor4,
gText_Floor5,
gText_Floor6,
gText_Floor7,
gText_Peak
};
static const struct WindowTemplate gPyramidFloorWindowTemplate_2 = {0, 1, 1, 0xA, 4, 0xF, 8};
static const struct WindowTemplate gPyramidFloorWindowTemplate_1 = {0, 1, 1, 0xC, 4, 0xF, 8};
const struct MenuAction sStartMenuItems[] =
{
{gText_MenuPokedex, {.u8_void = StartMenu_Pokedex}},
{gText_MenuPokemon, {.u8_void = StartMenu_Pokemon}},
{gText_MenuBag, {.u8_void = StartMenu_Bag}},
{gText_MenuPokenav, {.u8_void = StartMenu_PokeNav}},
{gText_MenuPlayer, {.u8_void = StartMenu_PlayerName}},
{gText_MenuSave, {.u8_void = StartMenu_Save}},
{gText_MenuOption, {.u8_void = StartMenu_Option}},
{gText_MenuExit, {.u8_void = StartMenu_Exit}},
{gText_MenuRetire, {.u8_void = StartMenu_SafariZoneRetire}},
{gText_MenuPlayer, {.u8_void = StartMenu_LinkModePlayerName}},
{gText_MenuRest, {.u8_void = StartMenu_Save}},
{gText_MenuRetire, {.u8_void = StartMenu_BattlePyramidRetire}},
{gText_MenuBag, {.u8_void = StartMenu_BattlePyramidBag}}
};
const struct BgTemplate gUnknown_085105A8[] =
{
{
.bg = 0,
.charBaseIndex = 2,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0,
.priority = 0,
.baseTile = 0
}
};
const struct WindowTemplate gUnknown_085105AC[] =
{
{0, 2, 0xF, 0x1A, 4, 0xF, 0x194},
DUMMY_WIN_TEMPLATE
};
const struct WindowTemplate gUnknown_085105BC = {0, 1, 1, 0xE, 0xA, 0xF, 8};
// code
void BuildStartMenuActions(void)
{
sNumStartMenuActions = 0;
@ -148,11 +220,6 @@ static void BuildStartMenuActions_MultiBattleRoom(void)
AddStartMenuAction(MENU_ACTION_EXIT);
}
extern const struct WindowTemplate gSafariBallsWindowTemplate;
extern const struct WindowTemplate gPyramidFloorWindowTemplate_1;
extern const struct WindowTemplate gPyramidFloorWindowTemplate_2;
extern const u8 gText_SafariBallStock[];
void DisplaySafariBallsWindow(void)
{
sSafariBallsWindowId = AddWindow(&gSafariBallsWindowTemplate);
@ -164,9 +231,6 @@ void DisplaySafariBallsWindow(void)
CopyWindowToVram(sSafariBallsWindowId, 2);
}
extern const u8* const gUnknown_08510510[];
extern const u8 gText_BattlePyramidFloor[];
void DisplayPyramidFloorWindow(void)
{
// TODO: fix location
@ -176,7 +240,7 @@ void DisplayPyramidFloorWindow(void)
sBattlePyramidFloorWindowId = AddWindow(&gPyramidFloorWindowTemplate_2);
PutWindowTilemap(sBattlePyramidFloorWindowId);
sub_81973FC(sBattlePyramidFloorWindowId, 0);
StringCopy(gStringVar1, gUnknown_08510510[gSaveBlock2Ptr->field_CAA[4]]);
StringCopy(gStringVar1, sPyramindFloorNames[gSaveBlock2Ptr->field_CAA[4]]);
StringExpandPlaceholders(gStringVar4, gText_BattlePyramidFloor);
PrintTextOnWindow(sBattlePyramidFloorWindowId, 1, gStringVar4, 0, 1, 0xFF, NULL);
CopyWindowToVram(sBattlePyramidFloorWindowId, 2);
@ -197,8 +261,6 @@ void RemoveExtraStartMenuWindows(void)
}
}
extern const struct MenuAction sStartMenuItems[];
/*
// Prints n menu items starting at *index
static bool32 PrintStartMenuItemsMultistep(s16 *index, u32 n)