[Scummvm-git-logs] scummvm master -> 0aeecb6c336ae5f97aee940165fdff8a55bdcdba

dreammaster dreammaster at scummvm.org
Sat Apr 21 13:26:58 CEST 2018


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

Summary:
0aeecb6c33 XEEN: Swords changes for game flags array


Commit: 0aeecb6c336ae5f97aee940165fdff8a55bdcdba
    https://github.com/scummvm/scummvm/commit/0aeecb6c336ae5f97aee940165fdff8a55bdcdba
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-04-21T07:26:52-04:00

Commit Message:
XEEN: Swords changes for game flags array

Changed paths:
    engines/xeen/dialogs/dialogs_quests.cpp
    engines/xeen/interface.cpp
    engines/xeen/party.cpp
    engines/xeen/scripts.cpp


diff --git a/engines/xeen/dialogs/dialogs_quests.cpp b/engines/xeen/dialogs/dialogs_quests.cpp
index 31d0bdf..ebf15e9 100644
--- a/engines/xeen/dialogs/dialogs_quests.cpp
+++ b/engines/xeen/dialogs/dialogs_quests.cpp
@@ -157,7 +157,7 @@ void Quests::execute() {
 			break;
 
 		case AUTO_NOTES: {
-			int count = _vm->getGameID() == GType_Swords ? 49 : MAX_DIALOG_LINES;
+			count = _vm->getGameID() == GType_Swords ? 49 : MAX_DIALOG_LINES;
 			for (int idx = 0; idx < count; ++idx)
 				lines[idx] = "";
 
diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp
index e986b9f..cf44a60 100644
--- a/engines/xeen/interface.cpp
+++ b/engines/xeen/interface.cpp
@@ -654,7 +654,7 @@ void Interface::doStepCode() {
 		break;
 	}
 
-	if (_vm->_files->_ccNum && party._gameFlags[1][118]) {
+	if (_vm->getGameID() != GType_Swords && _vm->_files->_ccNum && party._gameFlags[1][118]) {
 		_falling = FALL_NONE;
 	} else {
 		if (_falling != FALL_NONE)
diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp
index b6ac558..94ba964 100644
--- a/engines/xeen/party.cpp
+++ b/engines/xeen/party.cpp
@@ -922,7 +922,8 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int
 		break;
 	}
 	case 20:
-		_gameFlags[files._ccNum][takeVal] = false;
+		assert(takeVal < 256);
+		_gameFlags[_vm->getGameID() == GType_Swords ? 0 : files._ccNum][takeVal] = false;
 		break;
 	case 21: {
 		const uint WEAPONS_END = _vm->getGameID() != GType_Swords ? 35 : 41;
@@ -1187,7 +1188,8 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int
 		break;
 	}
 	case 20:
-		_gameFlags[files._ccNum][giveVal] = true;
+		assert(giveVal < 256);
+		_gameFlags[_vm->getGameID() == GType_Swords ? 0 : files._ccNum][giveVal] = true;
 		break;
 	case 21: {
 		const uint WEAPONS_END = _vm->getGameID() != GType_Swords ? 35 : 41;
diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp
index a354bc1..22f65fd 100644
--- a/engines/xeen/scripts.cpp
+++ b/engines/xeen/scripts.cpp
@@ -1589,9 +1589,9 @@ bool Scripts::ifProc(int action, uint32 val, int mode, int charIndex) {
 		break;
 	}
 	case 20:
-		if (files._ccNum)
+		assert(val < 256);
+		if (files._ccNum && _vm->getGameID() != GType_Swords)
 			val += 256;
-		assert(val < 512);
 		v = party._gameFlags[val / 256][val % 256] ? val : 0xffffffff;
 		break;
 	case 21: {





More information about the Scummvm-git-logs mailing list