aboutsummaryrefslogtreecommitdiff
path: root/engines/saga/interface.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2008-12-12 14:23:02 +0000
committerFilippos Karapetis2008-12-12 14:23:02 +0000
commitcfa939d1510d0630a81cec41fc94a61b9908693e (patch)
tree6ecc219bb5c951820f78d6724a52749b7c23571a /engines/saga/interface.cpp
parent2efe7bede0d5c659abd8e48b5de011d8c5266fc8 (diff)
downloadscummvm-rg350-cfa939d1510d0630a81cec41fc94a61b9908693e.tar.gz
scummvm-rg350-cfa939d1510d0630a81cec41fc94a61b9908693e.tar.bz2
scummvm-rg350-cfa939d1510d0630a81cec41fc94a61b9908693e.zip
- Stop passing the scene clip rectangle around for no reason
- More changes for dirty rectangle handling - Stop adding dirty rectangles that cover the whole screen for no reason - Dirty rectangle handling is still very buggy, so it's still disabled svn-id: r35314
Diffstat (limited to 'engines/saga/interface.cpp')
-rw-r--r--engines/saga/interface.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/engines/saga/interface.cpp b/engines/saga/interface.cpp
index dcf8705513..43c4115cb0 100644
--- a/engines/saga/interface.cpp
+++ b/engines/saga/interface.cpp
@@ -503,6 +503,7 @@ void Interface::setMode(int mode) {
}
draw();
+ _vm->_render->setFullRefresh(true);
}
bool Interface::processAscii(Common::KeyState keystate) {
@@ -782,7 +783,7 @@ void Interface::drawVerbPanel(PanelButton* panelButton) {
point.x = _mainPanel.x + panelButton->xOffset;
point.y = _mainPanel.y + panelButton->yOffset;
- _vm->_sprite->draw(_vm->getDisplayClip(), _mainPanel.sprites, spriteNumber, point, 256);
+ _vm->_sprite->draw(_mainPanel.sprites, spriteNumber, point, 256);
drawVerbPanelText(panelButton, textColor, kKnownColorVerbTextShadow);
}
@@ -818,7 +819,7 @@ void Interface::draw() {
(_panelMode == kPanelNull && _vm->getGameId() == GID_IHNM_DEMO)) {
leftPortraitPoint.x = _mainPanel.x + _vm->getDisplayInfo().leftPortraitXOffset;
leftPortraitPoint.y = _mainPanel.y + _vm->getDisplayInfo().leftPortraitYOffset;
- _vm->_sprite->draw(_vm->getDisplayClip(), _defPortraits, _leftPortrait, leftPortraitPoint, 256);
+ _vm->_sprite->draw(_defPortraits, _leftPortrait, leftPortraitPoint, 256);
}
if (!_inMainMode && _vm->getDisplayInfo().rightPortraitXOffset >= 0) { //FIXME: should we change !_inMainMode to _panelMode == kPanelConverse ?
@@ -833,7 +834,7 @@ void Interface::draw() {
if (_rightPortrait >= _scenePortraits.spriteCount)
_rightPortrait = 0;
- _vm->_sprite->draw(_vm->getDisplayClip(), _scenePortraits, _rightPortrait, rightPortraitPoint, 256);
+ _vm->_sprite->draw(_scenePortraits, _rightPortrait, rightPortraitPoint, 256);
}
drawInventory();
@@ -973,7 +974,7 @@ void Interface::drawOption() {
panelButton = &_optionPanel.buttons[0];
sliderPoint.x = _optionPanel.x + panelButton->xOffset;
sliderPoint.y = _optionSaveRectSlider.top;
- _vm->_sprite->draw(_vm->getDisplayClip(), _optionPanel.sprites, 0 + _optionSaveFileSlider->state, sliderPoint, 256);
+ _vm->_sprite->draw(_optionPanel.sprites, 0 + _optionSaveFileSlider->state, sliderPoint, 256);
}
@@ -1903,7 +1904,7 @@ void Interface::drawStatusBar() {
rect.right = rect.left + _vm->getDisplayInfo().saveReminderWidth;
rect.bottom = rect.top + _vm->getDisplayInfo().saveReminderHeight;
- _vm->_sprite->draw(_vm->getDisplayClip(), _vm->_sprite->_saveReminderSprites,
+ _vm->_sprite->draw(_vm->_sprite->_saveReminderSprites,
_vm->getDisplayInfo().saveReminderFirstSpriteNumber + _saveReminderState - 1,
rect, 256);
@@ -2117,7 +2118,7 @@ void Interface::drawInventory() {
if (ci < _inventoryCount) {
obj = _vm->_actor->getObj(_inventory[ci]);
- _vm->_sprite->draw(_vm->getDisplayClip(), _vm->_sprite->_inventorySprites, obj->_spriteListResourceId, rect, 256);
+ _vm->_sprite->draw(_vm->_sprite->_inventorySprites, obj->_spriteListResourceId, rect, 256);
}
ci++;
@@ -2316,23 +2317,23 @@ void Interface::drawPanelButtonText(InterfacePanel *panel, PanelButton *panelBut
if (panel == &_optionPanel) {
texturePoint.x = _optionPanel.x + panelButton->xOffset - 1;
texturePoint.y = _optionPanel.y + panelButton->yOffset - 1;
- _vm->_sprite->draw(_vm->getDisplayClip(), _optionPanel.sprites, spritenum + 2 + litButton, texturePoint, 256);
+ _vm->_sprite->draw(_optionPanel.sprites, spritenum + 2 + litButton, texturePoint, 256);
} else if (panel == &_quitPanel) {
texturePoint.x = _quitPanel.x + panelButton->xOffset - 3;
texturePoint.y = _quitPanel.y + panelButton->yOffset - 3;
- _vm->_sprite->draw(_vm->getDisplayClip(), _quitPanel.sprites, litButton, texturePoint, 256);
+ _vm->_sprite->draw(_quitPanel.sprites, litButton, texturePoint, 256);
} else if (panel == &_savePanel) {
texturePoint.x = _savePanel.x + panelButton->xOffset - 3;
texturePoint.y = _savePanel.y + panelButton->yOffset - 3;
- _vm->_sprite->draw(_vm->getDisplayClip(), _savePanel.sprites, litButton, texturePoint, 256);
+ _vm->_sprite->draw(_savePanel.sprites, litButton, texturePoint, 256);
// Input text box sprite
texturePoint.x = _savePanel.x + _saveEdit->xOffset - 2;
texturePoint.y = _savePanel.y + _saveEdit->yOffset - 2;
- _vm->_sprite->draw(_vm->getDisplayClip(), _savePanel.sprites, 2, texturePoint, 256);
+ _vm->_sprite->draw(_savePanel.sprites, 2, texturePoint, 256);
} else if (panel == &_loadPanel) {
texturePoint.x = _loadPanel.x + panelButton->xOffset - 3;
texturePoint.y = _loadPanel.y + panelButton->yOffset - 3;
- _vm->_sprite->draw(_vm->getDisplayClip(), _loadPanel.sprites, litButton, texturePoint, 256);
+ _vm->_sprite->draw(_loadPanel.sprites, litButton, texturePoint, 256);
} else {
// revert to default behavior
drawButtonBox(rect, kButton, panelButton->state > 0);
@@ -2361,9 +2362,9 @@ void Interface::drawPanelButtonArrow(InterfacePanel *panel, PanelButton *panelBu
point.y = panel->y + panelButton->yOffset;
if (_vm->getGameType() == GType_ITE)
- _vm->_sprite->draw(_vm->getDisplayClip(), _vm->_sprite->_mainSprites, spriteNumber, point, 256);
+ _vm->_sprite->draw(_vm->_sprite->_mainSprites, spriteNumber, point, 256);
else
- _vm->_sprite->draw(_vm->getDisplayClip(), _vm->_sprite->_arrowSprites, spriteNumber, point, 256);
+ _vm->_sprite->draw(_vm->_sprite->_arrowSprites, spriteNumber, point, 256);
}
void Interface::drawVerbPanelText(PanelButton *panelButton, KnownColor textKnownColor, KnownColor textShadowKnownColor) {
@@ -2789,7 +2790,7 @@ void Interface::mapPanelDrawCrossHair() {
Rect screen(_vm->getDisplayWidth(), _vm->_scene->getHeight());
if (screen.contains(mapPosition)) {
- _vm->_sprite->draw(_vm->getDisplayClip(), _vm->_sprite->_mainSprites,
+ _vm->_sprite->draw(_vm->_sprite->_mainSprites,
_mapPanelCrossHairState? RID_ITE_SPR_CROSSHAIR : RID_ITE_SPR_CROSSHAIR + 1,
mapPosition, 256);
}