X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscripting%2Fcamera.cpp;h=ea909899132a9b4ece7999a599b66fba37977b6b;hb=89c801d4e00a0be36f6ad693a055505968ef9514;hp=6f6173b1b90924d1bd581ddab5529bc213f3baa6;hpb=5b7f9214cb929399f1a855ef5807018a9447d510;p=supertux.git diff --git a/src/scripting/camera.cpp b/src/scripting/camera.cpp index 6f6173b1b..ea9098991 100644 --- a/src/scripting/camera.cpp +++ b/src/scripting/camera.cpp @@ -1,34 +1,73 @@ +// $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 distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// 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 #include #include -#include "camera.hpp" +#include "object/camera.hpp" +#include "scripting/camera.hpp" +#include "math/vector.hpp" -#define NOIMPL printf("%s not implemented.\n", __PRETTY_FUNCTION__); +#define NOIMPL log_fatal << __FUNCTION__ << " not implemented." namespace Scripting { - Camera::Camera() + Camera::Camera(::Camera* camera) + : camera(camera) { } Camera::~Camera() { } - + + void + Camera::reload_config() + { + camera->reload_config(); + } + void - Camera::shake(float , float , float ) + Camera::shake(float speed, float x, float y) { - NOIMPL; + camera->shake(speed, x, y); } - + void Camera::set_pos(float , float ) { - NOIMPL; } void - Camera::set_mode(const std::string& ) + Camera::set_mode(const std::string& mode) + { + if(mode == "normal") { + camera->mode = ::Camera::NORMAL; + } else if(mode == "manual") { + camera->mode = ::Camera::MANUAL; + } else { + log_fatal << "Camera mode '" << mode << "' unknown."; + } + } + + void + Camera::scroll_to(float x, float y, float scrolltime) { - NOIMPL; - } + camera->scroll_to(Vector(x, y), scrolltime); + } }