[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