- For compatibility with the software renderer, D3DFB::DrawTextureV needs to

truncate the coordinates to integers before sending them to the hardware.
  Otherwise, there can be one pixel gaps compared to the software renderer,
  because the hardware is rounding to nearest but the software renderer is
  simply truncating the fractional part of the coordinate. This is the real
  cause of the gap above the status bar at 1152x864 (and another gap to the
  left of the status bar at 800x500).
- Fixed: When D3DFB::DrawTextureV had to clip a tile, it adjusted the 
  texture coordinates erroneously, still using the old calculations from
  before texture packing was implemented.


SVN r695 (trunk)
This commit is contained in:
Randy Heit 2008-01-12 02:12:09 +00:00
commit 88549aebcd
4 changed files with 558 additions and 547 deletions

View file

@ -213,9 +213,6 @@ void FBaseStatusBar::SetScaled (bool scale)
::ST_Y = Scale(ST_Y - 100, SCREENHEIGHT*3, BaseRatioSizes[4][1]) + SCREENHEIGHT/2
+ (SCREENHEIGHT - SCREENHEIGHT * BaseRatioSizes[4][3] / 48) / 2;
}
// If this is odd, add one to make it even and close the gap between the
// status bar and the rest of the screen
::ST_Y += (::ST_Y & 1);
Displacement = 0;
}
::ST_X = ST_X;