From 3d6ca447a7104c499e92fc954affdaf4bf011388 Mon Sep 17 00:00:00 2001 From: Frederico Linhares Date: Fri, 16 Sep 2022 12:03:04 -0300 Subject: feat Create View --- src/sprite.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/sprite.cpp') diff --git a/src/sprite.cpp b/src/sprite.cpp index 7c1f109..96a702a 100644 --- a/src/sprite.cpp +++ b/src/sprite.cpp @@ -17,8 +17,9 @@ #include "sprite.hpp" #include "texture.hpp" -#include "vk/sprite.hpp" #include "vector_4d.hpp" +#include "view.hpp" +#include "vk/sprite.hpp" void cg_free_sprite(mrb_state *mrb, void* obj) @@ -55,13 +56,13 @@ cg_cSprite_initialize(mrb_state *mrb, mrb_value self) static mrb_value cg_cSprite_draw(mrb_state *mrb, mrb_value self) { - auto *ptr = (std::shared_ptr*)DATA_PTR(self); - + std::shared_ptr *view; std::shared_ptr *position; + auto *ptr = (std::shared_ptr*)DATA_PTR(self); - mrb_get_args(mrb, "d", &position, &cg_vector_4d_type); - auto &positions = cg_core.vk_graphics_pipeline_2d->sprites_to_draw[ - cg_core.vk_renderer->current_frame][*ptr]; + mrb_get_args(mrb, "dd", &view, &cg_view_type, &position, &cg_vector_4d_type); + auto &positions = (*view)->sprites_to_draw[ + cg_core.vk_swapchain->current_frame][*ptr]; positions.push_back(*position->get()); return self; @@ -77,5 +78,5 @@ cg_sprite_init(mrb_state *mrb) MRB_SET_INSTANCE_TT(cg_cSprite, MRB_TT_DATA); mrb_define_method( mrb, cg_cSprite, "initialize", cg_cSprite_initialize, MRB_ARGS_REQ(2)); - mrb_define_method(mrb, cg_cSprite, "draw", cg_cSprite_draw, MRB_ARGS_REQ(1)); + mrb_define_method(mrb, cg_cSprite, "draw", cg_cSprite_draw, MRB_ARGS_REQ(2)); } -- cgit v1.2.3