XEEN: Fix error in vertMerge

This commit is contained in:
Paul Gilbert 2014-12-26 18:50:14 +11:00
parent d213db3dc1
commit 1a6dd88713
3 changed files with 4 additions and 3 deletions

View File

@ -60,6 +60,7 @@ void DarkSideEngine::darkSideIntro() {
bool breakFlag = false; bool breakFlag = false;
int nwcIndex = 0, nwcFrame = 0; int nwcIndex = 0, nwcFrame = 0;
for (int idx = 0; idx < 55 && !shouldQuit() && !breakFlag; ++idx) { for (int idx = 0; idx < 55 && !shouldQuit() && !breakFlag; ++idx) {
// Render the next frame
_events->updateGameCounter(); _events->updateGameCounter();
_screen->vertMerge(0); _screen->vertMerge(0);
nwc[nwcIndex].draw(*_screen, nwcFrame, Common::Point(0, 0)); nwc[nwcIndex].draw(*_screen, nwcFrame, Common::Point(0, 0));
@ -72,7 +73,7 @@ void DarkSideEngine::darkSideIntro() {
case 34: case 34:
case 44: case 44:
++nwcIndex; ++nwcIndex;
++nwcFrame; nwcFrame = 0;
break; break;
case 35: case 35:
_sound->proc2(voc[1]); _sound->proc2(voc[1]);

View File

@ -345,7 +345,7 @@ void SpriteResource::drawOffset(XSurface &dest, uint16 offset, const Common::Poi
} }
} }
dest.addDirtyRect(Common::Rect(destPos.x, destPos.y, dest.addDirtyRect(Common::Rect(destPos.x + xOffset, destPos.y + yOffset,
destPos.x + xOffset + width, destPos.y + yOffset + height)); destPos.x + xOffset + width, destPos.y + yOffset + height));
} }

View File

@ -160,7 +160,7 @@ void Screen::vertMerge(int yp) {
Common::copy(srcP, srcP + SCREEN_WIDTH, destP); Common::copy(srcP, srcP + SCREEN_WIDTH, destP);
} }
for (int y = yp; y < SCREEN_HEIGHT; ++y) { for (int y = SCREEN_HEIGHT - yp; y < SCREEN_HEIGHT; ++y) {
const byte *srcP = (const byte *)_pages[1].getBasePtr(0, y); const byte *srcP = (const byte *)_pages[1].getBasePtr(0, y);
byte *destP = (byte *)getBasePtr(0, y); byte *destP = (byte *)getBasePtr(0, y);
Common::copy(srcP, srcP + SCREEN_WIDTH, destP); Common::copy(srcP, srcP + SCREEN_WIDTH, destP);