X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Flevel_time.cpp;h=0ab963f1bdb73b3e6c2a07279759ff44b219644d;hb=1b0e66b3b40159027706a4e0df0677cd801ed0b4;hp=92a5a9082cb00e556553dc34c5651d09ca054246;hpb=fea3446f05e1e7673607b835c269d3e8d1929ab3;p=supertux.git diff --git a/src/object/level_time.cpp b/src/object/level_time.cpp index 92a5a9082..0ab963f1b 100644 --- a/src/object/level_time.cpp +++ b/src/object/level_time.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux // Copyright (C) 2006 Matthias Braun // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,53 +12,49 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -#include +// along with this program. If not, see . -#include "level_time.hpp" +#include "object/level_time.hpp" -#include -#include -#include -#include "main.hpp" -#include "resources.hpp" -#include "sector.hpp" -#include "gettext.hpp" -#include "object_factory.hpp" #include "object/player.hpp" -#include "video/drawing_context.hpp" -#include "lisp/list_iterator.hpp" -#include "log.hpp" #include "scripting/level_time.hpp" #include "scripting/squirrel_util.hpp" +#include "supertux/globals.hpp" +#include "supertux/object_factory.hpp" +#include "supertux/resources.hpp" +#include "supertux/sector.hpp" +#include "util/reader.hpp" +#include "video/drawing_context.hpp" + +#include /** When to alert player they're low on time! */ static const float TIME_WARNING = 20; -LevelTime::LevelTime(const lisp::Lisp& reader) -: running(true), time_left(0) +LevelTime::LevelTime(const Reader& reader) : + time_surface(), + running(true), + time_left(0) { reader.get("name", name); reader.get("time", time_left); if(time_left <= 0) throw std::runtime_error("No or invalid leveltime specified"); - time_surface.reset(new Surface("images/engine/hud/time-0.png")); + time_surface = Surface::create("images/engine/hud/time-0.png"); } void LevelTime::expose(HSQUIRRELVM vm, SQInteger table_idx) { if (name.empty()) return; - Scripting::LevelTime* interface = new Scripting::LevelTime(this); - expose_object(vm, table_idx, interface, name, true); + scripting::LevelTime* _this = new scripting::LevelTime(this); + expose_object(vm, table_idx, _this, name, true); } void LevelTime::unexpose(HSQUIRRELVM vm, SQInteger table_idx) { if (name.empty()) return; - Scripting::unexpose_object(vm, table_idx, name); + scripting::unexpose_object(vm, table_idx, name); } void @@ -94,11 +88,13 @@ LevelTime::draw(DrawingContext& context) ss << int(time_left); std::string time_text = ss.str(); - Surface* time_surf = time_surface.get(); - if (time_surf) { - float all_width = time_surf->get_width() + white_text->get_text_width(time_text); - context.draw_surface(time_surf, Vector((SCREEN_WIDTH - all_width)/2, BORDER_Y + 1), LAYER_FOREGROUND1); - context.draw_text(gold_text, time_text, Vector((SCREEN_WIDTH - all_width)/2 + time_surf->get_width(), BORDER_Y), ALIGN_LEFT, LAYER_FOREGROUND1); + if (time_surface) + { + float all_width = time_surface->get_width() + Resources::normal_font->get_text_width(time_text); + context.draw_surface(time_surface, Vector((SCREEN_WIDTH - all_width)/2, BORDER_Y + 1), LAYER_FOREGROUND1); + context.draw_text(Resources::normal_font, time_text, + Vector((SCREEN_WIDTH - all_width)/2 + time_surface->get_width(), BORDER_Y), + ALIGN_LEFT, LAYER_FOREGROUND1, LevelTime::text_color); } } @@ -124,9 +120,9 @@ LevelTime::get_time() } void -LevelTime::set_time(float time_left) +LevelTime::set_time(float time_left_) { - this->time_left = std::min(std::max(time_left, 0.0f), 999.0f); + this->time_left = std::min(std::max(time_left_, 0.0f), 999.0f); } -IMPLEMENT_FACTORY(LevelTime, "leveltime"); +/* EOF */