each row has to be drawn 8 times (8x8 chars, after all), see also Gdi::drawStripC64Object etc.)

svn-id: r8866
This commit is contained in:
Max Horn 2003-07-08 18:09:57 +00:00
parent 48b16bd819
commit d5b1b68634

View File

@ -318,29 +318,33 @@ void CostumeRenderer::procC64() {
if (color & 0x80) { if (color & 0x80) {
len = color & 0x7f; len = color & 0x7f;
color = *src++; color = *src++;
for (int z = 0; z < len; z++) { while (len--) {
dst[0] = dst[1] = _vm->gdi._C64Colors[(color >> 6) & 3]; for (int i = 0; i < 8; i++) {
dst[2] = dst[3] = _vm->gdi._C64Colors[(color >> 4) & 3]; dst[0] = dst[1] = _vm->gdi._C64Colors[(color >> 6) & 3];
dst[4] = dst[5] = _vm->gdi._C64Colors[(color >> 2) & 3]; dst[2] = dst[3] = _vm->gdi._C64Colors[(color >> 4) & 3];
dst[6] = dst[7] = _vm->gdi._C64Colors[(color >> 0) & 3]; dst[4] = dst[5] = _vm->gdi._C64Colors[(color >> 2) & 3];
dst += _outwidth; dst[6] = dst[7] = _vm->gdi._C64Colors[(color >> 0) & 3];
y++; dst += _outwidth;
if (y >= (_height >> 3)) { }
y+=8;
if (y >= _height) {
y = 0; y = 0;
dst = v1.destptr + (x << 3); dst = v1.destptr + (x << 3);
} }
} }
} else { } else {
len = color; len = color;
for (int z = 0; z < len; z++) { while (len--) {
color = *src++; color = *src++;
dst[0] = dst[1] = _vm->gdi._C64Colors[(color >> 6) & 3]; for (int i = 0; i < 8; i++) {
dst[2] = dst[3] = _vm->gdi._C64Colors[(color >> 4) & 3]; dst[0] = dst[1] = _vm->gdi._C64Colors[(color >> 6) & 3];
dst[4] = dst[5] = _vm->gdi._C64Colors[(color >> 2) & 3]; dst[2] = dst[3] = _vm->gdi._C64Colors[(color >> 4) & 3];
dst[6] = dst[7] = _vm->gdi._C64Colors[(color >> 0) & 3]; dst[4] = dst[5] = _vm->gdi._C64Colors[(color >> 2) & 3];
dst += _outwidth; dst[6] = dst[7] = _vm->gdi._C64Colors[(color >> 0) & 3];
y++; dst += _outwidth;
if (y >= (_height >> 3)) { }
y+=8;
if (y >= _height) {
y = 0; y = 0;
dst = v1.destptr + (x << 3); dst = v1.destptr + (x << 3);
} }