#include "audio/sound_source.hpp"
#include "log.hpp"
#include "scripting/squirrel_util.hpp"
+#include "object/camera.hpp"
AmbientSound::AmbientSound(const lisp::Lisp& lisp)
{
lisp.get("silence_distance",silence_distance);
sound_source = 0; // not playing at the beginning
+ sound_manager->preload(sample);
latency=0;
}
float px,py;
float rx,ry;
- // Player position
- px=Sector::current()->player->get_pos().x;
- py=Sector::current()->player->get_pos().y;
+ if (!Sector::current() || !Sector::current()->camera) return;
+ // Camera position
+ px=Sector::current()->camera->get_center().x;
+ py=Sector::current()->camera->get_center().y;
// Relate to which point in the area
rx=px<position.x?position.x:
translation = scroll_from + (scroll_goal - scroll_from) * scroll_to_pos;
}
+
+Vector
+Camera::get_center() const {
+ return translation + Vector(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
+}
+
};
CameraMode mode;
+ /**
+ * get the coordinates of the point directly in the center of this camera
+ */
+ Vector get_center() const;
+
private:
void update_scroll_normal(float elapsed_time);
void update_scroll_autoscroll(float elapsed_time);