SHERLOCK: RT: Fix loading saves where the screen is scrolled

This commit is contained in:
Paul Gilbert 2015-07-19 20:12:08 -04:00
parent 87a91e69e6
commit 097b52b661

View File

@ -1210,6 +1210,15 @@ void Scene::transitionToScene() {
// Standard info, so set it
people[HOLMES]._position = hSavedPos;
people[HOLMES]._sequenceNumber = hSavedFacing;
if (saves._justLoaded && IS_ROSE_TATTOO) {
Tattoo::TattooUserInterface &ui = *(Tattoo::TattooUserInterface *)_vm->_ui;
// For scrolling scenes, make sure the player is on-screen
ui._targetScroll.x = CLIP(people[HOLMES]._position.x / FIXED_INT_MULTIPLIER -
SHERLOCK_SCREEN_WIDTH / 8 - 250, 0, screen._backBuffer1.w() - SHERLOCK_SCREEN_WIDTH);
screen._currentScroll = ui._targetScroll;
}
} else {
// It's canimation information
cAnimNum = hSavedFacing - 101;
@ -1283,7 +1292,7 @@ void Scene::transitionToScene() {
screen.fadeIntoScreen3DO(3);
}
} else {
screen.blitFrom(screen._backBuffer1);
screen.slamArea(screen._currentScroll.x, screen._currentScroll.y, SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT);
}
screen.update();