X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FMenu%2FMenu.cpp;h=4c4abfaa32bd55f8557ce62ad1d95477210ac7b3;hb=5d3b7560a50c3656ec441343359508c9de1290ca;hp=7d8bce8dfdac5b83c44ff0aa1784c0f8f93c2961;hpb=ed3662c0852c4312a612b4fc35bd03aba8d13db7;p=lugaru.git diff --git a/Source/Menu/Menu.cpp b/Source/Menu/Menu.cpp index 7d8bce8..4c4abfa 100644 --- a/Source/Menu/Menu.cpp +++ b/Source/Menu/Menu.cpp @@ -49,6 +49,10 @@ extern int leveltheme; extern void toggleFullscreen(); int entername = 0; +std::string newusername = ""; +unsigned newuserselected = 0; +float newuserblinkdelay = 0; +bool newuserblink = false; std::vector Menu::items; @@ -141,7 +145,7 @@ void Menu::setText(int id, const string& text, int x, int y, int w, int h) int Menu::getSelected(int mousex, int mousey) { - for (vector::iterator it = items.begin(); it != items.end(); it++) + for (vector::reverse_iterator it = items.rbegin(); it != items.rend(); it++) if (it->type == MenuItem::BUTTON || it->type == MenuItem::IMAGEBUTTON || it->type == MenuItem::MAPMARKER) { int mx = mousex; int my = mousey; @@ -239,7 +243,7 @@ void Menu::drawItems() } break; case MenuItem::MAPLABEL: - Game::text->glPrintOutlined(0.9, 0, 0, it->x, it->y, it->text.c_str(), 0, 0.6, 640, 480); + Game::text->glPrintOutlined(0.9, 0, 0, 1, it->x, it->y, it->text.c_str(), 0, 0.6, 640, 480); break; case MenuItem::MAPLINE: { XYZ linestart; @@ -539,7 +543,7 @@ void Menu::Tick() } if (mainmenu == 10) endgame = 2; - if (mainmenu == 18 && Input::isKeyPressed(MOUSEBUTTON2) && selected == 1) { + if (mainmenu == 18 && Input::isKeyPressed(MOUSEBUTTON_RIGHT) && selected == 1) { stereoseparation -= 0.001; updateStereoConfigMenu(); } @@ -708,7 +712,7 @@ void Menu::Tick() LoadStuff(); whichchoice = selected - NB_CAMPAIGN_MENU_ITEM - Account::active().getCampaignChoicesMade(); actuallevel = (Account::active().getCampaignChoicesMade() > 0 ? campaignlevels[Account::active().getCampaignChoicesMade() - 1].nextlevel[whichchoice] : 0); - visibleloading = 1; + visibleloading = true; stillloading = 1; Loadlevel(campaignlevels[actuallevel].mapname.c_str()); campaign = 1; @@ -787,8 +791,8 @@ void Menu::Tick() } else { mainmenu = 1; } - displaytext[0].clear(); - displayselected = 0; + newusername.clear(); + newuserselected = 0; entername = 0; } break; @@ -864,10 +868,10 @@ void Menu::Tick() OPENAL_SetFrequency(channels[stream_menutheme]); if (entername) { - inputText(displaytext[0], &displayselected); + inputText(newusername, &newuserselected); if (!waiting) { // the input as finished - if (!displaytext[0].empty()) { // with enter - Account::add(string(displaytext[0])); + if (!newusername.empty()) { // with enter + Account::add(string(newusername)); mainmenu = 8; @@ -875,24 +879,24 @@ void Menu::Tick() fireSound(firestartsound); - displaytext[0].clear(); + newusername.clear(); - displayselected = 0; + newuserselected = 0; } entername = 0; Load(); } - displayblinkdelay -= multiplier; - if (displayblinkdelay <= 0) { - displayblinkdelay = .3; - displayblink = !displayblink; + newuserblinkdelay -= multiplier; + if (newuserblinkdelay <= 0) { + newuserblinkdelay = .3; + newuserblink = !newuserblink; } } if (entername) { - setText(0, displaytext[0], 20, 400, -1, -1); - setText(-2, displayblink ? "_" : "", 20 + displayselected * 10, 400, -1, -1); + setText(0, newusername, 20, 400, -1, -1); + setText(-2, newuserblink ? "_" : "", 20 + newuserselected * 10, 400, -1, -1); } if (oldmainmenu != mainmenu)