Further optimization/simplification of the 2D renderer's main loop.

This commit is contained in:
Bart Trzynadlowski 2012-02-20 04:09:11 +00:00
parent 453df4f5f5
commit c085be59af

View file

@ -624,32 +624,9 @@ void CRender2D::DrawTilemaps(UINT32 *destBottom, UINT32 *destTop)
/*
* Render and mix each line
*/
if (clearBottom)
{
for (int y = 0; y < 384; y++)
{
// Draw one scanline from each layer
DrawLine(lineBuffer[0], 0, y, nameTableBase[0], pal[0]);
DrawLine(lineBuffer[1], 1, y, nameTableBase[1], pal[0]);
DrawLine(lineBuffer[2], 2, y, nameTableBase[2], pal[1]);
DrawLine(lineBuffer[3], 3, y, nameTableBase[3], pal[1]);
if (clearBottom) // no bottom layer
memset(destBottom, 0, 496*384*sizeof(UINT32));
// No bottom layer
memset(destBottom, 0, 496*sizeof(UINT32));
// Mix the layers in the correct order
for (int i = 0; i < 4; i++)
{
MixLine(dest[i], src[i], sortedLayerNum[i], y, sortedIsBottom[i], sortedHScrollTable[i], maskTableLine, sortedHFullScroll[i], sortedLineScrollMode[i]);
dest[i] += 496; // next line
}
// Next line in mask table
maskTableLine += 2;
}
}
else
{
for (int y = 0; y < 384; y++)
{
// Draw one scanline from each layer
@ -668,8 +645,6 @@ void CRender2D::DrawTilemaps(UINT32 *destBottom, UINT32 *destTop)
// Next line in mask table
maskTableLine += 2;
}
}
}