]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Camera.cpp
made targetless camera possible
[l2e.git] / src / graphics / Camera.cpp
index d43864ad6d2a44eef942251382c1f56f2f1300ea..e882eb19a322f32231f501d286f24109edb397fd 100644 (file)
@@ -13,22 +13,25 @@ using geometry::Vector;
 
 namespace graphics {
 
-Camera::Camera(int width, int height, const Vector<int> *target)
+Camera::Camera(int width, int height, const Vector<float> *target)
 : target(target), halfWidth(width / 2), halfHeight(height / 2) {
-       assert(target && "construct camera without target");
+
 }
 
 
-void Camera::SetTarget(const Vector<int> *t) {
-       assert(t && "cannot change camera target to 0");
+void Camera::SetTarget(const Vector<float> *t) {
        target = t;
 }
 
 
 Vector<int> Camera::CalculateOffset() const {
-       return Vector<int>(
-                       (target->X() - halfWidth) * -1,
-                       (target->Y() - halfHeight) * -1);
+       if (target) {
+               return Vector<int>(
+                               (target->X() - halfWidth) * -1,
+                               (target->Y() - halfHeight) * -1);
+       } else {
+               return Vector<int>();
+       }
 }
 
 }