[Scummvm-git-logs] scummvm master -> 8aff08bc4099b959c818e33b6020404748b9639e

whiterandrek whiterandrek at gmail.com
Wed May 27 09:50:07 UTC 2020


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

Summary:
ef4993cff6 PETKA: fixed clicking on some objects
58f80fa09f PETKA: fixed crash
6d2ed73e2d PETKA: fixed sequence interface
5cd3334f91 PETKA: fixed crash after using panel interface
8aff08bc40 PETKA: fixed playing some sounds


Commit: ef4993cff6eb4be2e5a04e56d4e71c6eeb2866da
    https://github.com/scummvm/scummvm/commit/ef4993cff6eb4be2e5a04e56d4e71c6eeb2866da
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-27T12:49:15+03:00

Commit Message:
PETKA: fixed clicking on some objects

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


diff --git a/engines/petka/objects/object.cpp b/engines/petka/objects/object.cpp
index ab2ffa3c18..2595b8d5e7 100644
--- a/engines/petka/objects/object.cpp
+++ b/engines/petka/objects/object.cpp
@@ -382,8 +382,12 @@ bool QObject::isInPoint(int x, int y) {
 		if (!flc->getBounds().contains(x - _x, y - _y))
 			return false;
 		const Graphics::Surface *s = flc->getCurrentFrame();
-		if (s->format.bytesPerPixel == 1)
-			return *(const byte*)flc->getCurrentFrame()->getBasePtr(x - _x - flc->getPos().x, y - _y - flc->getPos().y) != 0;
+		if (s->format.bytesPerPixel == 1) {
+			byte index = *(const byte *) flc->getCurrentFrame()->getBasePtr(x - _x - flc->getPos().x,
+																			y - _y - flc->getPos().y);
+			const byte *pal = flc->getPalette();
+			return (pal[0] != pal[index * 3] || pal[1] != pal[index * 3 + 1] || pal[2] != pal[index * 3 + 2]);
+		}
 		if (s->format.bytesPerPixel == 2)
 			return *(const uint16*)flc->getCurrentFrame()->getBasePtr(x - _x - flc->getPos().x, y - _y - flc->getPos().y) != flc->getTransColor(s->format);
 	}


Commit: 58f80fa09fa95851d843da5d57e9c4c1639d7082
    https://github.com/scummvm/scummvm/commit/58f80fa09fa95851d843da5d57e9c4c1639d7082
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-27T12:49:15+03:00

Commit Message:
PETKA: fixed crash

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


