diff options
-rw-r--r-- | src/renderer.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/renderer.cpp b/src/renderer.cpp index 3b2bd21..1196e50 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp | |||
@@ -228,6 +228,7 @@ void Renderer::render(Game& game) { | |||
228 | SDL_RenderCopy(ren_.get(), canvas.get(), &cameraField, nullptr); | 228 | SDL_RenderCopy(ren_.get(), canvas.get(), &cameraField, nullptr); |
229 | 229 | ||
230 | if (game.getSystem<MessageSystem>().getCutsceneBarsProgress() > 0) { | 230 | if (game.getSystem<MessageSystem>().getCutsceneBarsProgress() > 0) { |
231 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
231 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_NONE); | 232 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_NONE); |
232 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); | 233 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); |
233 | 234 | ||
@@ -248,6 +249,7 @@ void Renderer::render(Game& game) { | |||
248 | 249 | ||
249 | { | 250 | { |
250 | SDL_Rect destRect { 0, 111, 57, 13 }; | 251 | SDL_Rect destRect { 0, 111, 57, 13 }; |
252 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
251 | SDL_RenderCopy(ren_.get(), textures_.at(speakerHeaderTex_).get(), nullptr, &destRect); | 253 | SDL_RenderCopy(ren_.get(), textures_.at(speakerHeaderTex_).get(), nullptr, &destRect); |
252 | } | 254 | } |
253 | 255 | ||
@@ -262,6 +264,7 @@ void Renderer::render(Game& game) { | |||
262 | MESSAGE_TEXT_WIDTH, | 264 | MESSAGE_TEXT_WIDTH, |
263 | game.getFont().getCharacterHeight() }; | 265 | game.getFont().getCharacterHeight() }; |
264 | 266 | ||
267 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
265 | SDL_RenderCopy(ren_.get(), speakerHeaderLine_.renderedTex.get(), nullptr, &destRect); | 268 | SDL_RenderCopy(ren_.get(), speakerHeaderLine_.renderedTex.get(), nullptr, &destRect); |
266 | } | 269 | } |
267 | } | 270 | } |
@@ -285,6 +288,7 @@ void Renderer::render(Game& game) { | |||
285 | srcRect.w, | 288 | srcRect.w, |
286 | srcRect.h }; | 289 | srcRect.h }; |
287 | 290 | ||
291 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
288 | SDL_RenderCopy(ren_.get(), messageLines_[lineIndex].renderedTex.get(), &srcRect, &destRect); | 292 | SDL_RenderCopy(ren_.get(), messageLines_[lineIndex].renderedTex.get(), &srcRect, &destRect); |
289 | } | 293 | } |
290 | 294 | ||
@@ -294,6 +298,7 @@ void Renderer::render(Game& game) { | |||
294 | SDL_Rect srcRect { charLoc.x(), charLoc.y(), charSize.w(), charSize.h() }; | 298 | SDL_Rect srcRect { charLoc.x(), charLoc.y(), charSize.w(), charSize.h() }; |
295 | SDL_Rect destRect { 13, 127 + 16 * lineIndex, charSize.w(), charSize.h() }; | 299 | SDL_Rect destRect { 13, 127 + 16 * lineIndex, charSize.w(), charSize.h() }; |
296 | 300 | ||
301 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
297 | SDL_RenderCopy(ren_.get(), textures_.at(game.getFont().getTextureId()).get(), &srcRect, &destRect); | 302 | SDL_RenderCopy(ren_.get(), textures_.at(game.getFont().getTextureId()).get(), &srcRect, &destRect); |
298 | } | 303 | } |
299 | } | 304 | } |
@@ -318,6 +323,7 @@ void Renderer::render(Game& game) { | |||
318 | 8, | 323 | 8, |
319 | 8 }; | 324 | 8 }; |
320 | 325 | ||
326 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
321 | SDL_RenderCopy(ren_.get(), textures_.at(choiceArrowTex_).get(), nullptr, &destRect); | 327 | SDL_RenderCopy(ren_.get(), textures_.at(choiceArrowTex_).get(), nullptr, &destRect); |
322 | } else { | 328 | } else { |
323 | if (advMsgArrowTex_ == -1) { | 329 | if (advMsgArrowTex_ == -1) { |
@@ -330,6 +336,7 @@ void Renderer::render(Game& game) { | |||
330 | 8, | 336 | 8, |
331 | 8 }; | 337 | 8 }; |
332 | 338 | ||
339 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
333 | SDL_RenderCopy(ren_.get(), textures_.at(advMsgArrowTex_).get(), nullptr, &destRect); | 340 | SDL_RenderCopy(ren_.get(), textures_.at(advMsgArrowTex_).get(), nullptr, &destRect); |
334 | } | 341 | } |
335 | } | 342 | } |
@@ -337,6 +344,7 @@ void Renderer::render(Game& game) { | |||
337 | } | 344 | } |
338 | 345 | ||
339 | if (effects.isScreenFaded()) { | 346 | if (effects.isScreenFaded()) { |
347 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
340 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_BLEND); | 348 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_BLEND); |
341 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, effects.getScreenFadeProgress() * 255); | 349 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, effects.getScreenFadeProgress() * 255); |
342 | SDL_RenderFillRect(ren_.get(), nullptr); | 350 | SDL_RenderFillRect(ren_.get(), nullptr); |
@@ -345,6 +353,7 @@ void Renderer::render(Game& game) { | |||
345 | if (game.getSystem<InputSystem>().isDebugConsoleOpen()) { | 353 | if (game.getSystem<InputSystem>().isDebugConsoleOpen()) { |
346 | // Not sure why I'm supposed to copy the cached texture to the screen | 354 | // Not sure why I'm supposed to copy the cached texture to the screen |
347 | // BEFORE rendering it, but we get flickering if we don't, so. | 355 | // BEFORE rendering it, but we get flickering if we don't, so. |
356 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
348 | SDL_RenderCopy(ren_.get(), debugConsoleTex_.get(), nullptr, &debugDestRect_); | 357 | SDL_RenderCopy(ren_.get(), debugConsoleTex_.get(), nullptr, &debugDestRect_); |
349 | 358 | ||
350 | if (!debugConsoleTex_ || cachedDebugText_ != game.getSystem<InputSystem>().getDebugText()) { | 359 | if (!debugConsoleTex_ || cachedDebugText_ != game.getSystem<InputSystem>().getDebugText()) { |
@@ -391,7 +400,7 @@ void Renderer::render(Game& game) { | |||
391 | SDL_RenderCopy(ren_.get(), textLines[i].get(), nullptr, &destRect); | 400 | SDL_RenderCopy(ren_.get(), textLines[i].get(), nullptr, &destRect); |
392 | } | 401 | } |
393 | 402 | ||
394 | SDL_SetRenderTarget(ren_.get(), nullptr); | 403 | //SDL_SetRenderTarget(ren_.get(), nullptr); |
395 | 404 | ||
396 | debugDestRect_ = SDL_Rect { 0, 0, CANVAS_WIDTH, height }; | 405 | debugDestRect_ = SDL_Rect { 0, 0, CANVAS_WIDTH, height }; |
397 | } | 406 | } |