diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-03 21:29:52 -0500 | 
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2021-02-03 21:29:52 -0500 | 
| commit | 138e0a8f83e82c6109bfc387ac7417d4f41711b4 (patch) | |
| tree | af4fe2d5453d5d2090f8106a433d507bd0e75a81 /src/renderer.cpp | |
| parent | dab96b810691c26e29fef92d88c828a311be3e9d (diff) | |
| download | tanetane-138e0a8f83e82c6109bfc387ac7417d4f41711b4.tar.gz tanetane-138e0a8f83e82c6109bfc387ac7417d4f41711b4.tar.bz2 tanetane-138e0a8f83e82c6109bfc387ac7417d4f41711b4.zip | |
Added cutscene bars (and resized game)
Diffstat (limited to 'src/renderer.cpp')
| -rw-r--r-- | src/renderer.cpp | 30 | 
1 files changed, 29 insertions, 1 deletions
| diff --git a/src/renderer.cpp b/src/renderer.cpp index 92083db..2c6cf5c 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | #include "map.h" | 4 | #include "map.h" | 
| 5 | #include "transform_system.h" | 5 | #include "transform_system.h" | 
| 6 | #include "camera_system.h" | 6 | #include "camera_system.h" | 
| 7 | #include "message_system.h" | ||
| 7 | 8 | ||
| 8 | Renderer::Renderer() { | 9 | Renderer::Renderer() { | 
| 9 | win_ = window_ptr( | 10 | win_ = window_ptr( | 
| @@ -127,8 +128,35 @@ void Renderer::render(Game& game) { | |||
| 127 | game.getSystem<CameraSystem>().getFieldOfView().h() | 128 | game.getSystem<CameraSystem>().getFieldOfView().h() | 
| 128 | }; | 129 | }; | 
| 129 | 130 | ||
| 130 | SDL_SetRenderTarget(ren_.get(), nullptr); | 131 | texture_ptr cameraTex( | 
| 132 | SDL_CreateTexture( | ||
| 133 | ren_.get(), | ||
| 134 | SDL_PIXELFORMAT_RGBA8888, | ||
| 135 | SDL_TEXTUREACCESS_TARGET, | ||
| 136 | CANVAS_WIDTH, | ||
| 137 | CANVAS_HEIGHT)); | ||
| 138 | |||
| 139 | if (!cameraTex) { | ||
| 140 | throw sdl_error(); | ||
| 141 | } | ||
| 142 | |||
| 143 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
| 131 | SDL_RenderCopy(ren_.get(), canvas.get(), &cameraField, nullptr); | 144 | SDL_RenderCopy(ren_.get(), canvas.get(), &cameraField, nullptr); | 
| 145 | |||
| 146 | if (game.getSystem<MessageSystem>().getCutsceneBarsProgress() > 0) { | ||
| 147 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); | ||
| 148 | |||
| 149 | int topBarHeight = 16.0 * game.getSystem<MessageSystem>().getCutsceneBarsProgress(); | ||
| 150 | SDL_Rect topBar { 0, 0, CANVAS_WIDTH, topBarHeight }; | ||
| 151 | SDL_RenderFillRect(ren_.get(), &topBar); | ||
| 152 | |||
| 153 | int bottomBarHeight = 36.0 * game.getSystem<MessageSystem>().getCutsceneBarsProgress(); | ||
| 154 | SDL_Rect bottomBar { 0, CANVAS_HEIGHT - bottomBarHeight, CANVAS_WIDTH, bottomBarHeight }; | ||
| 155 | SDL_RenderFillRect(ren_.get(), &bottomBar); | ||
| 156 | } | ||
| 157 | |||
| 158 | SDL_SetRenderTarget(ren_.get(), nullptr); | ||
| 159 | SDL_RenderCopy(ren_.get(), cameraTex.get(), nullptr, nullptr); | ||
| 132 | SDL_RenderPresent(ren_.get()); | 160 | SDL_RenderPresent(ren_.get()); | 
| 133 | } | 161 | } | 
| 134 | 162 | ||
