summaryrefslogtreecommitdiffstats
path: root/src/Frontend.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Frontend.h')
-rw-r--r--src/Frontend.h306
1 files changed, 173 insertions, 133 deletions
diff --git a/src/Frontend.h b/src/Frontend.h
index 7245477f..dd6464b8 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,111 @@ 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_0,
+ 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 +205,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 +298,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 +344,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 +445,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();