summary refs log tree commit diff stats
path: root/src/renderer.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-02-03 01:11:31 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-02-03 01:11:31 -0500
commit24918837c3ff9026d228657d14852c9cf39a5644 (patch)
treebe131a43eb30f164bd70f542cfcaec688fbc3d51 /src/renderer.cpp
parentf449345e3aeb599eb497dfeeac7027cf4d1de515 (diff)
downloadtanetane-24918837c3ff9026d228657d14852c9cf39a5644.tar.gz
tanetane-24918837c3ff9026d228657d14852c9cf39a5644.tar.bz2
tanetane-24918837c3ff9026d228657d14852c9cf39a5644.zip
Added camera system
Diffstat (limited to 'src/renderer.cpp')
-rw-r--r--src/renderer.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/renderer.cpp b/src/renderer.cpp index b705310..d9ce396 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp
@@ -2,6 +2,8 @@
2#include "consts.h" 2#include "consts.h"
3#include "game.h" 3#include "game.h"
4#include "map.h" 4#include "map.h"
5#include "transform_system.h"
6#include "camera_system.h"
5 7
6Renderer::Renderer() { 8Renderer::Renderer() {
7 win_ = window_ptr( 9 win_ = window_ptr(
@@ -109,7 +111,7 @@ void Renderer::render(Game& game) {
109 111
110 SDL_RenderCopy(ren_.get(), renLay1_.get(), nullptr, nullptr); 112 SDL_RenderCopy(ren_.get(), renLay1_.get(), nullptr, nullptr);
111 113
112 for (const Sprite& sprite : game.getTransformSystem().getSpritesByY() | game.spriteView()) { 114 for (const Sprite& sprite : game.getSystem<TransformSystem>().getSpritesByY() | game.spriteView()) {
113 const SpriteFrame& frame = sprite.getFrame(); 115 const SpriteFrame& frame = sprite.getFrame();
114 const SDL_Rect& src = frame.srcRect; 116 const SDL_Rect& src = frame.srcRect;
115 SDL_Rect dest { sprite.loc().x() - frame.center.x(), sprite.loc().y() - frame.center.y(), frame.size.w(), frame.size.h() }; 117 SDL_Rect dest { sprite.loc().x() - frame.center.x(), sprite.loc().y() - frame.center.y(), frame.size.w(), frame.size.h() };
@@ -119,10 +121,10 @@ void Renderer::render(Game& game) {
119 SDL_RenderCopy(ren_.get(), renLay0_.get(), nullptr, nullptr); 121 SDL_RenderCopy(ren_.get(), renLay0_.get(), nullptr, nullptr);
120 122
121 SDL_Rect cameraField { 123 SDL_Rect cameraField {
122 game.getCameraPosition().x(), 124 game.getSystem<CameraSystem>().getCameraPosition().x(),
123 game.getCameraPosition().y(), 125 game.getSystem<CameraSystem>().getCameraPosition().y(),
124 game.getFieldOfView().w(), 126 game.getSystem<CameraSystem>().getFieldOfView().w(),
125 game.getFieldOfView().h() 127 game.getSystem<CameraSystem>().getFieldOfView().h()
126 }; 128 };
127 129
128 SDL_SetRenderTarget(ren_.get(), nullptr); 130 SDL_SetRenderTarget(ren_.get(), nullptr);