Improved menu class

This commit is contained in:
2021-08-30 20:58:57 +02:00
parent 74c08884ae
commit 22ca349171
5 changed files with 156 additions and 180 deletions

View File

@@ -136,6 +136,12 @@ void Title::init(bool demo, Uint8 subsection)
mFade->init(0x17, 0x17, 0x26);
mDemo = demo;
if (!mInput->gameControllerFound())
{
mOptions->input[0] = INPUT_USE_KEYBOARD;
mOptions->input[1] = INPUT_USE_GAMECONTROLLER;
}
// Inicializa el bitmap de Coffee
mCoffeeBitmap->init(mTitleTexture, mRenderer);
mCoffeeBitmap->setId(0);
@@ -233,11 +239,11 @@ void Title::init(bool demo, Uint8 subsection)
}
// Inicializa los objetos de menu
mMenu.title->init("TITLE", 0, 14 * BLOCK, MENU_BACKGROUND_TRANSPARENT);
mMenu.title->addItem(mLang->getText(51)); // 1 PLAYER
mMenu.title->addItem(mLang->getText(52), 0, 5); // 2 PLAYERS
mMenu.title->addItem(mLang->getText(1), 0, 5); // OPTIONS
mMenu.title->addItem(mLang->getText(3)); // QUIT
mMenu.title->init("TITLE", 0, (14 * BLOCK) + 4, MENU_BACKGROUND_TRANSPARENT);
mMenu.title->addItem(mLang->getText(51), 2); // 1 PLAYER
mMenu.title->addItem(mLang->getText(52), 7); // 2 PLAYERS
mMenu.title->addItem(mLang->getText(1), 7); // OPTIONS
mMenu.title->addItem(mLang->getText(3)); // QUIT
mMenu.title->setDefaultActionWhenCancel(3);
mMenu.title->setBackgroundColor(0x30, 0x30, 0x40, 192);
mMenu.title->setSelectorColor(0xe5, 0x1c, 0x23, 0);
@@ -246,20 +252,20 @@ void Title::init(bool demo, Uint8 subsection)
mMenu.title->centerMenuElementsOnX();
mMenu.options->init("OPTIONS", 0, BLOCK, MENU_BACKGROUND_TRANSPARENT);
mMenu.options->addItem(mLang->getText(59), 0, 5); // (0) DIFFICULTY
mMenu.options->addItem(mLang->getText(62), 0, 0, true, false, true); // (1) PLAYER 1 CONTROLS
mMenu.options->addItem(mLang->getText(69), 0, 0, false, false); // (2) KEYBOARD
mMenu.options->addItem(mLang->getText(63), 0, 0, true, false, true); // (3) PLAYER 2 CONTROLS
mMenu.options->addItem(mLang->getText(70), 0, 5, false, false); // (4) GAME CONTROLLER
mMenu.options->addItem(mLang->getText(8), 0, 5); // (5) LANGUAGE
mMenu.options->addItem(mLang->getText(58), 0, 0, true, false, true); // (6) DISPLAY MODE
mMenu.options->addItem(mLang->getText(4), 0, 0, false, false); // (7) WINDOWED
mMenu.options->addItem(mLang->getText(7)); // (8) WINDOW SIZE
mMenu.options->addItem(mLang->getText(60)); // (9) FILTER
mMenu.options->addItem(mLang->getText(61), 0, 5); // (10) VSYNC
mMenu.options->addItem(mLang->getText(2), 0, 5); // (11) HOW TO PLAY
mMenu.options->addItem(mLang->getText(9)); // (12) ACCEPT
mMenu.options->addItem(mLang->getText(10)); // (13) CANCEL
mMenu.options->addItem(mLang->getText(59), 7); // (0) DIFFICULTY
mMenu.options->addItem(mLang->getText(62), 2, true, false, true); // (1) PLAYER 1 CONTROLS
mMenu.options->addItem(mLang->getText(69), 7, false, false); // (2) KEYBOARD
mMenu.options->addItem(mLang->getText(63), 2, true, false, true); // (3) PLAYER 2 CONTROLS
mMenu.options->addItem(mLang->getText(70), 7, false, false); // (4) GAME CONTROLLER
mMenu.options->addItem(mLang->getText(8), 7); // (5) LANGUAGE
mMenu.options->addItem(mLang->getText(58), 2, true, false, true); // (6) DISPLAY MODE
mMenu.options->addItem(mLang->getText(4), 7, false, false); // (7) WINDOW
mMenu.options->addItem(mLang->getText(7), 2); // (8) WINDOW SIZE
mMenu.options->addItem(mLang->getText(60), 2); // (9) FILTER
mMenu.options->addItem(mLang->getText(61), 7); // (10) VSYNC
mMenu.options->addItem(mLang->getText(2), 7); // (11) HOW TO PLAY
mMenu.options->addItem(mLang->getText(9), 2); // (12) ACCEPT
mMenu.options->addItem(mLang->getText(10)); // (13) CANCEL
mMenu.options->setDefaultActionWhenCancel(13);
mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
@@ -355,8 +361,10 @@ void Title::updateMenuLabels()
if (!mInput->gameControllerFound())
mMenu.options->setGreyed(i, true);
else
{
mMenu.options->setGreyed(i, false);
mMenu.options->setItemCaption(i, mInput->getControllerName(0));
}
break;
default:
@@ -382,8 +390,10 @@ void Title::updateMenuLabels()
if (!mInput->gameControllerFound())
mMenu.options->setGreyed(i, true);
else
{
mMenu.options->setGreyed(i, false);
mMenu.options->setItemCaption(i, mInput->getControllerName(0));
}
break;
default: