Merge pull request #4172 from phire/software_fog_error

VideoSoftware: Fix unsigned overflow bug in fog
This commit is contained in:
Markus Wick 2016-09-02 09:53:44 +02:00 committed by GitHub
commit da82389347
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.