Some more dirty rectangle fixes, only 2 known glitches are left
svn-id: r35296
This commit is contained in:
parent
5f4518a2ad
commit
39871b84de
3 changed files with 7 additions and 6 deletions
|
@ -383,8 +383,6 @@ int Events::handleOneShot(Event *event) {
|
|||
free(buf);
|
||||
free(resourceData);
|
||||
|
||||
_vm->_render->setFullRefresh(true);
|
||||
|
||||
// Draw the scene. It won't be drawn by Render::drawScene(), as a placard is up
|
||||
_vm->_scene->draw();
|
||||
}
|
||||
|
|
|
@ -409,8 +409,7 @@ void Font::outFont(const FontStyle &drawFont, const char *text, size_t count, co
|
|||
} // end per-character processing
|
||||
|
||||
rowLimit = (_vm->_gfx->getBackBufferHeight() < (textPoint.y + drawFont.header.charHeight)) ? _vm->_gfx->getBackBufferHeight() : textPoint.y + drawFont.header.charHeight;
|
||||
// TODO: for now we add a dirty rect that ends at the right of the screen
|
||||
_vm->_render->addDirtyRect(Common::Rect(textPoint.x, textPoint.y, _vm->_gfx->getBackBufferWidth(), rowLimit));
|
||||
_vm->_render->addDirtyRect(Common::Rect(point.x, point.y, textPoint.x, rowLimit));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -82,7 +82,10 @@ void Render::drawScene() {
|
|||
int curMode = _vm->_interface->getMode();
|
||||
assert(_initialized);
|
||||
|
||||
// TODO: Remove this
|
||||
// TODO: Remove this to use dirty rectangles
|
||||
// 2 known glitches exist:
|
||||
// - When a placard is up, the text is not shown correctly
|
||||
// - Sprite::drawClip() can draw sprites incorrectly in isometric scenes in ITE
|
||||
_fullRefresh = true;
|
||||
|
||||
#ifdef SAGA_DEBUG
|
||||
|
@ -221,6 +224,7 @@ void Render::addDirtyRect(Common::Rect rect) {
|
|||
break; // we need to break now, as the list is changed
|
||||
}
|
||||
}
|
||||
if (_vm->_interface->getFadeMode() != kFadeOut)
|
||||
_dirtyRects.push_back(rectClipped);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue