From 8ad31a03ed2002dbcb779549a597ce148ec6a4c2 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 24 Nov 2021 23:43:15 +0100 Subject: [PATCH] - WH: make screen blends work. --- source/games/whaven/src/render.cpp | 1 + source/games/whaven/src/screenflash.cpp | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/source/games/whaven/src/render.cpp b/source/games/whaven/src/render.cpp index 44a4fef31..380e03133 100644 --- a/source/games/whaven/src/render.cpp +++ b/source/games/whaven/src/render.cpp @@ -108,6 +108,7 @@ void drawscreen(int num, double dasmoothratio, bool sceneonly) if (!sceneonly) { + applyflash(); if (!plr.over_shoulder_on) { DrawHud(dasmoothratio); diff --git a/source/games/whaven/src/screenflash.cpp b/source/games/whaven/src/screenflash.cpp index f8eced813..f22f84188 100644 --- a/source/games/whaven/src/screenflash.cpp +++ b/source/games/whaven/src/screenflash.cpp @@ -51,11 +51,13 @@ void resetflash() void applyflash() { - // no idea if this is righz. Needs to be tested. - if (redcount) videoTintBlood(5*redcount/2, -5*redcount/2, -5*redcount/2); - else if (greencount) videoTintBlood(-5*redcount/2, 5*redcount/2, -5*redcount/2); - else if (bluecount) videoTintBlood(-5*redcount/2, -5*redcount/2, 5*redcount/2); - else if (whitecount) videoTintBlood(5*redcount/2, 5*redcount/2, 5*redcount/2); + const int factor = 2; + const int factor2 = 5; + + if (redcount) videoTintBlood(factor * redcount / 2, -factor2 * redcount / 2, -factor2 * redcount / 2); + else if (greencount) videoTintBlood(-factor2 * greencount / 2, factor * greencount / 2, -factor2 * greencount / 2); + else if (bluecount) videoTintBlood(-factor2 * bluecount / 2, -factor2 * bluecount / 2, factor * bluecount / 2); + else if (whitecount) videoTintBlood(factor * whitecount / 2, factor * whitecount / 2, factor * whitecount / 2); else videoTintBlood(0, 0, 0); }