aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/system
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/system')
-rw-r--r--src/crepe/system/RenderSystem.cpp7
-rw-r--r--src/crepe/system/RenderSystem.h5
2 files changed, 8 insertions, 4 deletions
diff --git a/src/crepe/system/RenderSystem.cpp b/src/crepe/system/RenderSystem.cpp
index ad510f5..a16fbb5 100644
--- a/src/crepe/system/RenderSystem.cpp
+++ b/src/crepe/system/RenderSystem.cpp
@@ -30,7 +30,7 @@ void RenderSystem::update_camera() {
for (Camera & cam : cameras) {
if (!cam.active) continue;
- this->context.set_camera(cam);
+ this->context.set_camera(cam, this->scale);
this->curr_cam_ref = &cam;
}
}
@@ -72,14 +72,13 @@ bool RenderSystem::render_particle(const Sprite & sprite, const double & scale)
for (const Particle & p : em.data.particles) {
if (!p.active) continue;
- this->context.draw_particle(sprite, p.position, p.angle, scale,
- *this->curr_cam_ref);
+ this->context.draw_particle(sprite, p.position, p.angle, this->scale * scale);
}
}
return rendering_particles;
}
void RenderSystem::render_normal(const Sprite & sprite, const Transform & tm) {
- this->context.draw(sprite, tm, *this->curr_cam_ref);
+ this->context.draw(sprite, tm, this->scale * tm.scale);
}
void RenderSystem::render() {
diff --git a/src/crepe/system/RenderSystem.h b/src/crepe/system/RenderSystem.h
index 30b41cf..19edc02 100644
--- a/src/crepe/system/RenderSystem.h
+++ b/src/crepe/system/RenderSystem.h
@@ -3,6 +3,7 @@
#include <functional>
#include <vector>
+#include "api/Vector2.h"
#include "facade/SDLContext.h"
#include "System.h"
@@ -80,8 +81,12 @@ private:
//! Pointer to the current active camera for rendering
Camera * curr_cam_ref = nullptr;
// TODO: needs a better solution
+
+ Vector2 scale;
SDLContext & context = SDLContext::get_instance();
+
+
};
} // namespace crepe