aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/fullpipe/constants.h1
-rw-r--r--engines/fullpipe/modal.cpp15
-rw-r--r--engines/fullpipe/modal.h1
3 files changed, 16 insertions, 1 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index 6b77f59493..eb6debe9e0 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -104,6 +104,7 @@ namespace Fullpipe {
#define PIC_MAP_A14 5276
#define PIC_MAP_I01 5295
#define PIC_MAP_I02 5296
+#define PIC_MAP_I03 5395
#define PIC_MAP_P01 5277
#define PIC_MAP_P02 5278
#define PIC_MAP_P03 5279
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 49e9be689c..0cbc8d881e 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -272,7 +272,8 @@ void ModalVideoPlayer::play(const char *filename) {
ModalMap::ModalMap() {
_mapScene = 0;
- _pic = 0;
+ _pic = NULL;
+ _picI03 = NULL;
_isRunning = false;
_rect1 = g_fp->_sceneRect;
_x = g_fp->_currentScene->_x;
@@ -421,6 +422,18 @@ void ModalMap::initMap() {
_pic->_flags |= 4;
}
+ _picI03 = _mapScene->getPictureObjectById(PIC_MAP_I03, 0);
+
+ if (_picI03) {
+ _picI03->_flags &= 0xFFFB;
+ } else {
+ warning("No PIC_MAP_I03");
+ }
+
+ g_system->warpMouse(400, 300);
+ g_fp->_mouseScreenPos.x = 400;
+ g_fp->_mouseScreenPos.y = 300;
+
g_fp->setArcadeOverlay(PIC_CSR_MAP);
}
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 349fc3b732..951d38d683 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -93,6 +93,7 @@ public:
class ModalMap : public BaseModalObject {
Scene *_mapScene;
PictureObject *_pic;
+ PictureObject *_picI03;
bool _isRunning;
Common::Rect _rect1;
int _x;