From 5a57485ece9686eadaf2a96365aa285587ab51af Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 23 Jan 2018 21:30:13 -0600 Subject: Decompile naming_screen.c --- include/naming_screen.h | 91 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 85 insertions(+), 6 deletions(-) (limited to 'include/naming_screen.h') diff --git a/include/naming_screen.h b/include/naming_screen.h index 3d69b834f..28132466c 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -1,12 +1,91 @@ #ifndef GUARD_NAMING_SCREEN_H #define GUARD_NAMING_SCREEN_H -#define NAMING_SCREEN_PLAYER 0 -#define NAMING_SCREEN_BOX 1 -#define NAMING_SCREEN_CAUGHT_MON 2 -#define NAMING_SCREEN_3 3 -#define NAMING_SCREEN_WALDA 4 +#include "main.h" -void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void)); +#define KBEVENT_NONE 0 +#define KBEVENT_PRESSED_A 5 +#define KBEVENT_PRESSED_B 6 +#define KBEVENT_PRESSED_SELECT 8 +#define KBEVENT_PRESSED_START 9 + +enum +{ + NAMING_SCREEN_PLAYER, + NAMING_SCREEN_BOX, + NAMING_SCREEN_CAUGHT_MON, + NAMING_SCREEN_3, + NAMING_SCREEN_WALDA, +}; + +struct NamingScreenTemplate +{ + u8 unk0; + u8 maxChars; + u8 unk2; + u8 unk3; + u8 unk4; //mode? + u8 unk5; + u8 unk6; + u8 unk7; + const u8 *title; +}; + +struct NamingScreenData { + /*0x0*/ u8 tilemapBuffer1[0x800]; + /*0x800*/ u8 tilemapBuffer2[0x800]; + /*0x800*/ u8 tilemapBuffer3[0x800]; + /*0x1800*/ u8 textBuffer[0x10]; + /*0x1810*/ u8 tileBuffer[0x600]; + /*0x1E10*/ u8 state; + /*0x1E11*/ u8 windows[5]; + /*0x1E16*/ u16 unk1E16; + /*0x1E18*/ u16 bg1vOffset; + /*0x1E1A*/ u16 bg2vOffset; + /*0x1E1C*/ u16 unk1E1C; + /*0x1E1E*/ u16 unk1E1E; + /*0x1E20*/ u8 unk1E20; + /*0x1E21*/ u8 unk1E21; + /*0x1E22*/ u8 currentPage; + /*0x1E23*/ u8 cursorSpriteId; + /*0x1E24*/ u8 unk1E24; + /*0x1E25*/ u8 unk1E25; + /*0x1E28*/ const struct NamingScreenTemplate *template; + /*0x1E2C*/ u8 templateNum; + /*0x1E30*/ u8 *destBuffer; + /*0x1E34*/ u16 unk1E34; + /*0x1E36*/ u16 unk1E36; + /*0x1E38*/ u32 unk1E38; + /*0x1E3C*/ MainCallback returnCallback; +}; + +enum +{ + PAGE_UPPER, + PAGE_LOWER, + PAGE_OTHERS, +}; + +enum +{ + MAIN_STATE_BEGIN_FADE_IN, + MAIN_STATE_WAIT_FADE_IN, + MAIN_STATE_HANDLE_INPUT, + MAIN_STATE_MOVE_TO_OK_BUTTON, + MAIN_STATE_START_PAGE_SWAP, + MAIN_STATE_WAIT_PAGE_SWAP, + MAIN_STATE_6, + MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE, + MAIN_STATE_BEGIN_FADE_OUT, +}; + +enum +{ + INPUT_STATE_DISABLED, + INPUT_STATE_ENABLED, + INPUT_STATE_2, +}; + +void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback); #endif // GUARD_NAMING_SCREEN_H -- cgit v1.2.3 From 5784098446d4f380434a939e4c72577c8136bb81 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 23 Jan 2018 23:14:22 -0600 Subject: Organization and naming --- include/naming_screen.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'include/naming_screen.h') diff --git a/include/naming_screen.h b/include/naming_screen.h index 28132466c..5c8df2e23 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -22,7 +22,7 @@ struct NamingScreenTemplate { u8 unk0; u8 maxChars; - u8 unk2; + u8 iconFunction; u8 unk3; u8 unk4; //mode? u8 unk5; @@ -39,23 +39,23 @@ struct NamingScreenData { /*0x1810*/ u8 tileBuffer[0x600]; /*0x1E10*/ u8 state; /*0x1E11*/ u8 windows[5]; - /*0x1E16*/ u16 unk1E16; + /*0x1E16*/ u16 inputCharBaseXPos; /*0x1E18*/ u16 bg1vOffset; /*0x1E1A*/ u16 bg2vOffset; - /*0x1E1C*/ u16 unk1E1C; - /*0x1E1E*/ u16 unk1E1E; - /*0x1E20*/ u8 unk1E20; - /*0x1E21*/ u8 unk1E21; + /*0x1E1C*/ u16 bg1Priority; + /*0x1E1E*/ u16 bg2Priority; + /*0x1E20*/ u8 bgToReveal; + /*0x1E21*/ u8 bgToHide; /*0x1E22*/ u8 currentPage; /*0x1E23*/ u8 cursorSpriteId; - /*0x1E24*/ u8 unk1E24; - /*0x1E25*/ u8 unk1E25; + /*0x1E24*/ u8 selectBtnFrameSpriteId; + /*0x1E25*/ u8 keyRepeatStartDelayCopy; /*0x1E28*/ const struct NamingScreenTemplate *template; /*0x1E2C*/ u8 templateNum; /*0x1E30*/ u8 *destBuffer; - /*0x1E34*/ u16 unk1E34; - /*0x1E36*/ u16 unk1E36; - /*0x1E38*/ u32 unk1E38; + /*0x1E34*/ u16 monSpecies; + /*0x1E36*/ u16 monGender; + /*0x1E38*/ u32 monPersonality; /*0x1E3C*/ MainCallback returnCallback; }; -- cgit v1.2.3 From b8b0431477b841162b48b30afb46bb31c11960a0 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 23 Jan 2018 23:32:16 -0600 Subject: Identification --- include/naming_screen.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'include/naming_screen.h') diff --git a/include/naming_screen.h b/include/naming_screen.h index 5c8df2e23..b04cb19b6 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -20,14 +20,12 @@ enum struct NamingScreenTemplate { - u8 unk0; + u8 copyExistingString; u8 maxChars; u8 iconFunction; - u8 unk3; - u8 unk4; //mode? - u8 unk5; - u8 unk6; - u8 unk7; + u8 addGenderIcon; + u8 initialPage; + u8 unused; const u8 *title; }; -- cgit v1.2.3