[Scummvm-cvs-logs] scummvm master -> 81a2ee7d7c38e427a00ac1102b817e2854bb45eb
sev-
sev at scummvm.org
Sun Apr 20 22:04:39 CEST 2014
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
1d41a9ccf4 FULLPIPE: Started work on ModalQuery
4f05fa6586 FULLPIPE: Implement ModalQuery::create()
f655718b55 FULLPIPE: Implement ModalQuery::getQueryResult() and destructor
3fe9d4b24e FULLPIPE: Implement ModalQuery::update()
8f40dae91d FULLPIPE: Implement ModalQuery::handleMessage()
81a2ee7d7c FULLPIPE: Implement ModalQuery::init()
Commit: 1d41a9ccf4651e6c3e9f36b9bd4b69a85c1ab6b1
https://github.com/scummvm/scummvm/commit/1d41a9ccf4651e6c3e9f36b9bd4b69a85c1ab6b1
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-20T23:03:43+03:00
Commit Message:
FULLPIPE: Started work on ModalQuery
Changed paths:
engines/fullpipe/modal.cpp
engines/fullpipe/modal.h
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index aed98c1..a85dc57 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -1321,6 +1321,14 @@ void ModalHelp::launch() {
}
}
+ModalQuery::ModalQuery() {
+ _field_8 = 0;
+ _bg = 0;
+ _okBtn = 0;
+ _cancelBtn = 0;
+ _queryResult = -1;
+}
+
void ModalQuery::create(Scene *sc, int picId) {
warning("STUB: ModalQuery::create()");
}
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 1a14972..de6f1c1 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -215,7 +215,7 @@ public:
class ModalQuery : public BaseModalObject {
public:
- ModalQuery() {}
+ ModalQuery();
virtual ~ModalQuery() {}
virtual bool pollEvent() { return true; }
@@ -225,6 +225,14 @@ public:
virtual void saveload() {}
void create(Scene *sc, int picId);
+
+private:
+ int _field_8;
+ int _bg;
+ int _okBtn;
+ int _cancelBtn;
+ int _queryResult;
+
};
class ModalSaveGame : public BaseModalObject {
Commit: 4f05fa6586f2d8784c6fcac9210c215805073910
https://github.com/scummvm/scummvm/commit/4f05fa6586f2d8784c6fcac9210c215805073910
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-20T23:03:44+03:00
Commit Message:
FULLPIPE: Implement ModalQuery::create()
Changed paths:
engines/fullpipe/constants.h
engines/fullpipe/modal.cpp
engines/fullpipe/modal.h
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h
index c0b7ed9..8f3f587 100644
--- a/engines/fullpipe/constants.h
+++ b/engines/fullpipe/constants.h
@@ -267,7 +267,6 @@ namespace Fullpipe {
#define TrubaUp 680
// Main Menu
-#define PIC_MEX_BGR 5300
#define PIC_MNU_AUTHORS_L 4624
#define PIC_MNU_CONTINUE_L 4626
#define PIC_MNU_DEBUG_L 4632
@@ -280,6 +279,14 @@ namespace Fullpipe {
#define PIC_MNU_SLIDER_D 4913
#define PIC_MNU_SLIDER_L 4912
+// Query dialog
+#define PIC_MEX_BGR 5300
+#define PIC_MEX_CANCEL 5302
+#define PIC_MEX_OK 5301
+#define PIC_MOV_BGR 5343
+#define PIC_MOV_CANCEL 5345
+#define PIC_MOV_OK 5344
+
// Intro
#define ANI_IN1MAN 5110
#define MSG_INTR_ENDINTRO 5139
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index a85dc57..563e0f9 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -21,13 +21,13 @@
*/
#include "fullpipe/fullpipe.h"
-#include "fullpipe/modal.h"
#include "fullpipe/messages.h"
#include "fullpipe/constants.h"
#include "fullpipe/motion.h"
#include "fullpipe/scenes.h"
#include "fullpipe/gameloader.h"
#include "fullpipe/statics.h"
+#include "fullpipe/modal.h"
#include "fullpipe/constants.h"
@@ -920,7 +920,7 @@ bool ModalMainMenu::init(int counterdiff) {
g_fp->_modalObject = mq;
mq->_parentObj = this;
- mq->create(_scene, PIC_MEX_BGR);
+ mq->create(_scene, &_scene->_picObjList, PIC_MEX_BGR);
_hoverAreaId = 0;
@@ -1322,15 +1322,53 @@ void ModalHelp::launch() {
}
ModalQuery::ModalQuery() {
- _field_8 = 0;
+ _picObjList = 0;
_bg = 0;
_okBtn = 0;
_cancelBtn = 0;
_queryResult = -1;
}
-void ModalQuery::create(Scene *sc, int picId) {
- warning("STUB: ModalQuery::create()");
+bool ModalQuery::create(Scene *sc, PtrList *picObjList, int id) {
+ if (id == PIC_MEX_BGR) {
+ _bg = sc->getPictureObjectById(PIC_MEX_BGR, 0);
+
+ if (!_bg)
+ return false;
+
+ _okBtn = sc->getPictureObjectById(PIC_MEX_OK, 0);
+
+ if (!_okBtn)
+ return false;
+
+ _cancelBtn = sc->getPictureObjectById(PIC_MEX_CANCEL, 0);
+
+ if (!_cancelBtn)
+ return 0;
+ } else {
+ if (id != PIC_MOV_BGR)
+ return false;
+
+ _bg = sc->getPictureObjectById(PIC_MOV_BGR, 0);
+
+ if (!_bg)
+ return false;
+
+ _okBtn = sc->getPictureObjectById(PIC_MOV_OK, 0);
+
+ if (!_okBtn)
+ return false;
+
+ _cancelBtn = sc->getPictureObjectById(PIC_MOV_CANCEL, 0);
+
+ if (!_cancelBtn)
+ return false;
+ }
+
+ _queryResult = -1;
+ _picObjList = picObjList;
+
+ return true;
}
void ModalSaveGame::setScene(Scene *sc) {
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index de6f1c1..14b64f2 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -224,13 +224,13 @@ public:
virtual void update() {}
virtual void saveload() {}
- void create(Scene *sc, int picId);
+ bool create(Scene *sc, PtrList *picObjList, int picId);
private:
- int _field_8;
- int _bg;
- int _okBtn;
- int _cancelBtn;
+ PtrList *_picObjList;
+ PictureObject *_bg;
+ PictureObject *_okBtn;
+ PictureObject *_cancelBtn;
int _queryResult;
};
Commit: f655718b5559682c279941cd41ea612670190c5b
https://github.com/scummvm/scummvm/commit/f655718b5559682c279941cd41ea612670190c5b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-20T23:03:44+03:00
Commit Message:
FULLPIPE: Implement ModalQuery::getQueryResult() and destructor
Changed paths:
engines/fullpipe/modal.cpp
engines/fullpipe/modal.h
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 563e0f9..dd5d507 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -1329,6 +1329,12 @@ ModalQuery::ModalQuery() {
_queryResult = -1;
}
+ModalQuery::~ModalQuery() {
+ _bg->_flags &= 0xFFFB;
+ _cancelBtn->_flags &= 0xFFFB;
+ _okBtn->_flags &= 0xFFFB;
+}
+
bool ModalQuery::create(Scene *sc, PtrList *picObjList, int id) {
if (id == PIC_MEX_BGR) {
_bg = sc->getPictureObjectById(PIC_MEX_BGR, 0);
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 14b64f2..d7b5fc2 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -216,7 +216,7 @@ public:
class ModalQuery : public BaseModalObject {
public:
ModalQuery();
- virtual ~ModalQuery() {}
+ virtual ~ModalQuery();
virtual bool pollEvent() { return true; }
virtual bool handleMessage(ExCommand *message) { return false; }
@@ -225,6 +225,8 @@ public:
virtual void saveload() {}
bool create(Scene *sc, PtrList *picObjList, int picId);
+ int getQueryResult() { return _queryResult; }
+
private:
PtrList *_picObjList;
Commit: 3fe9d4b24ea560b34f67cac41e37dfe8900a9d43
https://github.com/scummvm/scummvm/commit/3fe9d4b24ea560b34f67cac41e37dfe8900a9d43
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-20T23:03:44+03:00
Commit Message:
FULLPIPE: Implement ModalQuery::update()
Changed paths:
engines/fullpipe/modal.cpp
engines/fullpipe/modal.h
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index dd5d507..1569ee9 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -920,7 +920,7 @@ bool ModalMainMenu::init(int counterdiff) {
g_fp->_modalObject = mq;
mq->_parentObj = this;
- mq->create(_scene, &_scene->_picObjList, PIC_MEX_BGR);
+ mq->create(_scene, (PictureObject *)_scene->_picObjList[0], PIC_MEX_BGR);
_hoverAreaId = 0;
@@ -1335,7 +1335,7 @@ ModalQuery::~ModalQuery() {
_okBtn->_flags &= 0xFFFB;
}
-bool ModalQuery::create(Scene *sc, PtrList *picObjList, int id) {
+bool ModalQuery::create(Scene *sc, PictureObject *picObjList, int id) {
if (id == PIC_MEX_BGR) {
_bg = sc->getPictureObjectById(PIC_MEX_BGR, 0);
@@ -1377,6 +1377,19 @@ bool ModalQuery::create(Scene *sc, PtrList *picObjList, int id) {
return true;
}
+void ModalQuery::update() {
+ if (_picObjList)
+ _picObjList->draw();
+
+ _bg->draw();
+
+ if (_okBtn->_flags & 4)
+ _okBtn->draw();
+
+ if (_cancelBtn->_flags & 4)
+ _cancelBtn->draw();
+}
+
void ModalSaveGame::setScene(Scene *sc) {
warning("STUB: ModalSaveGame::setScene()");
}
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index d7b5fc2..4b16c30 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -221,15 +221,15 @@ public:
virtual bool pollEvent() { return true; }
virtual bool handleMessage(ExCommand *message) { return false; }
virtual bool init(int counterdiff) { return true; }
- virtual void update() {}
+ virtual void update();
virtual void saveload() {}
- bool create(Scene *sc, PtrList *picObjList, int picId);
+ bool create(Scene *sc, PictureObject *picObjList, int picId);
int getQueryResult() { return _queryResult; }
private:
- PtrList *_picObjList;
+ PictureObject *_picObjList;
PictureObject *_bg;
PictureObject *_okBtn;
PictureObject *_cancelBtn;
Commit: 8f40dae91de1cc7243f882c05d03686b713687af
https://github.com/scummvm/scummvm/commit/8f40dae91de1cc7243f882c05d03686b713687af
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-20T23:03:44+03:00
Commit Message:
FULLPIPE: Implement ModalQuery::handleMessage()
Changed paths:
engines/fullpipe/modal.cpp
engines/fullpipe/modal.h
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 1569ee9..2a861be 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -1390,6 +1390,27 @@ void ModalQuery::update() {
_cancelBtn->draw();
}
+bool ModalQuery::handleMessage(ExCommand *cmd) {
+ if (cmd->_messageKind == 17) {
+ if (cmd->_messageNum == 29) {
+ if (_okBtn->isPointInside(g_fp->_mouseScreenPos.x, g_fp->_mouseScreenPos.y)) {
+ _queryResult = 1;
+
+ return false;
+ }
+
+ if (_cancelBtn->isPointInside(g_fp->_mouseScreenPos.x, g_fp->_mouseScreenPos.y))
+ _queryResult = 0;
+ } else if (cmd->_messageNum == 36 && cmd->_keyCode == 27) {
+ _queryResult = 0;
+
+ return false;
+ }
+ }
+
+ return false;
+}
+
void ModalSaveGame::setScene(Scene *sc) {
warning("STUB: ModalSaveGame::setScene()");
}
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 4b16c30..1babab9 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -219,7 +219,7 @@ public:
virtual ~ModalQuery();
virtual bool pollEvent() { return true; }
- virtual bool handleMessage(ExCommand *message) { return false; }
+ virtual bool handleMessage(ExCommand *message);
virtual bool init(int counterdiff) { return true; }
virtual void update();
virtual void saveload() {}
Commit: 81a2ee7d7c38e427a00ac1102b817e2854bb45eb
https://github.com/scummvm/scummvm/commit/81a2ee7d7c38e427a00ac1102b817e2854bb45eb
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2014-04-20T23:03:44+03:00
Commit Message:
FULLPIPE: Implement ModalQuery::init()
Changed paths:
engines/fullpipe/modal.cpp
engines/fullpipe/modal.h
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp
index 2a861be..bf2163c 100644
--- a/engines/fullpipe/modal.cpp
+++ b/engines/fullpipe/modal.cpp
@@ -1411,6 +1411,40 @@ bool ModalQuery::handleMessage(ExCommand *cmd) {
return false;
}
+bool ModalQuery::init(int counterdiff) {
+ if (_okBtn->isPointInside(g_fp->_mouseScreenPos.x, g_fp->_mouseScreenPos.y))
+ _okBtn->_flags |= 4;
+ else
+ _okBtn->_flags &= 0xFFFB;
+
+ if (_cancelBtn->isPointInside(g_fp->_mouseScreenPos.x, g_fp->_mouseScreenPos.y))
+ _cancelBtn->_flags |= 4;
+ else
+ _cancelBtn->_flags &= 0xFFFB;
+
+ if (_queryResult == -1) {
+ return true;
+ } else {
+ if (_bg->_id == PIC_MEX_BGR) {
+ _cancelBtn->_flags &= 0xFFFB;
+ _okBtn->_flags &= 0xFFFB;
+
+ if (_queryResult == 1) {
+ warning("STUB: ModalQuery::init()");
+ //sceneFade(g_vrtDrawHandle, (Scene *)this->_picObjList, 0);
+
+ //if (inputArFlag) {
+ // g_needRestart = 1;
+ // return 0;
+ //}
+ //SendMessageA(hwndCallback, WM_DESTROY, 0, 0);
+ }
+ }
+ }
+
+ return false;
+}
+
void ModalSaveGame::setScene(Scene *sc) {
warning("STUB: ModalSaveGame::setScene()");
}
diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h
index 1babab9..a3656a9 100644
--- a/engines/fullpipe/modal.h
+++ b/engines/fullpipe/modal.h
@@ -220,7 +220,7 @@ public:
virtual bool pollEvent() { return true; }
virtual bool handleMessage(ExCommand *message);
- virtual bool init(int counterdiff) { return true; }
+ virtual bool init(int counterdiff);
virtual void update();
virtual void saveload() {}
More information about the Scummvm-git-logs
mailing list