From 28509e216f64a75e77ccb5d040d79001802ec594 Mon Sep 17 00:00:00 2001 From: _AG Date: Tue, 25 Jun 2019 14:25:39 +0200 Subject: Better organization for Frontend.cpp --- src/Frontend.h | 305 ++++++++++++++++++++++++++++++++------------------------- 1 file changed, 172 insertions(+), 133 deletions(-) (limited to 'src/Frontend.h') diff --git a/src/Frontend.h b/src/Frontend.h index 7245477f..c515be8c 100644 --- a/src/Frontend.h +++ b/src/Frontend.h @@ -2,44 +2,45 @@ #include "Sprite2d.h" -#define HEADER_POS_X 35.0f -#define HEADER_POS_Y 93.0f -#define HEADER_WIDTH 0.84f -#define HEADER_HEIGHT 1.6f +#define MENUHEADER_POS_X 35.0f +#define MENUHEADER_POS_Y 93.0f +#define MENUHEADER_WIDTH 0.84f +#define MENUHEADER_HEIGHT 1.6f -#define ACTION_POS_X 20.0f -#define ACTION_POS_Y 37.5f -#define ACTION_WIDTH 0.675f -#define ACTION_HEIGHT 0.81f +#define MENUACTION_POS_X 20.0f +#define MENUACTION_POS_Y 37.5f +#define MENUACTION_WIDTH 0.675f +#define MENUACTION_HEIGHT 0.81f -#define COLUMN_POS_X HEADER_POS_X + 16.0f -#define COLUMN_MAX_Y 149.0f -#define COLUMN_MID_Y 100.0f -#define COLUMN_MIN_Y 110.0f -#define COLUMN_PAUSE_Y 25.0f -#define COLUMN_START_Y 9.0f -#define COLUMN_FEDS 139.0f +#define MENUCOLUMN_POS_X MENUHEADER_POS_X + 16.0f +#define MENUCOLUMN_MAX_Y 149.0f +#define MENUCOLUMN_MID_Y 100.0f +#define MENUCOLUMN_MIN_Y 110.0f +#define MENUCOLUMN_PAUSE_Y 25.0f +#define MENUCOLUMN_START_Y 9.0f +#define MENUCOLUMN_FEDS 139.0f -#define COLUMN_SAVE_X 121.0f -#define COLUMN_SAVE_Y 111.0f +#define MENUCOLUMN_SAVE_X 121.0f +#define MENUCOLUMN_SAVE_Y 111.0f -#define COLUMN_SPACING_MAX 24.0f -#define COLUMN_SPACING_MIN 20.0f +#define MENUCOLUMN_SPACING_MAX 24.0f +#define MENUCOLUMN_SPACING_MIN 20.0f -#define SELECT_BOX_MAX 20.5f -#define SELECT_BOX_MIN 17.0f +#define MENUSELECT_BOX_MAX 20.5f +#define MENUSELECT_BOX_MIN 17.0f -#define FE_RADIO_ICON_X 31.5f -#define FE_RADIO_ICON_Y 29.5f -#define FE_RADIO_ICON_W 60.0f -#define FE_RADIO_ICON_H 60.0f +#define MENURADIO_ICON_X 31.5f +#define MENURADIO_ICON_Y 29.5f +#define MENURADIO_ICON_W 60.0f +#define MENURADIO_ICON_H 60.0f -#define DROP_COLOR_A 150 -#define DROP_COLOR_SIZE -1 +#define MENUDROP_COLOR_A 150 +#define MENUDROP_COLOR_SIZE -1 -#define SLIDER_X 306.0f +#define MENUSLIDER_X 306.0f -enum { +enum eLanguages +{ LANGUAGE_AMERICAN, LANGUAGE_FRENCH, LANGUAGE_GERMAN, @@ -47,7 +48,8 @@ enum { LANGUAGE_SPANISH, }; -enum eFrontendSprites { +enum eFrontendSprites +{ FE2_MAINPANEL_UL, FE2_MAINPANEL_UR, FE2_MAINPANEL_DL, @@ -78,102 +80,110 @@ enum eFrontendSprites { FE_RADIO9, }; -enum eMenuSprites { - MENU_CONNECTION, - MENU_FINDGAME, - MENU_HOSTGAME, - MENU_MAINMENU, - MENU_PLAYERSET, - MENU_SINGLEPLAYER, - MENU_MULTIPLAYER, - MENU_DMALOGO, - MENU_GTALOGO, - MENU_RSTARLOGO, - MENU_GAMESPY, - MENU_MOUSE, - MENU_MOUSET, - MENU_MP3LOGO, - MENU_DOWNOFF, - MENU_DOWNON, - MENU_UPOFF, - MENU_UPON, - MENU_GTA3LOGO, +enum eMenuSprites +{ + MENUSPRITE_CONNECTION, + MENUSPRITE_FINDGAME, + MENUSPRITE_HOSTGAME, + MENUSPRITE_MAINMENU, + MENUSPRITE_PLAYERSET, + MENUSPRITE_SINGLEPLAYER, + MENUSPRITE_MULTIPLAYER, + MENUSPRITE_DMALOGO, + MENUSPRITE_GTALOGO, + MENUSPRITE_RSTARLOGO, + MENUSPRITE_GAMESPY, + MENUSPRITE_MOUSE, + MENUSPRITE_MOUSET, + MENUSPRITE_MP3LOGO, + MENUSPRITE_DOWNOFF, + MENUSPRITE_DOWNON, + MENUSPRITE_UPOFF, + MENUSPRITE_UPON, + MENUSPRITE_GTA3LOGO, }; -enum eMenuActions { - MENU_ACTION_SAVE_1 = 1, - MENU_ACTION_SAVE_2, - MENU_ACTION_SAVE_3, - MENU_ACTION_SAVE_4, - MENU_ACTION_SAVE_5, - MENU_ACTION_SAVE_6, - MENU_ACTION_SAVE_7, - MENU_ACTION_SAVE_8, +enum eSaveSlot +{ + SAVESLOT_NONE, + SAVESLOT_1, + SAVESLOT_2, + SAVESLOT_3, + SAVESLOT_4, + SAVESLOT_5, + SAVESLOT_6, + SAVESLOT_7, + SAVESLOT_8, + SAVESLOT_LABEL = 36 }; -enum eMenuScreen { - MENU_NONE = 0, - MENU_STATS = 1, - MENU_NEW_GAME = 2, - MENU_BRIEFS = 3, - MENU_CONTROLLER_SETTINGS = 4, - MENU_SOUND_SETTINGS = 5, - MENU_GRAPHICS_SETTINGS = 6, - MENU_LANGUAGE_SETTINGS = 7, - MENU_CHOOSE_LOAD_SLOT = 8, - MENU_CHOOSE_DELETE_SLOT = 9, - MENU_NEW_GAME_RELOAD = 10, - MENU_LOAD_SLOT_CONFIRM = 11, - MENU_DELETE_SLOT_CONFIRM = 12, - MENU_13 = 13, - MENU_LOADING_IN_PROGRESS = 14, - MENU_DELETING_IN_PROGRESS = 15, - MENU_16 = 16, - MENU_DELETE_FAILED = 17, - MENU_DEBUG_MENU = 18, - MENU_MEMORY_CARD_1 = 19, - MENU_MEMORY_CARD_2 = 20, - MENU_MULTIPLAYER_MAIN = 21, - MENU_SAVE_FAILED_1 = 22, - MENU_SAVE_FAILED_2 = 23, - MENU_SAVE = 24, - MENU_NO_MEMORY_CARD = 25, - MENU_CHOOSE_SAVE_SLOT = 26, - MENU_SAVE_OVERWRITE_CONFIRM = 27, - MENU_MULTIPLAYER_MAP = 28, - MENU_MULTIPLAYER_CONNECTION = 29, - MENU_MULTIPLAYER_FIND_GAME = 30, - MENU_MULTIPLAYER_MODE = 31, - MENU_MULTIPLAYER_CREATE = 32, - MENU_MULTIPLAYER_START = 33, - MENU_SKIN_SELECT_OLD = 34, - MENU_CONTROLLER_PC = 35, - MENU_CONTROLLER_PC_OLD1 = 36, - MENU_CONTROLLER_PC_OLD2 = 37, - MENU_CONTROLLER_PC_OLD3 = 38, - MENU_CONTROLLER_PC_OLD4 = 39, - MENU_CONTROLLER_DEBUG = 40, - MENU_OPTIONS = 41, - MENU_EXIT = 42, - MENU_SAVING_IN_PROGRESS = 43, - MENU_SAVE_SUCCESSFUL = 44, - MENU_DELETING = 45, - MENU_DELETE_SUCCESS = 46, - MENU_SAVE_FAILED = 47, - MENU_LOAD_FAILED = 48, - MENU_LOAD_FAILED_2 = 49, - MENU_FILTER_GAME = 50, - MENU_START_MENU = 51, - MENU_PAUSE_MENU = 52, - MENU_CHOOSE_MODE = 53, - MENU_SKIN_SELECT = 54, - MENU_KEYBOARD_CONTROLS = 55, - MENU_MOUSE_CONTROLS = 56, - MENU_57 = 57, - MENU_58 = 58, +enum eMenuScreen +{ + MENUPAGE_DISABLED = -1, + MENUPAGE_NONE = 0, + MENUPAGE_STATS = 1, + MENUPAGE_NEW_GAME = 2, + MENUPAGE_BRIEFS = 3, + MENUPAGE_CONTROLLER_SETTINGS = 4, + MENUPAGE_SOUND_SETTINGS = 5, + MENUPAGE_GRAPHICS_SETTINGS = 6, + MENUPAGE_LANGUAGE_SETTINGS = 7, + MENUPAGE_CHOOSE_LOAD_SLOT = 8, + MENUPAGE_CHOOSE_DELETE_SLOT = 9, + MENUPAGE_NEW_GAME_RELOAD = 10, + MENUPAGE_LOAD_SLOT_CONFIRM = 11, + MENUPAGE_DELETE_SLOT_CONFIRM = 12, + MENUPAGE_13 = 13, + MENUPAGE_LOADING_IN_PROGRESS = 14, + MENUPAGE_DELETING_IN_PROGRESS = 15, + MENUPAGE_16 = 16, + MENUPAGE_DELETE_FAILED = 17, + MENUPAGE_DEBUG_MENU = 18, + MENUPAGE_MEMORY_CARD_1 = 19, + MENUPAGE_MEMORY_CARD_2 = 20, + MENUPAGE_MULTIPLAYER_MAIN = 21, + MENUPAGE_SAVE_FAILED_1 = 22, + MENUPAGE_SAVE_FAILED_2 = 23, + MENUPAGE_SAVE = 24, + MENUPAGE_NO_MEMORY_CARD = 25, + MENUPAGE_CHOOSE_SAVE_SLOT = 26, + MENUPAGE_SAVE_OVERWRITE_CONFIRM = 27, + MENUPAGE_MULTIPLAYER_MAP = 28, + MENUPAGE_MULTIPLAYER_CONNECTION = 29, + MENUPAGE_MULTIPLAYER_FIND_GAME = 30, + MENUPAGE_MULTIPLAYER_MODE = 31, + MENUPAGE_MULTIPLAYER_CREATE = 32, + MENUPAGE_MULTIPLAYER_START = 33, + MENUPAGE_SKIN_SELECT_OLD = 34, + MENUPAGE_CONTROLLER_PC = 35, + MENUPAGE_CONTROLLER_PC_OLD1 = 36, + MENUPAGE_CONTROLLER_PC_OLD2 = 37, + MENUPAGE_CONTROLLER_PC_OLD3 = 38, + MENUPAGE_CONTROLLER_PC_OLD4 = 39, + MENUPAGE_CONTROLLER_DEBUG = 40, + MENUPAGE_OPTIONS = 41, + MENUPAGE_EXIT = 42, + MENUPAGE_SAVING_IN_PROGRESS = 43, + MENUPAGE_SAVE_SUCCESSFUL = 44, + MENUPAGE_DELETING = 45, + MENUPAGE_DELETE_SUCCESS = 46, + MENUPAGE_SAVE_FAILED = 47, + MENUPAGE_LOAD_FAILED = 48, + MENUPAGE_LOAD_FAILED_2 = 49, + MENUPAGE_FILTER_GAME = 50, + MENUPAGE_START_MENU = 51, + MENUPAGE_PAUSE_MENU = 52, + MENUPAGE_CHOOSE_MODE = 53, + MENUPAGE_SKIN_SELECT = 54, + MENUPAGE_KEYBOARD_CONTROLS = 55, + MENUPAGE_MOUSE_CONTROLS = 56, + MENUPAGE_57 = 57, + MENUPAGE_58 = 58, + MENUPAGES }; -enum eMenuAction { +enum eMenuAction +{ MENUACTION_NOTHING, MENUACTION_LABEL, MENUACTION_CHANGEMENU, @@ -194,7 +204,7 @@ enum eMenuAction { MENUACTION_LANG_ENG, MENUACTION_LANG_FRE, MENUACTION_LANG_GER, - MENUACTION_LANG_IT, + MENUACTION_LANG_ITA, MENUACTION_LANG_SPA, MENUACTION_UPDATESAVE, MENUACTION_CHECKSAVE, @@ -287,11 +297,43 @@ enum eMenuAction { MENUACTION_UNK110, }; -enum eCheckHover { +enum eCheckHover +{ ACTIVATE_OPTION = 2, IGNORE_OPTION = 42, }; +enum eMenuColumns +{ + MENUCOLUMN_LEFT, + MENUCOLUMN_CENTER, + MENUCOLUMN_RIGHT, + MENUCOLUMNS, +}; + +enum eMenuRow +{ + MENUROW_0, + MENUROW_1, + MENUROW_2, + MENUROW_3, + MENUROW_4, + MENUROW_5, + MENUROW_6, + MENUROW_7, + MENUROW_8, + MENUROW_9, + MENUROW_10, + MENUROW_11, + MENUROW_12, + MENUROW_13, + MENUROW_14, + MENUROW_15, + MENUROW_16, + MENUROW_17, + MENUROWS, +}; + struct tSkinInfo { int field_0; @@ -301,18 +343,19 @@ struct tSkinInfo int field_304; }; -struct CMenuScreen { +struct CMenuScreen +{ char m_ScreenName[8]; - int32 m_PreviousPage[3]; // - int32 m_ParentEntry[2]; + int32 m_PreviousPage[3]; // eMenuScreen + int32 m_ParentEntry[2]; // eMenuRow struct CMenuEntry { - int32 m_Action; + int32 m_Action; // eMenuAction char m_EntryName[8]; - int32 m_ActionSlot; - int32 m_TargetMenu; - } m_aEntries[18]; + int32 m_SaveSlot; // eSaveSlot + int32 m_TargetMenu; // eMenuScreen + } m_aEntries[MENUROWS]; }; class CMenuManager @@ -401,12 +444,8 @@ public: static int32 &m_PrefsSfxVolume; static bool &m_bStartUpFrontEndRequested; static bool &m_bShutDownFrontEndRequested; - static bool &m_PrefsAllowNastyGame; -private: - enum eColumns { L, R, COLUMNS, }; - public: void BuildStatLine(char *, void *, uint16, void *); static void CentreMousePointer(); -- cgit v1.2.3