- made Screen_v2::applyOverlay support dirty rect handling

- fixed copyRegion flags in KyraEngine_v2::scrollInventoryWheel

svn-id: r31206
This commit is contained in:
Johannes Schickel 2008-03-20 12:29:35 +00:00
parent 91a33d4d63
commit cb22a83034
2 changed files with 5 additions and 2 deletions

View file

@ -740,7 +740,7 @@ void KyraEngine_v2::scrollInventoryWheel() {
uint8 overlay[0x100];
_screen->generateOverlay(_screen->getPalette(0), overlay, 0, 50);
_screen->hideMouse();
_screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2);
_screen->copyRegion(0x46, 0x90, 0x46, 0x79, 0x71, 0x17, 0, 2, Screen::CR_NO_P_CHECK);
_screen->showMouse();
snd_playSoundEffect(0x25);
@ -766,7 +766,7 @@ void KyraEngine_v2::scrollInventoryWheel() {
}
_screen->applyOverlay(0x46, 0x79, 0x71, 0x17, 2, overlay);
_screen->copyRegion(0x46, y+0x79, 0x46, 0x90, 0x71, 0x2E, 2, 0);
_screen->copyRegion(0x46, y+0x79, 0x46, 0x90, 0x71, 0x2E, 2, 0, Screen::CR_NO_P_CHECK);
_screen->updateScreen();
delayUntil(endTime);

View file

@ -152,6 +152,9 @@ uint8 *Screen_v2::generateOverlay(const uint8 *palette, uint8 *buffer, int start
}
void Screen_v2::applyOverlay(int x, int y, int w, int h, int pageNum, const uint8 *overlay) {
if (pageNum == 0 || pageNum == 1)
addDirtyRect(x, y, w, h);
uint8 *dst = getPagePtr(pageNum) + y * 320 + x;
while (h--) {
for (int wi = 0; wi < w; ++wi) {