// ---------------------------------------------------------------------------- void CreateServerScreen::init() { Screen::init(); DemoWorld::resetIdleTime(); m_info_widget->setText("", false); LabelWidget *title = getWidget<LabelWidget>("title"); title->setText(NetworkConfig::get()->isLAN() ? _("Create LAN Server") : _("Create Server") , false); // I18n: Name of the server. %s is either the online or local user name m_name_widget->setText(_("%s's server", NetworkConfig::get()->isLAN() ? PlayerManager::getCurrentPlayer()->getName() : PlayerManager::getCurrentOnlineUserName() ) ); // -- Difficulty RibbonWidget* difficulty = getWidget<RibbonWidget>("difficulty"); assert(difficulty != NULL); difficulty->setSelection(UserConfigParams::m_difficulty, PLAYER_ID_GAME_MASTER); // -- Game modes RibbonWidget* gamemode = getWidget<RibbonWidget>("gamemode"); assert(gamemode != NULL); gamemode->setSelection(0, PLAYER_ID_GAME_MASTER); } // init
// ---------------------------------------------------------------------------- void ServerConfigurationDialog::init() { ModalDialog::init(); RibbonWidget* difficulty = getWidget<RibbonWidget>("difficulty"); assert(difficulty != NULL); difficulty->setSelection((int)race_manager->getDifficulty(), PLAYER_ID_GAME_MASTER); RibbonWidget* gamemode = getWidget<RibbonWidget>("gamemode"); assert(gamemode != NULL); gamemode->setSelection(m_prev_mode, PLAYER_ID_GAME_MASTER); updateMoreOption(m_prev_mode); m_options_widget->setFocusForPlayer(PLAYER_ID_GAME_MASTER); m_options_widget->select("cancel", PLAYER_ID_GAME_MASTER); } // init
StoryModeNewDialog::StoryModeNewDialog(const float w, const float h) : ModalDialog(w, h) { loadFromFile("story_mode_new.stkgui"); SpinnerWidget* ident = getWidget<SpinnerWidget>("identity"); const int playerAmount = UserConfigParams::m_all_players.size(); ident->setMax(playerAmount - 1); for(int n=0; n<playerAmount; n++) { ident->addLabel( translations->fribidize(UserConfigParams::m_all_players[n].getName()) ); } RibbonWidget* difficulty = getWidget<RibbonWidget>("difficulty"); difficulty->setSelection( 1 /* medium */, PLAYER_ID_GAME_MASTER ); ident->setFocusForPlayer(PLAYER_ID_GAME_MASTER); }
void RaceSetupScreen::init() { Screen::init(); RibbonWidget* w = getWidget<RibbonWidget>("difficulty"); assert( w != NULL ); w->setSelection( UserConfigParams::m_difficulty, PLAYER_ID_GAME_MASTER ); SpinnerWidget* kartamount = getWidget<SpinnerWidget>("aikartamount"); kartamount->setActivated(); // Avoid negative numbers (which can happen if e.g. the number of karts // in a previous race was lower than the number of players now. int num_ai = race_manager->getNumberOfKarts()-race_manager->getNumLocalPlayers(); if(num_ai<0) num_ai = 0; kartamount->setValue(num_ai); kartamount->setMax(stk_config->m_max_karts - race_manager->getNumLocalPlayers() ); DynamicRibbonWidget* w2 = getWidget<DynamicRibbonWidget>("gamemode"); assert( w2 != NULL ); w2->clearItems(); // ---- Add game modes irr::core::stringw name1 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_NORMAL_RACE)) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name1 += _("All blows allowed, so catch weapons and make clever use of them!"); w2->addItem( name1, IDENT_STD, RaceManager::getIconOf(RaceManager::MINOR_MODE_NORMAL_RACE)); irr::core::stringw name2 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_TIME_TRIAL)) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name2 += _("Contains no powerups, so only your driving skills matter!"); w2->addItem( name2, IDENT_TTRIAL, RaceManager::getIconOf(RaceManager::MINOR_MODE_TIME_TRIAL)); if (unlock_manager->getCurrentSlot()->isLocked(IDENT_FTL)) { w2->addItem( _("Locked : solve active challenges to gain access to more!"), "locked", RaceManager::getIconOf(RaceManager::MINOR_MODE_FOLLOW_LEADER), true); } else { irr::core::stringw name3 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_FOLLOW_LEADER)) + L"\n"; //I18N: short definition for follow-the-leader game mode name3 += _("Keep up with the leader kart but don't overtake it!"); w2->addItem(name3, IDENT_FTL, RaceManager::getIconOf(RaceManager::MINOR_MODE_FOLLOW_LEADER), false); } if (race_manager->getNumLocalPlayers() > 1 || UserConfigParams::m_artist_debug_mode) { irr::core::stringw name4 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_3_STRIKES)) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name4 += _("Hit others with weapons until they lose all their lives. (Only in multiplayer games)"); w2->addItem( name4, IDENT_STRIKES, RaceManager::getIconOf(RaceManager::MINOR_MODE_3_STRIKES)); } w2->updateItemDisplay(); // restore saved game mode switch (UserConfigParams::m_game_mode) { case CONFIG_CODE_NORMAL : w2->setSelection(IDENT_STD, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_TIMETRIAL : w2->setSelection(IDENT_TTRIAL, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_FTL : w2->setSelection(IDENT_FTL, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_3STRIKES : w2->setSelection(IDENT_STRIKES, PLAYER_ID_GAME_MASTER, true); break; } m_mode_listener = new GameModeRibbonListener(this); w2->registerHoverListener(m_mode_listener); }
void RaceSetupScreen::init() { Screen::init(); input_manager->setMasterPlayerOnly(true); RibbonWidget* w = getWidget<RibbonWidget>("difficulty"); assert( w != NULL ); race_manager->setMajorMode(RaceManager::MAJOR_MODE_SINGLE); if (UserConfigParams::m_difficulty == RaceManager::DIFFICULTY_BEST && PlayerManager::getCurrentPlayer()->isLocked("difficulty_best")) { w->setSelection(RaceManager::DIFFICULTY_HARD, PLAYER_ID_GAME_MASTER); } else { w->setSelection( UserConfigParams::m_difficulty, PLAYER_ID_GAME_MASTER ); } DynamicRibbonWidget* w2 = getWidget<DynamicRibbonWidget>("gamemode"); assert( w2 != NULL ); w2->clearItems(); // ---- Add game modes irr::core::stringw name1 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_NORMAL_RACE)) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name1 += _("All blows allowed, so catch weapons and make clever use of them!"); w2->addItem( name1, IDENT_STD, RaceManager::getIconOf(RaceManager::MINOR_MODE_NORMAL_RACE)); irr::core::stringw name2 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_TIME_TRIAL)) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name2 += _("Contains no powerups, so only your driving skills matter!"); w2->addItem( name2, IDENT_TTRIAL, RaceManager::getIconOf(RaceManager::MINOR_MODE_TIME_TRIAL)); if (PlayerManager::getCurrentPlayer()->isLocked(IDENT_FTL)) { w2->addItem( _("Locked : solve active challenges to gain access to more!"), "locked", RaceManager::getIconOf(RaceManager::MINOR_MODE_FOLLOW_LEADER), true); } else { irr::core::stringw name3 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_FOLLOW_LEADER)) + L"\n"; //I18N: short definition for follow-the-leader game mode name3 += _("Keep up with the leader kart but don't overtake it!"); w2->addItem(name3, IDENT_FTL, RaceManager::getIconOf(RaceManager::MINOR_MODE_FOLLOW_LEADER), false); } irr::core::stringw name4 = irr::core::stringw(_("Battle")) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name4 += _("Hit others with weapons until they lose all their lives."); w2->addItem( name4, IDENT_STRIKES, RaceManager::getIconOf(RaceManager::MINOR_MODE_FREE_FOR_ALL)); irr::core::stringw name5 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_SOCCER)) + L"\n"; name5 += _("Push the ball into the opposite cage to score goals."); w2->addItem( name5, IDENT_SOCCER, RaceManager::getIconOf(RaceManager::MINOR_MODE_SOCCER)); #define ENABLE_EASTER_EGG_MODE #ifdef ENABLE_EASTER_EGG_MODE if(race_manager->getNumLocalPlayers() == 1) { irr::core::stringw name1 = irr::core::stringw( RaceManager::getNameOf(RaceManager::MINOR_MODE_EASTER_EGG)) + L"\n"; //FIXME: avoid duplicating descriptions from the help menu! name1 += _("Explore tracks to find all hidden eggs"); w2->addItem( name1, IDENT_EASTER, RaceManager::getIconOf(RaceManager::MINOR_MODE_EASTER_EGG)); } #endif irr::core::stringw name6 = irr::core::stringw( _("Ghost replay race")) + L"\n"; name6 += _("Race against ghost karts and try to beat them!"); w2->addItem( name6, IDENT_GHOST, "/gui/icons/mode_ghost.png"); w2->updateItemDisplay(); // restore saved game mode switch (UserConfigParams::m_game_mode) { case CONFIG_CODE_NORMAL : w2->setSelection(IDENT_STD, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_TIMETRIAL : w2->setSelection(IDENT_TTRIAL, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_FTL : w2->setSelection(IDENT_FTL, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_3STRIKES : w2->setSelection(IDENT_STRIKES, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_EASTER : w2->setSelection(IDENT_EASTER, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_SOCCER : w2->setSelection(IDENT_SOCCER, PLAYER_ID_GAME_MASTER, true); break; case CONFIG_CODE_GHOST : w2->setSelection(IDENT_GHOST, PLAYER_ID_GAME_MASTER, true); break; } { RibbonWidget* w = getWidget<RibbonWidget>("difficulty"); assert(w != NULL); int index = w->findItemNamed("best"); Widget* hardestWidget = &w->getChildren()[index]; if (PlayerManager::getCurrentPlayer()->isLocked("difficulty_best")) { hardestWidget->setBadge(LOCKED_BADGE); hardestWidget->setActive(false); } else { hardestWidget->unsetBadge(LOCKED_BADGE); hardestWidget->setActive(true); } } } // init