(svn r10132) -Codechange: split out the last direct video-buffer read access to the blitter-layer

-Add: added a new renderer and blitter to make room for some optimized bpp
-Fix: fill the alpha channel in the grf-spriteloader
This commit is contained in:
truelight
2007-06-13 10:31:40 +00:00
parent 97b74fe4f2
commit e7221d1fa9
18 changed files with 389 additions and 7 deletions

View File

@@ -151,13 +151,7 @@ void GfxFillRect(int left, int top, int right, int bottom, int color)
dst = _screen.renderer->MoveTo(dst, 0, 1);
} while (--bottom);
} else {
/* use colortable mode */
const byte* ctab = GetNonSprite(GB(color, 0, PALETTE_WIDTH)) + 1;
do {
for (int i = 0; i != right; i++) _screen.renderer->SetPixel(dst, i, 0, ctab[((uint8 *)dst)[i]]);
dst = _screen.renderer->MoveTo(dst, 0, 1);
} while (--bottom);
BlitterFactoryBase::GetCurrentBlitter()->DrawColorMappingRect(dst, right, bottom, GB(color, 0, PALETTE_WIDTH));
}
} else {
byte bo = (oleft - left + dpi->left + otop - top + dpi->top) & 1;