working on options menu
This commit is contained in:
165
source/title.cpp
165
source/title.cpp
@@ -259,34 +259,27 @@ void Title::init(bool demo, Uint8 subsection)
|
||||
mMenu.title->setSelectorColor(0xe5, 0x1c, 0x23, 0);
|
||||
//mMenu.title->setSelectorTextColor(0xFF, 0xF1, 0x76);
|
||||
mMenu.title->setSelectorTextColor(0xFF, 0xB4, 0x00);
|
||||
mMenu.title->centerMenu(SCREEN_CENTER_X);
|
||||
mMenu.title->centerMenuElements();
|
||||
mMenu.title->centerMenuOnX(SCREEN_CENTER_X);
|
||||
mMenu.title->centerMenuElementsOnX();
|
||||
|
||||
//mMenu.options->init("OPTIONS", 0, 14 * BLOCK, MENU_BACKGROUND_SOLID);
|
||||
//mMenu.options->addItem(mLang->getText(4));
|
||||
//mMenu.options->addItem(mLang->getText(7));
|
||||
//mMenu.options->addItem(mLang->getText(8), 0, 5);
|
||||
//mMenu.options->addItem(mLang->getText(9));
|
||||
//mMenu.options->addItem(mLang->getText(10));
|
||||
//mMenu.options->setDefaultActionWhenCancel(4);
|
||||
//mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
||||
//mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
||||
//mMenu.options->setSelectorTextColor(0xFF, 0xF1, 0x76);
|
||||
//mMenu.options->centerMenu(SCREEN_CENTER_X);
|
||||
//mMenu.options->centerMenuElements();
|
||||
|
||||
mMenu.options->init("OPTIONS", 0, BLOCK, MENU_BACKGROUND_SOLID);
|
||||
mMenu.options->addItem(mLang->getText(4)); // WINDOW
|
||||
mMenu.options->addItem(mLang->getText(7));
|
||||
mMenu.options->addItem(mLang->getText(8), 0, 5);
|
||||
mMenu.options->addItem(mLang->getText(9)); // ACCEPT
|
||||
mMenu.options->addItem(mLang->getText(10)); // CANCEL
|
||||
mMenu.options->setDefaultActionWhenCancel(4);
|
||||
mMenu.options->init("OPTIONS", 0, BLOCK, MENU_BACKGROUND_TRANSPARENT);
|
||||
mMenu.options->addItem(mLang->getText(59), 0, 5); // DIFFICULTY
|
||||
mMenu.options->addItem(mLang->getText(62)); // PLAYER 1 CONTROLS
|
||||
mMenu.options->addItem(mLang->getText(63), 0, 5); // PLAYER 2 CONTROLS
|
||||
mMenu.options->addItem(mLang->getText(8), 0, 5); // LANGUAGE
|
||||
mMenu.options->addItem(mLang->getText(58)); // DISPLAY MODE
|
||||
mMenu.options->addItem(mLang->getText(7)); // WINDOW SIZE
|
||||
mMenu.options->addItem(mLang->getText(60)); // FILTER
|
||||
mMenu.options->addItem(mLang->getText(61), 0, 5); //VSYNC
|
||||
mMenu.options->addItem(mLang->getText(9)); // ACCEPT
|
||||
mMenu.options->addItem(mLang->getText(10)); // CANCEL
|
||||
mMenu.options->setDefaultActionWhenCancel(9);
|
||||
mMenu.options->setBackgroundColor(0x30, 0x30, 0x40, 192);
|
||||
mMenu.options->setSelectorColor(0xe5, 0x1c, 0x23, 255);
|
||||
mMenu.options->setSelectorTextColor(0xFF, 0xF1, 0x76);
|
||||
mMenu.options->centerMenu(SCREEN_CENTER_X);
|
||||
mMenu.options->centerMenuElements();
|
||||
mMenu.options->centerMenuOnX(SCREEN_CENTER_X);
|
||||
mMenu.options->centerMenuOnY(SCREEN_CENTER_Y);
|
||||
mMenu.options->centerMenuElementsOnX();
|
||||
|
||||
// Actualiza los textos de los menus
|
||||
updateMenuLabels();
|
||||
@@ -337,43 +330,122 @@ void Title::switchFullScreenModeVar()
|
||||
// Actualiza los elementos de los menus
|
||||
void Title::updateMenuLabels()
|
||||
{
|
||||
switch (mOptions->fullScreenMode)
|
||||
// DIFFICULTY
|
||||
switch (mOptions->difficulty)
|
||||
{
|
||||
case 0:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(4)); // WINDOW
|
||||
case DIFFICULTY_EASY:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(59) + ": " + mLang->getText(66)); // EASY
|
||||
break;
|
||||
case SDL_WINDOW_FULLSCREEN:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(5)); // FULLSCREEN
|
||||
|
||||
case DIFFICULTY_NORMAL:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(59) + ": " + mLang->getText(67)); // NORMAL
|
||||
break;
|
||||
case SDL_WINDOW_FULLSCREEN_DESKTOP:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(6)); // FAKE FULLSCREEN
|
||||
|
||||
case DIFFICULTY_HARD:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(59) + ": " + mLang->getText(68)); // HARD
|
||||
break;
|
||||
|
||||
default:
|
||||
mMenu.options->setItemCaption(0, mLang->getText(4)); // WINDOW
|
||||
mMenu.options->setItemCaption(0, mLang->getText(59) + ": " + mLang->getText(67)); // NORMAL
|
||||
break;
|
||||
}
|
||||
|
||||
mMenu.options->setItemCaption(1, mLang->getText(7) + " x" + std::to_string(mOptions->windowSize)); // WINDOW SIZE
|
||||
// PLAYER 1 CONTROLS
|
||||
switch (mOptions->player1Input)
|
||||
{
|
||||
case INPUT_USE_KEYBOARD:
|
||||
mMenu.options->setItemCaption(1, mLang->getText(62) + ": " + mLang->getText(69)); // KEYBOARD
|
||||
break;
|
||||
|
||||
case INPUT_USE_GAMECONTROLLER:
|
||||
mMenu.options->setItemCaption(1, mLang->getText(62) + ": " + mLang->getText(70)); // GAME CONTROLLER
|
||||
break;
|
||||
|
||||
default:
|
||||
mMenu.options->setItemCaption(1, mLang->getText(62) + ": " + mLang->getText(69)); // KEYBOARD
|
||||
break;
|
||||
}
|
||||
|
||||
// PLAYER 2 CONTROLS
|
||||
switch (mOptions->player2Input)
|
||||
{
|
||||
case INPUT_USE_KEYBOARD:
|
||||
mMenu.options->setItemCaption(2, mLang->getText(63) + ": " + mLang->getText(69)); // KEYBOARD
|
||||
break;
|
||||
|
||||
case INPUT_USE_GAMECONTROLLER:
|
||||
mMenu.options->setItemCaption(2, mLang->getText(63) + ": " + mLang->getText(70)); // GAME CONTROLLER
|
||||
break;
|
||||
|
||||
default:
|
||||
mMenu.options->setItemCaption(2, mLang->getText(63) + ": " + mLang->getText(69)); // KEYBOARD
|
||||
break;
|
||||
}
|
||||
|
||||
// LANGUAGE
|
||||
switch (mOptions->language)
|
||||
{
|
||||
case es_ES:
|
||||
mMenu.options->setItemCaption(2, mLang->getText(8) + " " + mLang->getText(24));
|
||||
mMenu.options->setItemCaption(3, mLang->getText(8) + ": " + mLang->getText(24)); // SPANISH
|
||||
break;
|
||||
|
||||
case ba_BA:
|
||||
mMenu.options->setItemCaption(2, mLang->getText(8) + " " + mLang->getText(25));
|
||||
mMenu.options->setItemCaption(3, mLang->getText(8) + ": " + mLang->getText(25)); // VALENCIAN
|
||||
break;
|
||||
|
||||
case en_UK:
|
||||
mMenu.options->setItemCaption(2, mLang->getText(8) + " " + mLang->getText(26));
|
||||
mMenu.options->setItemCaption(3, mLang->getText(8) + ": " + mLang->getText(26)); // ENGLISH
|
||||
break;
|
||||
|
||||
default:
|
||||
mMenu.options->setItemCaption(3, mLang->getText(8) + ": " + mLang->getText(26)); // ENGLISH
|
||||
break;
|
||||
}
|
||||
|
||||
mMenu.options->setItemCaption(3, mLang->getText(9));
|
||||
mMenu.options->setItemCaption(4, mLang->getText(10));
|
||||
// DISPLAY MODE
|
||||
switch (mOptions->fullScreenMode)
|
||||
{
|
||||
case 0:
|
||||
mMenu.options->setItemCaption(4, mLang->getText(58) + ": " + mLang->getText(4)); // WINDOW
|
||||
break;
|
||||
|
||||
mMenu.options->centerMenu(SCREEN_CENTER_X);
|
||||
mMenu.options->centerMenuElements();
|
||||
case SDL_WINDOW_FULLSCREEN:
|
||||
mMenu.options->setItemCaption(4, mLang->getText(58) + ": " + mLang->getText(5)); // FULLSCREEN
|
||||
break;
|
||||
|
||||
case SDL_WINDOW_FULLSCREEN_DESKTOP:
|
||||
mMenu.options->setItemCaption(4, mLang->getText(58) + ": " + mLang->getText(6)); // FAKE FULLSCREEN
|
||||
break;
|
||||
|
||||
default:
|
||||
mMenu.options->setItemCaption(4, mLang->getText(58) + ": " + mLang->getText(4)); // WINDOW
|
||||
break;
|
||||
}
|
||||
|
||||
// WINDOW SIZE
|
||||
mMenu.options->setItemCaption(5, mLang->getText(7) + " x" + std::to_string(mOptions->windowSize)); // WINDOW SIZE
|
||||
|
||||
// FILTER
|
||||
if (mOptions->filter == FILTER_BILINEAL)
|
||||
mMenu.options->setItemCaption(6, mLang->getText(60) + ": " + mLang->getText(71)); // BILINEAL
|
||||
else
|
||||
mMenu.options->setItemCaption(6, mLang->getText(60) + ": " + mLang->getText(72)); // LINEAL
|
||||
|
||||
// VSYNC
|
||||
if (mOptions->vSync)
|
||||
mMenu.options->setItemCaption(7, mLang->getText(61) + ": " + mLang->getText(73)); // ON
|
||||
else
|
||||
mMenu.options->setItemCaption(7, mLang->getText(61) + ": " + mLang->getText(74)); // OFF
|
||||
|
||||
// ACCEPT
|
||||
mMenu.options->setItemCaption(8, mLang->getText(9)); // ACCEPT
|
||||
|
||||
// CANCEL
|
||||
mMenu.options->setItemCaption(9, mLang->getText(10)); // CANCEL
|
||||
|
||||
mMenu.options->centerMenuOnX(SCREEN_CENTER_X);
|
||||
mMenu.options->centerMenuOnY(SCREEN_CENTER_Y);
|
||||
//mMenu.options->centerMenuElementsOnX();
|
||||
|
||||
mMenu.title->setItemCaption(0, mLang->getText(51)); // 1 PLAYER
|
||||
mMenu.title->setItemCaption(1, mLang->getText(52)); // 2 PLAYERS
|
||||
@@ -381,8 +453,8 @@ void Title::updateMenuLabels()
|
||||
//mMenu.title->setItemCaption(3, mLang->getText(2)); // HOW TO PLAY
|
||||
mMenu.title->setItemCaption(3, mLang->getText(3)); // QUIT
|
||||
|
||||
mMenu.title->centerMenu(SCREEN_CENTER_X);
|
||||
mMenu.title->centerMenuElements();
|
||||
mMenu.title->centerMenuOnX(SCREEN_CENTER_X);
|
||||
mMenu.title->centerMenuElementsOnX();
|
||||
}
|
||||
|
||||
// Aplica las opciones de menu seleccionadas
|
||||
@@ -696,8 +768,11 @@ section_t Title::run(Uint8 subsection)
|
||||
mGradient->render();
|
||||
|
||||
// Dibuja los objetos
|
||||
mCoffeeBitmap->render();
|
||||
mCrisisBitmap->render();
|
||||
if (mMenu.active->getName() != "OPTIONS")
|
||||
{
|
||||
mCoffeeBitmap->render();
|
||||
mCrisisBitmap->render();
|
||||
}
|
||||
if (mMenuVisible == true)
|
||||
mMenu.active->render();
|
||||
mDustBitmapR->animate(0);
|
||||
@@ -753,7 +828,7 @@ void Title::runInstructions(Uint8 mode)
|
||||
// Ejecuta el juego en modo demo
|
||||
void Title::runDemoGame()
|
||||
{
|
||||
mDemoGame = new Game(1, mRenderer, mFileList, mLang, mInput, mInput, true);
|
||||
mDemoGame = new Game(1, mRenderer, mFileList, mLang, mInput, mInput, true, DIFFICULTY_NORMAL);
|
||||
mDemoGame->run();
|
||||
delete mDemoGame;
|
||||
}
|
||||
Reference in New Issue
Block a user