aboutsummaryrefslogtreecommitdiff
path: root/engines/voyeur/voyeur_game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/voyeur/voyeur_game.cpp')
-rw-r--r--engines/voyeur/voyeur_game.cpp43
1 files changed, 42 insertions, 1 deletions
diff --git a/engines/voyeur/voyeur_game.cpp b/engines/voyeur/voyeur_game.cpp
index b56f2c7551..1a6c2d1673 100644
--- a/engines/voyeur/voyeur_game.cpp
+++ b/engines/voyeur/voyeur_game.cpp
@@ -356,7 +356,7 @@ void VoyeurEngine::initIFace(){
CMapResource *pal = _bVoy->boltEntry(_playStamp1 + 2)._cMapResource;
pal->startFade();
- _graphicsManager.doScroll(_eventsManager.getMousePos());
+ doScroll(_eventsManager.getMousePos());
_voy._field4386 = _bVoy->memberAddr(_playStamp1);
@@ -365,6 +365,47 @@ void VoyeurEngine::initIFace(){
// getting resources as needed will be fast enough.
}
+void VoyeurEngine::doScroll(const Common::Point &pt) {
+ Common::Rect clipRect(72, 47, 72 + 240, 47 + 148);
+ (*_graphicsManager._vPort)->setupViewPort(NULL, &clipRect);
+
+ PictureResource *pic;
+ int base = 0;
+ switch (_voy._transitionId) {
+ case 0:
+ break;
+ case 1:
+ case 2:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ base = 0xB00;
+ break;
+ case 3:
+ base = 0xC00;
+ break;
+ default:
+ base = 0xD00;
+ }
+
+ if (base) {
+ pic = _bVoy->boltEntry(base + 3)._picResource;
+ _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 104));
+ pic = _bVoy->boltEntry(base + 4)._picResource;
+ _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y - 44));
+ pic = _bVoy->boltEntry(base + 5)._picResource;
+ _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 16));
+ pic = _bVoy->boltEntry(base + 6)._picResource;
+ _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 76));
+ pic = _bVoy->boltEntry(base + 7)._picResource;
+ _graphicsManager.sDrawPic(pic, *_graphicsManager._vPort, Common::Point(784 - pt.x - 712, 150 - pt.y + 136));
+ }
+
+ (*_graphicsManager._vPort)->setupViewPort();
+}
+
void VoyeurEngine::checkTransition(){
Common::String time, day;