[Scummvm-git-logs] scummvm master -> 08af3ad0d705c909d5ce3cb2d5d6817809935350

whiterandrek whiterandrek at gmail.com
Thu May 21 08:05:26 UTC 2020


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

Summary:
c7f5aefa22 PETKA: added saving/loading of operation goto
08af3ad0d7 PETKA: fix Menu operation


Commit: c7f5aefa22b6fd3dd3e7611f851738cbe5cc3d3f
    https://github.com/scummvm/scummvm/commit/c7f5aefa22b6fd3dd3e7611f851738cbe5cc3d3f
Author: Andrei Prykhodko (whiterandrek at gmail.com)
Date: 2020-05-21T11:04:02+03:00

Commit Message:
PETKA: added saving/loading of operation goto

Changed paths:
    engines/petka/big_dialogue.cpp


diff --git a/engines/petka/big_dialogue.cpp b/engines/petka/big_dialogue.cpp
index 49bc87a063..b5871c3463 100644
--- a/engines/petka/big_dialogue.cpp
+++ b/engines/petka/big_dialogue.cpp
@@ -229,6 +229,9 @@ void BigDialogue::load(Common::ReadStream *s) {
 			_ops[i].menu.bits = (byte)op;
 			_ops[i].menu.bitField = (uint16)(op >> 8);
 			break;
+		case kOperationGoTo:
+			_ops[i].goTo.opIndex = (uint16)(op);
+			break;
 		case kOperationDisableMenuItem:
 			_ops[i].disableMenuItem.opIndex = (uint16)op;
 			_ops[i].disableMenuItem.bit = (byte)(op >> 16);
@@ -267,6 +270,10 @@ void BigDialogue::save(Common::WriteStream *s) {
 			s->writeUint16LE(_ops[i].menu.bitField);
 			s->writeByte(kOperationMenu);
 			break;
+		case kOperationGoTo:
+			s->writeUint16LE(_ops[i].goTo.opIndex);
+			s->writeUint16LE(MKTAG16(0, kOperationGoTo));
+			break;
 		case kOperationDisableMenuItem:
 			s->writeUint16LE(_ops[i].disableMenuItem.opIndex);
 			s->writeUint16LE(MKTAG16(_ops[i].disableMenuItem.bit, kOperationDisableMenuItem));


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

Commit Message:
PETKA: fix Menu operation

Changed paths:
    engines/petka/big_dialogue.cpp


diff --git a/engines/petka/big_dialogue.cpp b/engines/petka/big_dialogue.cpp
index b5871c3463..79eb655a22 100644
--- a/engines/petka/big_dialogue.cpp
+++ b/engines/petka/big_dialogue.cpp
@@ -327,13 +327,14 @@ void BigDialogue::next(int choice) {
 				choice = 0;
 			if (_currOp->menu.bits <= choice)
 				choice = _currOp->menu.bits - 1;
+			uint16 bitField = _currOp->menu.bitField;
 			uint bits = _currOp->menu.bits;
 			uint bit = 1;
 			uint i = 0;
 			while (bits) {
 				if (_currOp->type == kOperationBreak) {
 					bits--;
-					if (!(bit & _currOp->menu.bitField) && i <= (uint)choice)
+					if (!(bit & bitField) && i <= (uint)choice)
 						choice++;
 					bit *= 2;
 					i++;
@@ -341,6 +342,7 @@ void BigDialogue::next(int choice) {
 				_currOp += 1;
 			}
 			_currOp += choice;
+			processed = false;
 			break;
 		}
 		case kOperationGoTo: {




More information about the Scummvm-git-logs mailing list