[Scummvm-git-logs] scummvm master -> 147bb22457af2bcce39fd779406228a08dbbffe5

whiterandrek whiterandrek at gmail.com
Thu May 21 07:00:00 UTC 2020


This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d6ee4948a9 PETKA: JANITORIAL: fix comment
07b64c8797 PETKA: fix loading room from map
b8f7599d27 PETKA: QObjectCursor now inherits proper class
28612d2e82 PETKA: fix clicking on text objects
d95e395735 PETKA: fix Text constructor
4c94396a0a PETKA: fix drawing objects which have negative z index
fc9a8fc27f PETKA: fix crash when using dialog menu
147bb22457 PETKA: fix moving mouse on text choice object


Commit: d6ee4948a9dd7b29681806739efcb668142fd3ca
    https://github.com/scummvm/scummvm/commit/d6ee4948a9dd7b29681806739efcb668142fd3ca
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:44:08+03:00

Commit Message:
PETKA: JANITORIAL: fix comment

Changed paths:
    engines/petka/objects/object_cursor.h


diff --git a/engines/petka/objects/object_cursor.h b/engines/petka/objects/object_cursor.h
index b908d5674f..b997971418 100644
--- a/engines/petka/objects/object_cursor.h
+++ b/engines/petka/objects/object_cursor.h
@@ -53,6 +53,6 @@ public:
 	QMessageObject *_invObj;
 };
 
-} // End of naespace Petka
+} // End of namespace Petka
 
 #endif


Commit: 07b64c87979d9558da756445b7f41c67ffca6f96
    https://github.com/scummvm/scummvm/commit/07b64c87979d9558da756445b7f41c67ffca6f96
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:46:05+03:00

Commit Message:
PETKA: fix loading room from map

Changed paths:
    engines/petka/interfaces/main.cpp
    engines/petka/q_system.cpp


