X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FMenu%2FMenu.cpp;h=bac46a622c935dd2509a646980f5bb6ffa90be55;hb=fdda8bfcd51741554efb27b2eca25bea63675595;hp=7d8bce8dfdac5b83c44ff0aa1784c0f8f93c2961;hpb=ed3662c0852c4312a612b4fc35bd03aba8d13db7;p=lugaru.git diff --git a/Source/Menu/Menu.cpp b/Source/Menu/Menu.cpp index 7d8bce8..bac46a6 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; @@ -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)