VideoSoftware: Fix unsigned overflow bug in fog

Was causing fog errors on the left half of the screen.

Only appeared to affect visual studio builds, GCC did the correct
thing.
This commit is contained in:
Scott Mansell 2016-09-02 10:05:08 +12:00
parent efac0cf8fe
commit 0e7424b359
1 changed files with 2 additions and 1 deletions

View File

@ -769,7 +769,8 @@ void Tev::Draw()
// - scaling of the "k" coefficient isn't clear either.
// First, calculate the offset from the viewport center (normalized to 0..1)
float offset = (Position[0] - (bpmem.fogRange.Base.Center - 342)) / (float)xfmem.viewport.wd;
float offset = (Position[0] - (static_cast<s32>(bpmem.fogRange.Base.Center) - 342)) /
static_cast<float>(xfmem.viewport.wd);
// Based on that, choose the index such that points which are far away from the z-axis use the
// 10th "k" value and such that central points use the first value.