aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade/SDLContext.cpp
diff options
context:
space:
mode:
authorheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-19 15:50:55 +0100
committerheavydemon21 <nielsstunnebrink1@gmail.com>2024-12-19 15:50:55 +0100
commita35b8998ec828877991c6da92879e37f28f64dc5 (patch)
treed9b0a9d946663e45b875ad8a989a4f07f0aba859 /src/crepe/facade/SDLContext.cpp
parent9633c6a8608175e9832f6995efc46023deebcf94 (diff)
fixed ( placedment
Diffstat (limited to 'src/crepe/facade/SDLContext.cpp')
-rw-r--r--src/crepe/facade/SDLContext.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp
index 31b0a0b..dc3f362 100644
--- a/src/crepe/facade/SDLContext.cpp
+++ b/src/crepe/facade/SDLContext.cpp
@@ -12,6 +12,7 @@
#include <cmath>
#include <cstddef>
#include <functional>
+#include <iostream>
#include <memory>
#include <stdexcept>
@@ -152,16 +153,23 @@ SDL_FRect SDLContext::get_dst_rect(const DestinationRectangleData & ctx) const {
size *= cam_aux_data.render_scale * ctx.img_scale * data.scale_offset;
if (ctx.sprite.data.world_space) {
- vec2 multiplier = cam_aux_data.cam_pos
- + (cam_aux_data.zoomed_viewport / 2) * cam_aux_data.render_scale
- - size / 2 + cam_aux_data.bar_size;
- screen_pos += multiplier;
+ screen_pos = (screen_pos - cam_aux_data.cam_pos
+ + cam_aux_data.zoomed_viewport / 2)
+ * cam_aux_data.render_scale
+ - size / 2 + cam_aux_data.bar_size;
} else {
- vec2 multiplier = (cam_aux_data.zoomed_viewport / 2) * cam_aux_data.render_scale
+ screen_pos = (screen_pos + cam_aux_data.zoomed_viewport / 2) * cam_aux_data.render_scale
- size / 2 + cam_aux_data.bar_size;
- screen_pos += multiplier;
}
+ cout << "HALLO" << endl;
+ cout << screen_pos.x << " " << screen_pos.y << endl;
+ cout << data.position_offset.x << " " << data.position_offset.y << endl;
+ cout << ctx.pos.x << " " << ctx.pos.y << endl;
+ cout << size.x << " " << size.y << endl;
+ cout << cam_aux_data.render_scale.x << " " << cam_aux_data.render_scale.y << endl;
+ cout << cam_aux_data.bar_size.x << " " << cam_aux_data.bar_size.y << endl;
+
return SDL_FRect{
.x = screen_pos.x,
.y = screen_pos.y,
@@ -195,6 +203,8 @@ void SDLContext::draw(const RenderContext & ctx) {
double angle = ctx.angle + data.angle_offset;
+ cout << dstrect.x << " " << dstrect.y << " " << dstrect.w << " " << dstrect.h << endl;
+
this->set_color_texture(ctx.texture, ctx.sprite.data.color);
SDL_RenderCopyExF(this->game_renderer.get(), ctx.texture.get_img(), srcrect_ptr, &dstrect,
angle, NULL, render_flip);