diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-03 01:11:31 -0500 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-03 01:11:31 -0500 |
commit | 24918837c3ff9026d228657d14852c9cf39a5644 (patch) | |
tree | be131a43eb30f164bd70f542cfcaec688fbc3d51 /src/renderer.cpp | |
parent | f449345e3aeb599eb497dfeeac7027cf4d1de515 (diff) | |
download | tanetane-24918837c3ff9026d228657d14852c9cf39a5644.tar.gz tanetane-24918837c3ff9026d228657d14852c9cf39a5644.tar.bz2 tanetane-24918837c3ff9026d228657d14852c9cf39a5644.zip |
Added camera system
Diffstat (limited to 'src/renderer.cpp')
-rw-r--r-- | src/renderer.cpp | 12 |
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 | ||
6 | Renderer::Renderer() { | 8 | Renderer::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); |