diff options
Diffstat (limited to 'src/crepe')
| -rw-r--r-- | src/crepe/Asset.cpp | 3 | ||||
| -rw-r--r-- | src/crepe/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | src/crepe/RenderSystem.cpp | 41 | ||||
| -rw-r--r-- | src/crepe/RenderSystem.h | 18 | ||||
| -rw-r--r-- | src/crepe/SdlContext.cpp | 156 | ||||
| -rw-r--r-- | src/crepe/SdlContext.h | 45 | ||||
| -rw-r--r-- | src/crepe/SoundContext.cpp | 20 | ||||
| -rw-r--r-- | src/crepe/SoundContext.h | 26 | ||||
| -rw-r--r-- | src/crepe/Sprite.cpp | 8 | ||||
| -rw-r--r-- | src/crepe/Sprite.h | 16 | ||||
| -rw-r--r-- | src/crepe/api/AudioSource.cpp | 2 | ||||
| -rw-r--r-- | src/crepe/api/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | src/crepe/api/Sprite.cpp | 18 | ||||
| -rw-r--r-- | src/crepe/api/Sprite.h | 18 | ||||
| -rw-r--r-- | src/crepe/api/Texture.cpp | 29 | ||||
| -rw-r--r-- | src/crepe/api/Texture.h | 25 | ||||
| -rw-r--r-- | src/crepe/api/Transform.cpp | 13 | ||||
| -rw-r--r-- | src/crepe/api/Transform.h | 4 | ||||
| -rw-r--r-- | src/crepe/renderSystem.cpp | 37 | ||||
| -rw-r--r-- | src/crepe/renderSystem.h | 13 | 
20 files changed, 261 insertions, 246 deletions
| diff --git a/src/crepe/Asset.cpp b/src/crepe/Asset.cpp index 15ddc27..3cbed0b 100644 --- a/src/crepe/Asset.cpp +++ b/src/crepe/Asset.cpp @@ -5,7 +5,8 @@  using namespace crepe;  Asset::Asset(const std::string & src) { -	this->src = std::filesystem::canonical(src); +	//this->src = std::filesystem::canonical(src); +	this->src = src;  	this->file = std::ifstream(this->src, std::ios::in | std::ios::binary);  } diff --git a/src/crepe/CMakeLists.txt b/src/crepe/CMakeLists.txt index 8323490..6633696 100644 --- a/src/crepe/CMakeLists.txt +++ b/src/crepe/CMakeLists.txt @@ -2,19 +2,21 @@ target_sources(crepe PUBLIC  	Asset.cpp  	Sound.cpp  	SoundContext.cpp +	SdlContext.cpp  	ComponentManager.cpp  	Component.cpp  	GameObject.cpp  	Collider.cpp  	Rigidbody.cpp -	Sprite.cpp  	ScriptSystem.cpp +	RenderSystem.cpp  )  target_sources(crepe PUBLIC FILE_SET HEADERS FILES  	Asset.h  	Sound.h  	SoundContext.h +	SdlContext.h  	ComponentManager.h  	ComponentManager.hpp  	Component.h @@ -22,9 +24,9 @@ target_sources(crepe PUBLIC FILE_SET HEADERS FILES  	GameObject.hpp  	Collider.h  	Rigidbody.h -	Sprite.h  	System.h  	ScriptSystem.h +	RenderSystem.h  )  add_subdirectory(api) diff --git a/src/crepe/RenderSystem.cpp b/src/crepe/RenderSystem.cpp new file mode 100644 index 0000000..6aae3bb --- /dev/null +++ b/src/crepe/RenderSystem.cpp @@ -0,0 +1,41 @@ + + +#include "RenderSystem.h" +#include "ComponentManager.h" +#include "SdlContext.h" +#include "api/Sprite.h" +#include "api/Transform.h" +#include "util/log.h" +#include <cstddef> +#include <functional> +#include <vector> + +using namespace crepe; +using namespace crepe::api; + +RenderSystem::RenderSystem() { dbg_trace(); } + +RenderSystem::~RenderSystem() { dbg_trace(); } + +RenderSystem& RenderSystem::get_instance(){ +	static RenderSystem instance; +	return instance; +} + +void RenderSystem::update() { + +	ComponentManager& mgr = ComponentManager::get_instance(); +	 +	std::vector<std::reference_wrapper<Sprite>> sprites = mgr.get_components_by_type<Sprite>(); +	std::vector<std::reference_wrapper<Transform>> transforms = mgr.get_components_by_type<Transform>(); + +	SdlContext& render = SdlContext::get_instance(); +	render.clear_screen(); + +	for (size_t i = 0; i < sprites.size(); ++i) { +			render.draw(sprites[i].get(), transforms[i].get()); +	} + +	render.present_screen(); + +} diff --git a/src/crepe/RenderSystem.h b/src/crepe/RenderSystem.h new file mode 100644 index 0000000..5e86dce --- /dev/null +++ b/src/crepe/RenderSystem.h @@ -0,0 +1,18 @@ + +#pragma once + +#include "System.h" + +namespace crepe { + +class RenderSystem : public System { + +public: +	static RenderSystem & get_instance(); +	void update(); + +private: +	RenderSystem(); +	~RenderSystem(); +}; +} // namespace crepe diff --git a/src/crepe/SdlContext.cpp b/src/crepe/SdlContext.cpp index 44d1bdf..17edfbc 100644 --- a/src/crepe/SdlContext.cpp +++ b/src/crepe/SdlContext.cpp @@ -1,12 +1,10 @@  #include "SdlContext.h" -#include "SDL_hints.h" -#include "SDL_rect.h" -#include "SDL_stdinc.h" +  #include "api/Sprite.h" +#include "api/Texture.h"  #include "api/Transform.h" -#include "facade/Texture.h"  #include "util/log.h"  #include <SDL2/SDL.h>  #include <SDL2/SDL_image.h> @@ -15,7 +13,6 @@  #include <SDL2/SDL_video.h>  #include <cstddef>  #include <iostream> -#include <ostream>  using namespace crepe; @@ -24,7 +21,7 @@ SdlContext & SdlContext::get_instance() {  	return instance;  } -void SdlContext::handleEvents(bool & running) { +void SdlContext::handle_events(bool & running) {  	SDL_Event event;  	while (SDL_PollEvent(&event)) {  		if (event.type == SDL_QUIT) { @@ -32,32 +29,25 @@ void SdlContext::handleEvents(bool & running) {  		}  	}  } -void SdlContext::clearScreen() { SDL_RenderClear(this->m_game_renderer); } -void SdlContext::presentScreen() { SDL_RenderPresent(this->m_game_renderer); } +SdlContext::~SdlContext() { +	dbg_trace(); -void SdlContext::draw(const api::Sprite & sprite, -					  const api::Transform & transform) { -	static SDL_RendererFlip renderFlip -		= (SDL_RendererFlip) ((SDL_FLIP_HORIZONTAL * sprite.flip.flipX) -							  | (SDL_FLIP_VERTICAL * sprite.flip.flipY)); +	if (m_game_renderer) SDL_DestroyRenderer(m_game_renderer); -	// needs maybe camera for position -	static SDL_Rect dstrect = { -		.x = static_cast<int>(transform.position.x), -		.y = static_cast<int>(transform.position.y), -		.w -		= static_cast<int>(sprite.sprite_image->get_rect().w * transform.scale), -		.h -		= static_cast<int>(sprite.sprite_image->get_rect().h * transform.scale), -	}; +	if (m_game_window) { +		SDL_DestroyWindow(m_game_window); +	} -	SDL_RenderCopyEx(this->m_game_renderer, sprite.sprite_image->get_texture(), -					 &sprite.sprite_image->get_rect(), &dstrect, 0, NULL, -					 renderFlip); +	IMG_Quit(); +	SDL_Quit();  } +void SdlContext::clear_screen() { SDL_RenderClear(this->m_game_renderer); } +  SdlContext::SdlContext() { +	dbg_trace(); +  	if (SDL_Init(SDL_INIT_VIDEO) < 0) {  		std::cerr << "SDL could not initialize! SDL_Error: " << SDL_GetError()  				  << std::endl; @@ -80,95 +70,37 @@ SdlContext::SdlContext() {  		SDL_DestroyWindow(m_game_window);  		return;  	} -	int imgFlags = IMG_INIT_PNG; -	if (!(IMG_Init(imgFlags) & imgFlags)) { + +	int img_flags = IMG_INIT_PNG; +	if (!(IMG_Init(img_flags) & img_flags)) {  		std::cout << "SDL_image could not initialize! SDL_image Error: "  				  << IMG_GetError() << std::endl;  	} +} +void SdlContext::present_screen() { SDL_RenderPresent(this->m_game_renderer); } -	SDL_SetHint(SDL_HINT_RENDER_BATCHING, "1"); -	SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"); -	//SDL_SetHint(SDL_HINT_RENDER_OPENGL_SHADERS, "1"); -	SDL_SetHint(SDL_HINT_FRAMEBUFFER_ACCELERATION, "X"); - - - - -	const char * hint = SDL_GetHint(SDL_HINT_RENDER_BATCHING); -	if (hint != NULL) { -		std::cout << "SDL_HINT_RENDER_BATCHING: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_RENDER_DRIVER); -	if (hint != NULL) { -		std::cout << "SDL_HINT_RENDER_DRIVER: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_RENDER_OPENGL_SHADERS); -	if (hint != NULL) { -		std::cout << "SDL_HINT_RENDER_OPENGL_SHADERS: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_RENDER_SCALE_QUALITY); -	if (hint != NULL) { -		std::cout << "SDL_HINT_RENDER_SCALE_QUALITY: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_RENDER_VSYNC); -	if (hint != NULL) { -		std::cout << "SDL_HINT_RENDER_VSYNC: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_TIMER_RESOLUTION); -	if (hint != NULL) { -		std::cout << "SDL_HINT_TIMER_RESOLUTION: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT); -	if (hint != NULL) { -		std::cout << "SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT: " << hint -				  << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN); -	if (hint != NULL) { -		std::cout << "SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN: " -				  << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_RENDER_LOGICAL_SIZE_MODE); -	if (hint != NULL) { -		std::cout << "SDL_HINT_RENDER_LOGICAL_SIZE_MODE: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_VIDEO_DOUBLE_BUFFER); -	if (hint != NULL) { -		std::cout << "SDL_HINT_VIDEO_DOUBLE_BUFFER: " << hint << std::endl; -	} - -	hint = SDL_GetHint(SDL_HINT_OPENGL_ES_DRIVER); -	if (hint != NULL) { -		std::cout << "SDL_HINT_OPENGL_ES_DRIVER: " << hint << std::endl; -	} +void SdlContext::draw(const api::Sprite & sprite, +					  const api::Transform & transform) { -	hint = SDL_GetHint(SDL_HINT_FRAMEBUFFER_ACCELERATION); -	if (hint != NULL) { -		std::cout << "SDL_HINT_FRAMEBUFFER_ACCELERATION: " << hint << std::endl; -	} +	static SDL_RendererFlip render_flip +		= (SDL_RendererFlip) ((SDL_FLIP_HORIZONTAL * sprite.flip.flip_x) +							  | (SDL_FLIP_VERTICAL * sprite.flip.flip_y)); -	std::cout << "HALLO " << std::endl; -} - -SdlContext::~SdlContext() { -	if (m_game_renderer) SDL_DestroyRenderer(m_game_renderer); +	int w, h; +	SDL_QueryTexture(sprite.sprite_image->m_texture, NULL, NULL, &w, &h); +	// needs maybe camera for position +	SDL_Rect dstrect = { +		.x = static_cast<int>(transform.position.x), +		.y = static_cast<int>(transform.position.y), +		.w = static_cast<int>(w * transform.scale), +		.h = static_cast<int>(h * transform.scale), +	}; -	if (m_game_window) { -		SDL_DestroyWindow(m_game_window); -	} -	IMG_Quit(); -	SDL_Quit(); +	SDL_RenderCopyEx(this->m_game_renderer, sprite.sprite_image->m_texture, +					 NULL, &dstrect, 0, NULL, render_flip);  } +/*  SDL_Texture * SdlContext::setTextureFromPath(const char * path, SDL_Rect & clip,  											 const int row, const int col) {  	dbg_trace(); @@ -178,7 +110,8 @@ SDL_Texture * SdlContext::setTextureFromPath(const char * path, SDL_Rect & clip,  		std::cerr << "Error surface " << IMG_GetError << std::endl;  	} -	clip.w = tmp->w / col; +	clip. +		w = tmp->w / col;  	clip.h = tmp->h / row;  	SDL_Texture * CreatedTexture @@ -192,22 +125,23 @@ SDL_Texture * SdlContext::setTextureFromPath(const char * path, SDL_Rect & clip,  	return CreatedTexture;  } +*/ -SDL_Texture * SdlContext::setTextureFromPath(const char * path) { +SDL_Texture * SdlContext::texture_from_path(const char * path) {  	dbg_trace(); - +	  	SDL_Surface * tmp = IMG_Load(path);  	if (!tmp) {  		std::cerr << "Error surface " << IMG_GetError << std::endl;  	} -	SDL_Texture * CreatedTexture +	SDL_Texture * created_texture  		= SDL_CreateTextureFromSurface(m_game_renderer, tmp); -	if (!CreatedTexture) { +	if (!created_texture) {  		std::cerr << "Error could not create texture " << IMG_GetError  				  << std::endl;  	}  	SDL_FreeSurface(tmp); -	return CreatedTexture; +	return created_texture;  } diff --git a/src/crepe/SdlContext.h b/src/crepe/SdlContext.h index c8f1304..a6c85f1 100644 --- a/src/crepe/SdlContext.h +++ b/src/crepe/SdlContext.h @@ -1,43 +1,50 @@  #pragma once -#include "SDL_rect.h" +#include "RenderSystem.h"  #include "api/Sprite.h"  #include "api/Transform.h"  #include <SDL2/SDL_render.h>  #include <SDL2/SDL_video.h> -namespace crepe { +namespace crepe::api { +class Texture; +} +namespace crepe {  class SdlContext {  public: - -	void handleEvents(bool& running); -	void clearScreen(); -	void presentScreen(); -	void draw(const api::Sprite&, const api::Transform&); -  	// singleton  	static SdlContext & get_instance(); -	SDL_Texture* setTextureFromPath(const char*); -	SDL_Texture* setTextureFromPath(const char*, SDL_Rect& clip, const int row, const int col); - -private: -	SdlContext(); -	virtual ~SdlContext(); -  	SdlContext(const SdlContext &) = delete;  	SdlContext(SdlContext &&) = delete;  	SdlContext & operator=(const SdlContext &) = delete;  	SdlContext & operator=(SdlContext &&) = delete; +	//TODO decide events wouter?  private: +	void handle_events(bool & running); -	SDL_Window* m_game_window; -	SDL_Renderer* m_game_renderer; -}; +private: +	SdlContext(); +	virtual ~SdlContext(); + +private: +	friend class api::Texture; +	SDL_Texture * texture_from_path(const char *); +	//SDL_Texture* setTextureFromPath(const char*, SDL_Rect& clip, const int row, const int col); -} // +private: +	friend class RenderSystem; +	void draw(const api::Sprite &, const api::Transform &); +	void clear_screen(); +	void present_screen(); + +private: +	SDL_Window * m_game_window; +	SDL_Renderer * m_game_renderer; +}; +} // namespace crepe diff --git a/src/crepe/SoundContext.cpp b/src/crepe/SoundContext.cpp new file mode 100644 index 0000000..72047d2 --- /dev/null +++ b/src/crepe/SoundContext.cpp @@ -0,0 +1,20 @@ +#include "util/log.h" + +#include "SoundContext.h" + +using namespace crepe; + +SoundContext & SoundContext::get_instance() { +	static SoundContext instance; +	return instance; +} + +SoundContext::SoundContext() { +	dbg_trace(); +	engine.init(); +} + +SoundContext::~SoundContext() { +	dbg_trace(); +	engine.deinit(); +} diff --git a/src/crepe/SoundContext.h b/src/crepe/SoundContext.h new file mode 100644 index 0000000..d3123d2 --- /dev/null +++ b/src/crepe/SoundContext.h @@ -0,0 +1,26 @@ +#pragma once + +#include <soloud/soloud.h> + +#include "Sound.h" + +namespace crepe { + +class SoundContext { +private: +	SoundContext(); +	virtual ~SoundContext(); + +	// singleton +	static SoundContext & get_instance(); +	SoundContext(const SoundContext &) = delete; +	SoundContext(SoundContext &&) = delete; +	SoundContext & operator=(const SoundContext &) = delete; +	SoundContext & operator=(SoundContext &&) = delete; + +private: +	SoLoud::Soloud engine; +	friend class Sound; +}; + +} // namespace crepe diff --git a/src/crepe/Sprite.cpp b/src/crepe/Sprite.cpp deleted file mode 100644 index a5a5e68..0000000 --- a/src/crepe/Sprite.cpp +++ /dev/null @@ -1,8 +0,0 @@ -#include <string> - -#include "Sprite.h" - -using namespace crepe; -using namespace std; - -Sprite::Sprite(string path) : path(path) {} diff --git a/src/crepe/Sprite.h b/src/crepe/Sprite.h deleted file mode 100644 index 143e702..0000000 --- a/src/crepe/Sprite.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include <string> - -#include "Component.h" - -namespace crepe { - -class Sprite : public Component { -public: -	Sprite(std::string path); - -	std::string path; -}; - -} // namespace crepe diff --git a/src/crepe/api/AudioSource.cpp b/src/crepe/api/AudioSource.cpp index a5b6d6a..90c1b07 100644 --- a/src/crepe/api/AudioSource.cpp +++ b/src/crepe/api/AudioSource.cpp @@ -1,6 +1,6 @@  #include "AudioSource.h" -#include "facade/Sound.h" +#include "Sound.h"  #include <memory>  using namespace crepe::api; diff --git a/src/crepe/api/CMakeLists.txt b/src/crepe/api/CMakeLists.txt index 9a02580..b046301 100644 --- a/src/crepe/api/CMakeLists.txt +++ b/src/crepe/api/CMakeLists.txt @@ -2,10 +2,19 @@ target_sources(crepe PUBLIC  	# AudioSource.cpp  	BehaviorScript.cpp  	Script.cpp +	Color.cpp +	Texture.cpp +	Sprite.cpp +	Transform.cpp  )  target_sources(crepe PUBLIC FILE_SET HEADERS FILES  	# AudioSource.h  	BehaviorScript.h  	Script.h +	Point.h +	Transform.h  +	Color.h  +	Sprite.h +	Texture.h  ) diff --git a/src/crepe/api/Sprite.cpp b/src/crepe/api/Sprite.cpp new file mode 100644 index 0000000..b0c0971 --- /dev/null +++ b/src/crepe/api/Sprite.cpp @@ -0,0 +1,18 @@ + + +#include "Sprite.h" +#include "api/Texture.h" +#include "util/log.h" +#include <memory> +#include <utility> + +using namespace std; +using namespace crepe; +using namespace crepe::api; + +Sprite::Sprite(unique_ptr<Texture> image, const Color & color, +			   const flip_settings & flip) : color(color), flip(flip), sprite_image(std::move(image)) { +	dbg_trace(); +} + +Sprite::~Sprite() { dbg_trace(); } diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h index 84eeb83..3dd9b4a 100644 --- a/src/crepe/api/Sprite.h +++ b/src/crepe/api/Sprite.h @@ -2,26 +2,28 @@  #include "Component.h"  #include "api/Color.h" -#include "facade/Texture.h" +#include "api/Texture.h" +#include <SDL2/SDL_rect.h>  #include <cstdint> +#include <memory>  namespace crepe::api {  struct flip_settings{ -	bool flipX : 1; -	bool flipY : 1; +	bool flip_x: 1; +	bool flip_y : 1;  };  class Sprite : public Component {  public: -	Sprite(crepe::Texture& image, const Color& color, const flip_settings& flip ) :  sprite_image(&image), color(color), flip(flip){} -	crepe::Texture* sprite_image; +	Sprite(std::unique_ptr<Texture> image, const Color& color, const flip_settings& flip ); +	~Sprite(); +	std::unique_ptr<Texture> sprite_image;  	Color color;  	flip_settings flip; -	uint8_t sortingLayer; -	uint8_t orderInLayer; - +	uint8_t sorting_in_layer; +	uint8_t order_in_layer;  }; diff --git a/src/crepe/api/Texture.cpp b/src/crepe/api/Texture.cpp index b4e3aa8..2d170c3 100644 --- a/src/crepe/api/Texture.cpp +++ b/src/crepe/api/Texture.cpp @@ -1,39 +1,34 @@ +#include "Asset.h" +#include "SdlContext.h"  #include "util/log.h"  #include "Texture.h" -#include "SdlContext.h"  #include <SDL2/SDL_render.h> +#include <iostream> +#include <string> -using namespace crepe; +using namespace crepe::api; -Texture::Texture(std::unique_ptr<api::Resource> res) { +Texture::Texture(std::unique_ptr<Asset> res) {  	dbg_trace();  	this->load(std::move(res));  }  Texture::Texture(const char * src) {  	dbg_trace(); -	this->load(std::make_unique<api::Resource>(src)); +	this->load(std::make_unique<Asset>(src));  } -Texture::~Texture(){ +Texture::~Texture() {  	dbg_trace(); -	if(this->m_texture){ +	if (this->m_texture != nullptr) {  		SDL_DestroyTexture(m_texture);  	}  } -void Texture::load(std::unique_ptr<api::Resource> res) { -	dbg_trace(); -	SdlContext& ctx = SdlContext::get_instance(); -	m_texture = ctx.setTextureFromPath(res->canonical(), srcrect, 1, 1); -} - -SDL_Texture* Texture::get_texture() const{ -	return m_texture; -} +void Texture::load(std::unique_ptr<Asset> res) { +	SdlContext & ctx = SdlContext::get_instance(); +	m_texture = ctx.texture_from_path(res->canonical()); -SDL_Rect& Texture::get_rect() { -	return srcrect;  } diff --git a/src/crepe/api/Texture.h b/src/crepe/api/Texture.h index db2f1f9..b376b44 100644 --- a/src/crepe/api/Texture.h +++ b/src/crepe/api/Texture.h @@ -1,31 +1,32 @@  #pragma once -#include "SDL_rect.h" -#include "api/baseResource.h" -#include "api/Resource.h" +#include "Asset.h"  #include <SDL2/SDL_render.h>  #include <memory> -namespace crepe { +namespace crepe { +	class SdlContext; +} +namespace crepe::api { -class Texture  : public api::BaseResource{ +class Texture {  public:  	Texture(const char * src); -	Texture(std::unique_ptr<api::Resource> res); +	Texture(std::unique_ptr<Asset> res);  	~Texture(); -	SDL_Texture* get_texture() const; -	SDL_Rect& get_rect() ; +  private: -	void load(std::unique_ptr<api::Resource> res); +	void load(std::unique_ptr<Asset> res); +  private: -	SDL_Texture* m_texture; -	SDL_Rect srcrect; +	SDL_Texture * m_texture = nullptr; + +	friend class crepe::SdlContext;  };  } // namespace crepe - diff --git a/src/crepe/api/Transform.cpp b/src/crepe/api/Transform.cpp new file mode 100644 index 0000000..c83461f --- /dev/null +++ b/src/crepe/api/Transform.cpp @@ -0,0 +1,13 @@ + + +#include "Transform.h" +#include "api/Point.h" +#include "util/log.h" + +using namespace crepe::api; + +Transform::Transform(Point & point, double rot, double scale) +	: position(point), rotation(rot), scale(scale) { +	dbg_trace(); +} +Transform::~Transform() { dbg_trace(); } diff --git a/src/crepe/api/Transform.h b/src/crepe/api/Transform.h index d4dfafc..a34ebb1 100644 --- a/src/crepe/api/Transform.h +++ b/src/crepe/api/Transform.h @@ -1,11 +1,13 @@  #pragma once -#include "api/Component.h" +#include "Component.h"  #include "api/Point.h"  namespace crepe::api {  class Transform : public Component {  public: +	Transform(Point&, double, double); +	~Transform();  	Point position; // Translation (shift)  	double rotation; // Rotation, in radians  	double scale; // Multiplication factoh diff --git a/src/crepe/renderSystem.cpp b/src/crepe/renderSystem.cpp deleted file mode 100644 index a06aeba..0000000 --- a/src/crepe/renderSystem.cpp +++ /dev/null @@ -1,37 +0,0 @@ - - - -#include "renderSystem.h" -#include <vector> - -#include "api/Color.h" -#include "api/Sprite.h" -#include "api/Transform.h" -#include "facade/SdlContext.h" -#include "facade/Texture.h" - -using namespace crepe::api; - - -static crepe::Texture player("../asset/texture/img.png"); - - -void RenderSystem::render(){ - -	Sprite sprite(player, Color::get_red(), {1,1}); -	Transform transform ={ -		.position = {0,0}, -		.rotation = 0, -		.scale = 1, -	}; - -	// this will get changed to ecs getter of componets -	crepe::SdlContext& ctx = crepe::SdlContext::get_instance(); - -	ctx.draw(sprite, transform); -	/* -	for(const auto& S : test_objects){ -		ctx.draw(S, const api::Transform &) -	} -	*/ -} diff --git a/src/crepe/renderSystem.h b/src/crepe/renderSystem.h deleted file mode 100644 index 9011b30..0000000 --- a/src/crepe/renderSystem.h +++ /dev/null @@ -1,13 +0,0 @@ - -#pragma once - - - -class RenderSystem { - -public: -	RenderSystem() = default; -	~RenderSystem() = default; - -	void render(); -}; |