diff --git a/engines/petka/interfaces/main.cpp b/engines/petka/interfaces/main.cpp
index 60721ac000..272916cafc 100644
--- a/engines/petka/interfaces/main.cpp
+++ b/engines/petka/interfaces/main.cpp
@@ -82,13 +82,13 @@ void InterfaceMain::start(int id) {
 }
 
 void InterfaceMain::loadRoom(int id, bool fromSave) {
-	stop();
+	QSystem *sys = g_vm->getQSystem();
+	sys->_currInterface->stop();
 	if (_roomId == id)
 		return;
 	unloadRoom(fromSave);
 	_roomId = id;
 	const BGInfo *info = findBGInfo(id);
-	QSystem *sys = g_vm->getQSystem();
 	QObjectBG *room = (QObjectBG *)sys->findObject(id);
 	g_vm->getQSystem()->_room = room;
 	g_vm->resMgr()->loadBitmap(room->_resourceId);
diff --git a/engines/petka/q_system.cpp b/engines/petka/q_system.cpp
index 724bd5fe90..a91d2e0401 100644
--- a/engines/petka/q_system.cpp
+++ b/engines/petka/q_system.cpp
@@ -172,12 +172,11 @@ bool QSystem::init() {
 	_panelInterface.reset(new InterfacePanel());
 	_mapInterface.reset(new InterfaceMap());
 	if (g_vm->getPart() == 0) {
-		_startupInterface->start(0);
 		_prevInterface = _currInterface = _startupInterface.get();
 	} else {
-		_mainInterface->start(0);
 		_prevInterface = _currInterface = _mainInterface.get();
 	}
+	_currInterface->start(0);
 	return true;
 }
 


Commit: b8f7599d276e5b372a283297511c5647943360c1
    https://github.com/scummvm/scummvm/commit/b8f7599d276e5b372a283297511c5647943360c1
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:47:51+03:00

Commit Message:
PETKA: QObjectCursor now inherits proper class

Changed paths:
    engines/petka/objects/object_cursor.h


diff --git a/engines/petka/objects/object_cursor.h b/engines/petka/objects/object_cursor.h
index b997971418..b007564859 100644
--- a/engines/petka/objects/object_cursor.h
+++ b/engines/petka/objects/object_cursor.h
@@ -37,7 +37,7 @@ enum ActionType {
 	kActionObjUse
 };
 
-class QObjectCursor : public QObject {
+class QObjectCursor : public QMessageObject {
 public:
 	QObjectCursor();
 


Commit: 28612d2e824ad4748494065b02b271e0ddd5af28
    https://github.com/scummvm/scummvm/commit/28612d2e824ad4748494065b02b271e0ddd5af28
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:51:29+03:00

Commit Message:
PETKA: fix clicking on text objects

Changed paths:
    engines/petka/objects/text.h


diff --git a/engines/petka/objects/text.h b/engines/petka/objects/text.h
index d686c2129e..14bcfbda03 100644
--- a/engines/petka/objects/text.h
+++ b/engines/petka/objects/text.h
@@ -56,6 +56,7 @@ public:
 	void draw() override;
 	void update(int time) override;
 	void onClick(int x, int y) override;
+	bool isInPoint(int x, int y) override { return true; }
 
 private:
 	Common::U32String _phrase;
@@ -68,6 +69,7 @@ public:
 
 	void draw() override;
 	void onClick(int x, int y) override;
+	bool isInPoint(int x, int y) override { return true; }
 };
 
 class QTextChoice : public QText {
@@ -76,6 +78,7 @@ public:
 
 	void onMouseMove(int x, int y) override;
 	void onClick(int x, int y) override;
+	bool isInPoint(int x, int y) override { return true; }
 
 private:
 	Common::Array<Common::Rect> _rects;


Commit: d95e39573580a292dbb55c4420027cfc8f3356b0
    https://github.com/scummvm/scummvm/commit/d95e39573580a292dbb55c4420027cfc8f3356b0
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:52:15+03:00

Commit Message:
PETKA: fix Text constructor

Changed paths:
    engines/petka/objects/text.cpp


diff --git a/engines/petka/objects/text.cpp b/engines/petka/objects/text.cpp
index 5a86ffa866..0373087750 100644
--- a/engines/petka/objects/text.cpp
+++ b/engines/petka/objects/text.cpp
@@ -88,7 +88,10 @@ void QText::drawOutline(Graphics::Surface *s, uint16 color) {
 	}
 }
 
-QText::QText() {}
+QText::QText() {
+	_resourceId = -2;
+	_z = 3000;
+}
 
 QTextPhrase::QTextPhrase(const Common::U32String &text, uint16 textColor, uint16 outlineColor)
 	: QText(text, textColor, outlineColor), _phrase(text), _time(0) {}


Commit: 4c94396a0ae1b330d5464aa4c44fc967ef9cdd1b
    https://github.com/scummvm/scummvm/commit/4c94396a0ae1b330d5464aa4c44fc967ef9cdd1b
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:54:37+03:00

Commit Message:
PETKA: fix drawing objects which have negative z index

Changed paths:
    engines/petka/objects/object.h


diff --git a/engines/petka/objects/object.h b/engines/petka/objects/object.h
index 601da04179..cf80180ffe 100644
--- a/engines/petka/objects/object.h
+++ b/engines/petka/objects/object.h
@@ -45,7 +45,7 @@ public:
 
 public:
 	int32 _resourceId;
-	uint32 _z;
+	int32 _z;
 };
 
 class Sound;


Commit: fc9a8fc27f819c24300e132c7d63ec79b7931424
    https://github.com/scummvm/scummvm/commit/fc9a8fc27f819c24300e132c7d63ec79b7931424
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:56:31+03:00

Commit Message:
PETKA: fix crash when using dialog menu

Changed paths:
    engines/petka/big_dialogue.cpp
    engines/petka/interfaces/dialog_interface.cpp
    engines/petka/objects/text.cpp


diff --git a/engines/petka/big_dialogue.cpp b/engines/petka/big_dialogue.cpp
index 7a15678b6c..49bc87a063 100644
--- a/engines/petka/big_dialogue.cpp
+++ b/engines/petka/big_dialogue.cpp
@@ -96,17 +96,17 @@ const Common::U32String *BigDialogue::getSpeechInfo(int *talkerId, const char **
 		return nullptr;
 	switch (_currOp->type) {
 	case kOperationMenu: {
-		Operation *oldOp = _currOp;
+		Operation *menuOp = _currOp;
 		uint bit = 1;
 		if (_currOp->menu.bits <= choice || choice < 0) {
 			break;
 		}
 		while (true) {
 			_currOp += 1;
-			if (choice == 0 && (bit & _currOp->menu.bitField))
+			if (choice == 0 && (bit & menuOp->menu.bitField))
 				break;
 			if (_currOp->type == kOperationBreak) {
-				if (bit & _currOp->menu.bitField)
+				if (bit & menuOp->menu.bitField)
 					choice--;
 				bit *= 2;
 			}
@@ -114,12 +114,12 @@ const Common::U32String *BigDialogue::getSpeechInfo(int *talkerId, const char **
 		if (_currOp->type != kOperationPlay)
 			next();
 		if (_currOp->type != kOperationPlay) {
-			_currOp = oldOp;
+			_currOp = menuOp;
 			break;
 		}
 
 		uint index = _currOp->play.messageIndex;
-		_currOp = oldOp;
+		_currOp = menuOp;
 		*soundName = _speeches[index].soundName;
 		*talkerId = _speeches[index].speakerId;
 		return &_speeches[index].text;
diff --git a/engines/petka/interfaces/dialog_interface.cpp b/engines/petka/interfaces/dialog_interface.cpp
index e1d8cc6031..70d7278459 100644
--- a/engines/petka/interfaces/dialog_interface.cpp
+++ b/engines/petka/interfaces/dialog_interface.cpp
@@ -142,7 +142,7 @@ void DialogInterface::next(int choice) {
 		Common::Array<Common::U32String> choices;
 		for (uint i = 0; i < count; ++i) {
 			int id;
-			choices.push_back(*bigDialog->getSpeechInfo(&id, &soundName, -1));
+			choices.push_back(*bigDialog->getSpeechInfo(&id, &soundName, i));
 		}
 		qsys->_mainInterface->setTextChoice(choices, 0xFFFF, g_system->getScreenFormat().RGBToColor(0xFF, 0, 0));
 
@@ -177,6 +177,7 @@ void DialogInterface::end() {
 	_talker = nullptr;
 	_state = kIdle;
 	_id = -1;
+	g_vm->getQSystem()->_currInterface->removeTexts();
 	restoreCursorState();
 	if (g_dialogReaction)
 		processSavedReaction(&g_dialogReaction, _sender);
diff --git a/engines/petka/objects/text.cpp b/engines/petka/objects/text.cpp
index 0373087750..2b915b02de 100644
--- a/engines/petka/objects/text.cpp
+++ b/engines/petka/objects/text.cpp
@@ -167,6 +167,7 @@ QTextChoice::QTextChoice(const Common::Array<Common::U32String> &choices, uint16
 	int w = 0;
 	int h = 0;
 	Common::ScopedPtr<Graphics::Font> font(Graphics::loadTTFFontFromArchive("FreeSans.ttf", 18));
+	_rects.resize(choices.size());
 	for (uint i = 0; i < _choices.size(); ++i) {
 		_rects[i] = font->getBoundingBox(_choices[i]);
 		if (_rects[i].width() > w)


Commit: 147bb22457af2bcce39fd779406228a08dbbffe5
    https://github.com/scummvm/scummvm/commit/147bb22457af2bcce39fd779406228a08dbbffe5
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T09:59:26+03:00

Commit Message:
PETKA: fix moving mouse on text choice object

Changed paths:
    engines/petka/objects/text.cpp


diff --git a/engines/petka/objects/text.cpp b/engines/petka/objects/text.cpp
index 2b915b02de..00b6e09c9c 100644
--- a/engines/petka/objects/text.cpp
+++ b/engines/petka/objects/text.cpp
@@ -179,11 +179,10 @@ QTextChoice::QTextChoice(const Common::Array<Common::U32String> &choices, uint16
 
 	Graphics::Surface *s = g_vm->resMgr()->findOrCreateSurface(-2, w, h);
 
-	int x = _rect.left;
-	int y = _rect.top;
+	int y = 0;
 	for (uint i = 0; i < _choices.size(); ++i) {
-		font->drawString(s, _choices[i], 0, y - _rect.top, s->w, color);
-		_rects[i].moveTo(x, y);
+		font->drawString(s, _choices[i], 0, y, s->w, color);
+		_rects[i].moveTo(0, y);
 		y += _rects[i].height();
 	}
 }




More information about the Scummvm-git-logs mailing list