From 7f66cd4a9b609f6bf36d005f5e38ef2a57d1c0d3 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 27 Nov 2024 11:15:02 +0100 Subject: removed shared_ptr from sprite --- src/crepe/api/Sprite.cpp | 9 ++++----- src/crepe/api/Sprite.h | 4 ++-- src/crepe/facade/SDLContext.cpp | 4 ++-- src/example/rendering_particle.cpp | 4 ++-- 4 files changed, 10 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/crepe/api/Sprite.cpp b/src/crepe/api/Sprite.cpp index 58e0884..2c2ca65 100644 --- a/src/crepe/api/Sprite.cpp +++ b/src/crepe/api/Sprite.cpp @@ -1,5 +1,4 @@ #include -#include #include "../util/Log.h" @@ -10,17 +9,17 @@ using namespace std; using namespace crepe; -Sprite::Sprite(game_object_id_t id, const shared_ptr image, const Color & color, +Sprite::Sprite(game_object_id_t id, const Texture & image, const Color & color, const FlipSettings & flip) : Component(id), color(color), flip(flip), sprite_image(image), - aspect_ratio(static_cast(sprite_image->get_width()) / sprite_image->get_height()) { + aspect_ratio(static_cast(sprite_image.get_width()) / sprite_image.get_height()) { dbg_trace(); - this->sprite_rect.w = sprite_image->get_width(); - this->sprite_rect.h = sprite_image->get_height(); + this->sprite_rect.w = sprite_image.get_width(); + this->sprite_rect.h = sprite_image.get_height(); } Sprite::~Sprite() { dbg_trace(); } diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h index 7d5f4c3..82dc4a7 100644 --- a/src/crepe/api/Sprite.h +++ b/src/crepe/api/Sprite.h @@ -44,7 +44,7 @@ public: * \param color Color tint applied to the sprite. * \param flip Flip settings for horizontal and vertical orientation. */ - Sprite(game_object_id_t id, const std::shared_ptr image, const Color & color, + Sprite(game_object_id_t id, const Texture & image, const Color & color, const FlipSettings & flip); /** @@ -53,7 +53,7 @@ public: ~Sprite(); //! Texture used for the sprite - const std::shared_ptr sprite_image; + const Texture & sprite_image; //! Color tint of the sprite Color color; //! Flip settings for the sprite diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp index abb3cb7..72542e8 100644 --- a/src/crepe/facade/SDLContext.cpp +++ b/src/crepe/facade/SDLContext.cpp @@ -136,7 +136,7 @@ void SDLContext::draw_particle(const Sprite & sprite, const vec2 & pos, const do SDL_Rect srcrect = this->get_src_rect(sprite); SDL_Rect dstrect = this->get_dst_rect(sprite, pos, cam , img_scale); - SDL_RenderCopyEx(this->game_renderer.get(), sprite.sprite_image->texture.get(), &srcrect, + SDL_RenderCopyEx(this->game_renderer.get(), sprite.sprite_image.texture.get(), &srcrect, &dstrect, angle, NULL, render_flip); } @@ -150,7 +150,7 @@ void SDLContext::draw(const Sprite & sprite, const Transform & transform, const SDL_Rect dstrect = this->get_dst_rect(sprite, transform.position, cam, transform.scale); - SDL_RenderCopyEx(this->game_renderer.get(), sprite.sprite_image->texture.get(), &srcrect, + SDL_RenderCopyEx(this->game_renderer.get(), sprite.sprite_image.texture.get(), &srcrect, &dstrect, transform.rotation, NULL, render_flip); } diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp index afa064d..3589cad 100644 --- a/src/example/rendering_particle.cpp +++ b/src/example/rendering_particle.cpp @@ -31,8 +31,8 @@ int main(int argc, char * argv[]) { Color color(255, 255, 255, 255); - Sprite & test_sprite = game_object.add_component( - make_shared("asset/texture/test_ap43.png"), color, + auto img = Texture("asset/texture/test_ap43.png"); + Sprite & test_sprite = game_object.add_component(img, color, FlipSettings{true, true}); test_sprite.order_in_layer = 5; test_sprite.height = 195; -- cgit v1.2.3