diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/crepe/api/Animator.cpp | 11 | ||||
| -rw-r--r-- | src/crepe/api/Animator.h | 2 | ||||
| -rw-r--r-- | src/crepe/api/Camera.h | 6 | ||||
| -rw-r--r-- | src/crepe/system/AnimatorSystem.cpp | 11 | ||||
| -rw-r--r-- | src/crepe/system/RenderSystem.h | 2 | 
5 files changed, 14 insertions, 18 deletions
diff --git a/src/crepe/api/Animator.cpp b/src/crepe/api/Animator.cpp index b6540cf..31b9632 100644 --- a/src/crepe/api/Animator.cpp +++ b/src/crepe/api/Animator.cpp @@ -14,14 +14,13 @@ Animator::Animator(game_object_id_t id, Sprite & ss, int row, int col, int col_a  	  col(col) {  	dbg_trace(); -	animator_rect = spritesheet.sprite_rect; -	animator_rect.h /= col; -	animator_rect.w /= row; -	animator_rect.x = 0; -	animator_rect.y = col_animator * animator_rect.h; +	this->spritesheet.sprite_rect.h /= col; +	this->spritesheet.sprite_rect.w /= row; +	this->spritesheet.sprite_rect.x = 0; +	this->spritesheet.sprite_rect.y = col_animator * this->spritesheet.sprite_rect.h;  	this->active = false;  	// need to do this for to get the aspect ratio for a single clipping in the spritesheet -	this->spritesheet.aspect_ratio = static_cast<double>(animator_rect.w) / animator_rect.h; +	this->spritesheet.aspect_ratio = static_cast<double>(this->spritesheet.sprite_rect.w) / this->spritesheet.sprite_rect.h;  }  Animator::~Animator() { dbg_trace(); } diff --git a/src/crepe/api/Animator.h b/src/crepe/api/Animator.h index 19c9ebd..6c506aa 100644 --- a/src/crepe/api/Animator.h +++ b/src/crepe/api/Animator.h @@ -57,8 +57,6 @@ private:  	//! The current row being animated.  	int curr_row = 0; -	Rect animator_rect; -  	//TODO: Is this necessary?  	//int fps; diff --git a/src/crepe/api/Camera.h b/src/crepe/api/Camera.h index ac56495..3682222 100644 --- a/src/crepe/api/Camera.h +++ b/src/crepe/api/Camera.h @@ -33,13 +33,13 @@ public:  	vec2 offset;  	//! screen the display size in pixels ( output resolution ) -	const ivec2 screen = {1080, 720}; +	const ivec2 screen;  	//! viewport is the area of the world visible through the camera (in world units) -	const ivec2 viewport = {500, 1000}; +	const ivec2 viewport;  	//! Zoom level of the camera view. -	const double zoom = 1.0f; +	const double zoom;  public:  	/** diff --git a/src/crepe/system/AnimatorSystem.cpp b/src/crepe/system/AnimatorSystem.cpp index bc94253..e5b277f 100644 --- a/src/crepe/system/AnimatorSystem.cpp +++ b/src/crepe/system/AnimatorSystem.cpp @@ -15,11 +15,10 @@ void AnimatorSystem::update() {  	uint64_t tick = SDLContext::get_instance().get_ticks();  	for (Animator & a : animations) { -		if (a.active) { -			// (10 frames per second) -			a.curr_row = (tick / 100) % a.row; -			a.animator_rect.x = (a.curr_row * a.animator_rect.w) + a.curr_col; -			a.spritesheet.sprite_rect = a.animator_rect; -		} +		if (!a.active) continue; +		// (10 frames per second) +		a.curr_row = (tick / 100) % a.row; +		a.spritesheet.sprite_rect.x = (a.curr_row * a.spritesheet.sprite_rect.w) + a.curr_col; +		a.spritesheet.sprite_rect = a.spritesheet.sprite_rect;  	}  } diff --git a/src/crepe/system/RenderSystem.h b/src/crepe/system/RenderSystem.h index 4667424..7279b5c 100644 --- a/src/crepe/system/RenderSystem.h +++ b/src/crepe/system/RenderSystem.h @@ -79,7 +79,7 @@ private:  	SDLContext & context = SDLContext::get_instance();  	//! camera postion in the current scene -	vec2 cam_pos = {0,0}; +	vec2 cam_pos;  };  |