diff --git a/engines/petka/objects/object.cpp b/engines/petka/objects/object.cpp
index 2595b8d5e7..22986bb944 100644
--- a/engines/petka/objects/object.cpp
+++ b/engines/petka/objects/object.cpp
@@ -283,8 +283,7 @@ void QMessageObject::processReaction(QReaction *r, const QMessage *msg) {
 		if (msg && rMsg.opcode == kRandom && rMsg.arg2 != -1) {
 			rMsg.arg1 = (int16) g_vm->getRnd().getRandomNumber((uint) (rMsg.arg2 - 1));
 		}
-		g_vm->getQSystem()->addMessage(rMsg.objId, rMsg.opcode, rMsg.arg1, rMsg.arg2, rMsg.arg3, rMsg.unk,
-									   rMsg.sender);
+		g_vm->getQSystem()->addMessage(rMsg.objId, rMsg.opcode, rMsg.arg1, rMsg.arg2, rMsg.arg3, rMsg.unk, this);
 		bool processed = true;
 		switch (rMsg.opcode) {
 		case kDialog: {
@@ -511,10 +510,10 @@ void QObject::onClick(int x, int y) {
 	case kActionTalk:
 		g_vm->getQSystem()->addMessage(_id, kTalk, 0, 0, 0, 0, this);
 		break;
-	case kActionObjUse:
+	case kActionObjUseChapayev:
 		g_vm->getQSystem()->addMessage(_id, kObjectUse, x, y, 0, 0, g_vm->getQSystem()->_chapayev.get());
 		break;
-	case kActionObjUseChapayev:
+	case kActionObjUse:
 		g_vm->getQSystem()->addMessage(_id, kObjectUse, 0, 0, 0, 0, cursor->_invObj);
 		break;
 	default:


Commit: 6d2ed73e2da73e0cb075506f532a9ca8d1fefbd8
    https://github.com/scummvm/scummvm/commit/6d2ed73e2da73e0cb075506f532a9ca8d1fefbd8
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-27T12:49:15+03:00

Commit Message:
PETKA: fixed sequence interface

Changed paths:
    engines/petka/interfaces/sequence.cpp


diff --git a/engines/petka/interfaces/sequence.cpp b/engines/petka/interfaces/sequence.cpp
index 5e010576b8..e6bc6db9b1 100644
--- a/engines/petka/interfaces/sequence.cpp
+++ b/engines/petka/interfaces/sequence.cpp
@@ -41,9 +41,6 @@ InterfaceSequence::InterfaceSequence() {
 void InterfaceSequence::start(int id) {
 	removeTexts();
 	for (uint i = 0; i < _objs.size(); ++i) {
-		if (_objs[i]->_resourceId != -666) {
-			g_vm->resMgr()->removeResource(_objs[i]->_resourceId);
-		}
 		QMessageObject *obj = (QMessageObject *)_objs[i];
 		obj->removeSound();
 	}
@@ -98,13 +95,12 @@ void InterfaceSequence::start(int id) {
 void InterfaceSequence::stop() {
 	removeTexts();
 	for (uint i = 0; i < _objs.size(); ++i) {
-		if (_objs[i]->_resourceId != -666) {
-			g_vm->resMgr()->removeResource(_objs[i]->_resourceId);
-		}
 		QMessageObject *obj = (QMessageObject *)_objs[i];
 		obj->removeSound();
 	}
 
+	_objs.clear();
+
 	g_vm->soundMgr()->removeSound(g_vm->resMgr()->findSoundName(_fxId));
 	g_vm->soundMgr()->removeSound(g_vm->resMgr()->findSoundName(_musicId));
 
@@ -119,7 +115,9 @@ void InterfaceSequence::stop() {
 
 void InterfaceSequence::onLeftButtonDown(const Common::Point p) {
 	QVisibleObject *obj = findObject(-2);
-	obj->onClick(p.x, p.y);
+	if (obj) {
+		obj->onClick(p.x, p.y);
+	}
 }
 
 } // End of namespace Petka


Commit: 5cd3334f91f2e29f986e73b013198f6db944c21b
    https://github.com/scummvm/scummvm/commit/5cd3334f91f2e29f986e73b013198f6db944c21b
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-27T12:49:15+03:00

Commit Message:
PETKA: fixed crash after using panel interface

Changed paths:
    engines/petka/interfaces/panel.cpp


diff --git a/engines/petka/interfaces/panel.cpp b/engines/petka/interfaces/panel.cpp
index c086636bf6..4978b0fc9a 100644
--- a/engines/petka/interfaces/panel.cpp
+++ b/engines/petka/interfaces/panel.cpp
@@ -119,6 +119,7 @@ void InterfacePanel::start(int id) {
 	}
 
 	QObjectCursor *cursor = g_vm->getQSystem()->_cursor.get();
+	_savedCursorRes = cursor->_resourceId;
 	_savedCursorType = cursor->_actionType;
 
 	initCursor(4901, 1, 1);


Commit: 8aff08bc4099b959c818e33b6020404748b9639e
    https://github.com/scummvm/scummvm/commit/8aff08bc4099b959c818e33b6020404748b9639e
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-27T12:49:15+03:00

Commit Message:
PETKA: fixed playing some sounds

Changed paths:
    engines/petka/petka.cpp


diff --git a/engines/petka/petka.cpp b/engines/petka/petka.cpp
index 6ac90972cc..9a50b905e4 100644
--- a/engines/petka/petka.cpp
+++ b/engines/petka/petka.cpp
@@ -146,7 +146,7 @@ void PetkaEngine::loadStores() {
 		return;
 	}
 
-	const char *const names[] = {"Background", "Flics", "Wavs", "SFX", "Music", "Speech"};
+	const char *const names[] = {"Background", "Flics", "Wav", "SFX", "Music", "Speech"};
 	const Common::String section = Common::String::format("Part %d", _part);
 
 	parts.getKey("CurrentPath", section, _currentPath);




More information about the Scummvm-git-logs mailing list