From f32e06ab49889b50bba195729af19d3bc878f976 Mon Sep 17 00:00:00 2001 From: realtradam Date: Fri, 4 Nov 2022 19:58:52 -0400 Subject: added renderer system --- src/main.cpp | 5 +++-- src/renderer.cpp | 31 +++++++++++++++++++++++++++++++ src/renderer.hpp | 21 +++++++++++++++++++++ src/resources.cpp | 28 +--------------------------- src/resources.h | 20 -------------------- src/resources.hpp | 8 ++++++++ 6 files changed, 64 insertions(+), 49 deletions(-) create mode 100644 src/renderer.cpp create mode 100644 src/renderer.hpp delete mode 100644 src/resources.h create mode 100644 src/resources.hpp diff --git a/src/main.cpp b/src/main.cpp index 827368d..0cda8fb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,6 @@ #include "raylib.h" -#include "resources.h" +#include "resources.hpp" +#include "renderer.hpp" //------------------------------------------------------------------------------------ // Program main entry point //------------------------------------------------------------------------------------ @@ -15,7 +16,7 @@ int main(void) SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- - auto ship = Resources::Sprite("ship", (Rectangle){1365,1696,198,188}); + auto ship = Renderer::Sprite("ship", (Rectangle){1365,1696,198,188}); // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key diff --git a/src/renderer.cpp b/src/renderer.cpp new file mode 100644 index 0000000..b3de6c9 --- /dev/null +++ b/src/renderer.cpp @@ -0,0 +1,31 @@ +#include "renderer.hpp" +#include "resources.hpp" + +namespace Renderer { + Sprite::Sprite(std::string texture_name, + Rectangle source_rectangle, + Vector2 origin + ):texture_name(texture_name), + source_rectangle(source_rectangle), + origin(origin){ + + } + + void Sprite::drawPro(Rectangle dest_rectangle, float rotation, Color color) { + DrawTexturePro(Resources::useTexture(texture_name), + source_rectangle, + dest_rectangle, + origin, + rotation, + color); + } + + void Sprite::draw(float x, float y, float scale, float rotation, Color color) { + DrawTexturePro(Resources::useTexture(texture_name), + source_rectangle, + (Rectangle){x,y,source_rectangle.width * scale,source_rectangle.height * scale}, + origin, + rotation, + color); + } +} diff --git a/src/renderer.hpp b/src/renderer.hpp new file mode 100644 index 0000000..ead5981 --- /dev/null +++ b/src/renderer.hpp @@ -0,0 +1,21 @@ +#pragma once +#include +#include "raylib.h" + + + +namespace Renderer { + class Sprite { + public: + std::string texture_name; + Rectangle source_rectangle; + Vector2 origin; + + Sprite(std::string texture_name, + Rectangle source_rectangle, + Vector2 origin = (Vector2){0,0} + ); + void drawPro(Rectangle dest_rectangle, float rotation = 0, Color color = WHITE); + void draw(float x, float y, float scale = 1.0, float rotation = 0, Color color = WHITE); + }; +} diff --git a/src/resources.cpp b/src/resources.cpp index 8a820b5..9d1834a 100644 --- a/src/resources.cpp +++ b/src/resources.cpp @@ -2,7 +2,7 @@ #include #include #include "raylib.h" -#include "resources.h" +#include "resources.hpp" namespace Resources { static std::unordered_map textureFiles = { @@ -25,30 +25,4 @@ namespace Resources { return texture; } - Sprite::Sprite(std::string texture_name, - Rectangle source_rectangle, - Vector2 origin - ):texture_name(texture_name), - source_rectangle(source_rectangle), - origin(origin){ - - } - - void Sprite::drawPro(Rectangle dest_rectangle, float rotation, Color color) { - DrawTexturePro(useTexture(texture_name), - source_rectangle, - dest_rectangle, - origin, - rotation, - color); - } - - void Sprite::draw(float x, float y, float scale, float rotation, Color color) { - DrawTexturePro(useTexture(texture_name), - source_rectangle, - (Rectangle){x,y,source_rectangle.width * scale,source_rectangle.height * scale}, - origin, - rotation, - color); - } } diff --git a/src/resources.h b/src/resources.h deleted file mode 100644 index edc1fec..0000000 --- a/src/resources.h +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include -#include "raylib.h" - -namespace Resources { - Texture useTexture(std::string id); - class Sprite { - public: - std::string texture_name; - Rectangle source_rectangle; - Vector2 origin; - - Sprite(std::string texture_name, - Rectangle source_rectangle, - Vector2 origin = (Vector2){0,0} - ); - void drawPro(Rectangle dest_rectangle, float rotation = 0, Color color = WHITE); - void draw(float x, float y, float scale = 1.0, float rotation = 0, Color color = WHITE); - }; -} diff --git a/src/resources.hpp b/src/resources.hpp new file mode 100644 index 0000000..d45a7d5 --- /dev/null +++ b/src/resources.hpp @@ -0,0 +1,8 @@ +#pragma once +#include +#include +#include "raylib.h" + +namespace Resources { + Texture useTexture(std::string id); +} -- cgit v1.2.3