X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscripting%2Fcamera.cpp;h=93b910437daa1d29bd302e3be2be17157a25b128;hb=f27ec33980c31a595f497d85b8ddee17c451975f;hp=82c5b8755f92d87630a54a53e71a5d353ba0a7a5;hpb=60908c905544776c376421b8d3e12eeb936c068f;p=supertux.git diff --git a/src/scripting/camera.cpp b/src/scripting/camera.cpp index 82c5b8755..93b910437 100644 --- a/src/scripting/camera.cpp +++ b/src/scripting/camera.cpp @@ -2,13 +2,16 @@ #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 msg_fatal << __PRETTY_FUNCTION__ << " not implemented." namespace Scripting { - Camera::Camera() + Camera::Camera(::Camera* camera) + : camera(camera) { } Camera::~Camera() @@ -27,8 +30,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 { + msg_fatal << "Camera mode '" << mode << "' unknown."; + } + } + + void + Camera::scroll_to(float x, float y, float scrolltime) + { + camera->scroll_to(Vector(x, y), scrolltime); + } }