aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe
diff options
context:
space:
mode:
authorEugene Sandulenko2014-04-30 07:34:01 +0300
committerEugene Sandulenko2014-04-30 08:22:23 +0300
commit8fde4cf50f7095c17eafd6bc4946837883e0f0c5 (patch)
tree776f516eaf7efc2eb72423058aeb74e2959bdefb /engines/fullpipe
parent2779e6825c266f271cba0da9257dadb5061e963e (diff)
downloadscummvm-rg350-8fde4cf50f7095c17eafd6bc4946837883e0f0c5.tar.gz
scummvm-rg350-8fde4cf50f7095c17eafd6bc4946837883e0f0c5.tar.bz2
scummvm-rg350-8fde4cf50f7095c17eafd6bc4946837883e0f0c5.zip
FULLPIPE: Implement ModalSaveGame::processMouse()
Diffstat (limited to 'engines/fullpipe')
-rw-r--r--engines/fullpipe/modal.cpp21
-rw-r--r--engines/fullpipe/modal.h2
2 files changed, 23 insertions, 0 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index bba5df0cd5..83ebdd6ef3 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -1629,6 +1629,27 @@ bool ModalSaveGame::getFileInfo(char *filename, FileInfo *fileinfo) {
return false;
}
+void ModalSaveGame::processMouse(int x, int y) {
+ for (uint i = 0; i < _files.size(); i++) {
+ if (x >= _files[i]->fx1 && x <= _files[i]->fx2 && y >= _files[i]->fy1 && y <= _files[i]->fy2) {
+ _queryRes = i + 1;
+
+ if (_mode) {
+ if (!_files[i]->empty) {
+ _queryDlg = new ModalQuery;
+
+ _queryDlg->create(_menuScene, 0, PIC_MOV_BGR);
+ }
+ }
+
+ return;
+ }
+ }
+
+ if (_cancelL->isPixelHitAtPos(x, y))
+ _queryRes = 0;
+}
+
void FullpipeEngine::openHelp() {
if (!_modalObject) {
ModalHelp *help = new ModalHelp;
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index a214b1c639..6bbf6ec53a 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -261,6 +261,8 @@ public:
virtual void update() {}
virtual void saveload() {}
+ void processMouse(int x, int y);
+
void setScene(Scene *sc);
void setup(Scene *sc, int mode);
void processKey(int key);