diff options
-rw-r--r-- | akos.cpp | 4 | ||||
-rw-r--r-- | gfx.cpp | 2 | ||||
-rw-r--r-- | gfx.h | 4 | ||||
-rw-r--r-- | gui.cpp | 2 |
4 files changed, 7 insertions, 5 deletions
@@ -928,8 +928,10 @@ void AkosRenderer::codec5() if(left > max_width) left -= left - max_width; + // Yazoo: this is not correct, but fix a lots of bugs for the momment + draw_top = 0; - draw_bottom = 200; + draw_bottom = vs->height; _vm->updateDirtyRect(0, left, right+1, top, bottom+1, 1 << dirty_id); @@ -231,7 +231,7 @@ void Gdi::drawStripToScreen(VirtScreen * vs, int x, int w, int t, int b) scrollY = 0; ptr = vs->screenPtr + (t * 40 + x) * 8 + _readOffs + scrollY * 320; - _vm->_system->copy_rect(ptr, 320, x * 8, vs->topline + t , w, height); + _vm->_system->copy_rect(ptr, 320, x * 8, vs->topline + t , w, height); } void blit(byte *dst, byte *src, int w, int h) @@ -53,8 +53,8 @@ struct VirtScreen { /* Virtual screen areas */ byte alloctwobuffers; byte scrollable; uint16 xstart; - byte tdirty[40]; - byte bdirty[40]; + uint16 tdirty[40]; + uint16 bdirty[40]; byte *screenPtr; byte *backBuf; }; @@ -522,7 +522,7 @@ byte *Gui::getBasePtr(int x, int y) return NULL; return _vs->screenPtr + x + (y - _vs->topline) * 320 + - _s->_screenStartStrip * 8; + _s->_screenStartStrip * 8 + (_s->camera._cur.y - 100)*320; } void Gui::lineto(int x, int y) |