X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsupertux%2Fconsole.cpp;h=883ec09d68e1e1fc5c27f6d3e5acb33fa70c67a0;hb=6c2a4cb4a47ddf6917cf57a6aea6f192be48e976;hp=ffff99fadd1bac923e5b950354dd055c88c44dc7;hpb=f26940f1db73c045618c17e163cfff5f64948c04;p=supertux.git diff --git a/src/supertux/console.cpp b/src/supertux/console.cpp index ffff99fad..883ec09d6 100644 --- a/src/supertux/console.cpp +++ b/src/supertux/console.cpp @@ -363,7 +363,7 @@ Console::addLine(std::string s) lines.pop_back(); // increase console height if necessary - if (height < 64) { + if ((stayOpen > 0) && (height < 64)) { if(height < 4) height = 4; height += fontheight * line_count; @@ -371,10 +371,6 @@ Console::addLine(std::string s) // reset console to full opacity alpha = 1.0; - - // increase time that console stays open - if(stayOpen < 6) - stayOpen += 1.5; } void @@ -439,6 +435,13 @@ Console::show() } void +Console::open() +{ + if(stayOpen < 2) + stayOpen += 1.5; +} + +void Console::hide() { focused = false; @@ -488,10 +491,10 @@ Console::draw(DrawingContext& context) context.push_transform(); context.set_alpha(alpha); - context.draw_surface(background2.get(), Vector(SCREEN_WIDTH/2 - background->get_width()/2 - background->get_width() + backgroundOffset, height - background->get_height()), layer); - context.draw_surface(background2.get(), Vector(SCREEN_WIDTH/2 - background->get_width()/2 + backgroundOffset, height - background->get_height()), layer); + context.draw_surface(background2, Vector(SCREEN_WIDTH/2 - background->get_width()/2 - background->get_width() + backgroundOffset, height - background->get_height()), layer); + context.draw_surface(background2, Vector(SCREEN_WIDTH/2 - background->get_width()/2 + backgroundOffset, height - background->get_height()), layer); for (int x = (SCREEN_WIDTH/2 - background->get_width()/2 - (static_cast(ceilf((float)SCREEN_WIDTH / (float)background->get_width()) - 1) * background->get_width())); x < SCREEN_WIDTH; x+=background->get_width()) { - context.draw_surface(background.get(), Vector(x, height - background->get_height()), layer); + context.draw_surface(background, Vector(x, height - background->get_height()), layer); } backgroundOffset+=10; if (backgroundOffset > (int)background->get_width()) backgroundOffset -= (int)background->get_width(); @@ -501,10 +504,10 @@ Console::draw(DrawingContext& context) if (focused) { lineNo++; float py = height-4-1 * font->get_height(); - context.draw_text(font.get(), "> "+inputBuffer, Vector(4, py), ALIGN_LEFT, layer); + context.draw_text(font, "> "+inputBuffer, Vector(4, py), ALIGN_LEFT, layer); if (SDL_GetTicks() % 1000 < 750) { int cursor_px = 2 + inputBufferPosition; - context.draw_text(font.get(), "_", Vector(4 + (cursor_px * font->get_text_width("X")), py), ALIGN_LEFT, layer); + context.draw_text(font, "_", Vector(4 + (cursor_px * font->get_text_width("X")), py), ALIGN_LEFT, layer); } } @@ -514,7 +517,7 @@ Console::draw(DrawingContext& context) lineNo++; float py = height - 4 - lineNo*font->get_height(); if (py < -font->get_height()) break; - context.draw_text(font.get(), *i, Vector(4, py), ALIGN_LEFT, layer); + context.draw_text(font, *i, Vector(4, py), ALIGN_LEFT, layer); } context.pop_transform(); }