X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscripting%2Fcamera.cpp;h=cb4a93b97db1d75766025d45c4653ba3c1f3eded;hb=8e38c01a8c4f2937c3f53d46d3034b0f55ba4316;hp=82c5b8755f92d87630a54a53e71a5d353ba0a7a5;hpb=60908c905544776c376421b8d3e12eeb936c068f;p=supertux.git diff --git a/src/scripting/camera.cpp b/src/scripting/camera.cpp index 82c5b8755..cb4a93b97 100644 --- a/src/scripting/camera.cpp +++ b/src/scripting/camera.cpp @@ -1,14 +1,36 @@ +// $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.h" +#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 << __PRETTY_FUNCTION__ << " not implemented." namespace Scripting { - Camera::Camera() + Camera::Camera(::Camera* camera) + : camera(camera) { } Camera::~Camera() @@ -27,8 +49,20 @@ namespace Scripting } void - Camera::set_mode(const std::string& ) + Camera::set_mode(const std::string& mode) { - NOIMPL; - } + 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) + { + camera->scroll_to(Vector(x, y), scrolltime); + } }