1 // $Id: worldmap.cpp 3209 2006-04-02 22:19:22Z sommer $
4 // Copyright (C) 2006 Christoph Sommer <christoph.sommer@2006.expires.deltadevelopment.de>
6 // This program is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU General Public License
8 // as published by the Free Software Foundation; either version 2
9 // of the License, or (at your option) any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 #include "console.hpp"
23 #include "video/drawing_context.hpp"
24 #include "video/surface.hpp"
25 #include "player_status.hpp"
27 #include "resources.hpp"
30 int ticks; // TODO: use a clock?
33 Console::Console(DrawingContext* context) : context(context)
35 background = new Surface("images/engine/console.jpg");
46 lines.push_front(outputBuffer.str());
47 if (lines.size() >= 256) lines.pop_back();
49 if (height < 4) height=4;
53 std::cerr << outputBuffer.str() << std::flush;
54 outputBuffer.str(std::string());
60 if (height == 0) return;
64 if (height < 0) height=0;
66 if (height == 0) return;
68 context->draw_surface(background, Vector(SCREEN_WIDTH/2 - background->get_width()/2, height - background->get_height()), LAYER_FOREGROUND1+1);
71 for (std::list<std::string>::iterator i = lines.begin(); i != lines.end(); i++) {
73 float py = height-4-lineNo*9;
75 context->draw_text(white_small_text, *i, Vector(BORDER_X, py), LEFT_ALLIGN, LAYER_FOREGROUND1+1);
79 int Console::height = 0;
80 std::list<std::string> Console::lines;
81 ConsoleStreamBuffer Console::outputBuffer;
82 std::ostream Console::output(&Console::outputBuffer);