diff options
author | Paul Gilbert | 2017-11-18 17:32:04 -0500 |
---|---|---|
committer | Paul Gilbert | 2017-11-18 17:32:04 -0500 |
commit | 62825c5cf8ca353e1210a9d49754501f9f313af9 (patch) | |
tree | dd332cd1600f46666e87b7bceb0049df3c89a898 | |
parent | 33b76cf5d0e10756317cbd09cc0020b2f538a0d3 (diff) | |
download | scummvm-rg350-62825c5cf8ca353e1210a9d49754501f9f313af9.tar.gz scummvm-rg350-62825c5cf8ca353e1210a9d49754501f9f313af9.tar.bz2 scummvm-rg350-62825c5cf8ca353e1210a9d49754501f9f313af9.zip |
XEEN: Fix size of quest flags, rename for clarity
-rw-r--r-- | engines/xeen/combat.cpp | 2 | ||||
-rw-r--r-- | engines/xeen/dialogs_quests.cpp | 2 | ||||
-rw-r--r-- | engines/xeen/party.cpp | 14 | ||||
-rw-r--r-- | engines/xeen/party.h | 2 | ||||
-rw-r--r-- | engines/xeen/scripts.cpp | 3 |
5 files changed, 11 insertions, 12 deletions
diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp index 38c994e3a3..1c28256778 100644 --- a/engines/xeen/combat.cpp +++ b/engines/xeen/combat.cpp @@ -1480,7 +1480,7 @@ void Combat::attack2(int damage, RangeType rangeType) { party._gameFlags[0][11] = true; if (_monster2Attack == 8 && party._mazeId == 78) { party._gameFlags[0][60] = true; - party._quests[0][23] = false; + party._questFlags[0][23] = false; for (uint idx = 0; idx < party._activeParty.size(); ++idx) party._activeParty[idx].setAward(42, true); diff --git a/engines/xeen/dialogs_quests.cpp b/engines/xeen/dialogs_quests.cpp index 51a5d523d8..0ca9f9d4b5 100644 --- a/engines/xeen/dialogs_quests.cpp +++ b/engines/xeen/dialogs_quests.cpp @@ -121,7 +121,7 @@ void Quests::execute() { count = 0; headerShown = false; for (int idx = 0; idx < TOTAL_QUEST_FLAGS; ++idx) { - if (party._quests[idx]) { + if (party._questFlags[(idx + 1) / 30][(idx + 1) % 30]) { if (!count && !headerShown && idx < 29) { lines[count++] = Res.CLOUDS_OF_XEEN_LINE; } diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp index 25a7c51e94..15e7b5fda6 100644 --- a/engines/xeen/party.cpp +++ b/engines/xeen/party.cpp @@ -115,8 +115,8 @@ Party::Party(XeenEngine *vm) { Common::fill(&_gameFlags[0][0], &_gameFlags[0][256], false); Common::fill(&_gameFlags[1][0], &_gameFlags[1][256], false); Common::fill(&_worldFlags[0], &_worldFlags[128], false); - Common::fill(&_quests[0][0], &_quests[0][32], false); - Common::fill(&_quests[1][0], &_quests[1][32], false); + Common::fill(&_questFlags[0][0], &_questFlags[0][30], false); + Common::fill(&_questFlags[1][0], &_questFlags[1][30], false); Common::fill(&_questItems[0], &_questItems[85], 0); for (int i = 0; i < TOTAL_CHARACTERS; ++i) @@ -209,8 +209,8 @@ void Party::synchronize(Common::Serializer &s) { SavesManager::syncBitFlags(s, &_gameFlags[0][0], &_gameFlags[0][256]); SavesManager::syncBitFlags(s, &_gameFlags[1][0], &_gameFlags[1][256]); SavesManager::syncBitFlags(s, &_worldFlags[0], &_worldFlags[128]); - SavesManager::syncBitFlags(s, &_quests[0][0], &_quests[0][32]); - SavesManager::syncBitFlags(s, &_quests[1][0], &_quests[1][32]); + SavesManager::syncBitFlags(s, &_questFlags[0][0], &_questFlags[0][30]); + SavesManager::syncBitFlags(s, &_questFlags[1][0], &_questFlags[1][30]); for (int i = 0; i < 85; ++i) s.syncAsByte(_questItems[i]); @@ -1002,7 +1002,7 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int _worldFlags[takeVal] = false; break; case 104: - _quests[files._isDarkCc][takeVal] = false; + _questFlags[files._isDarkCc][takeVal] = false; break; case 107: _characterFlags[ps._rosterId][takeVal] = false; @@ -1376,8 +1376,8 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int _worldFlags[takeVal] = true; break; case 104: - assert(giveVal < 32); - _quests[files._isDarkCc][giveVal] = true; + assert(giveVal < 30); + _questFlags[files._isDarkCc][giveVal] = true; break; case 107: assert(takeVal < 24); diff --git a/engines/xeen/party.h b/engines/xeen/party.h index a8eeb09e9c..55e18fc256 100644 --- a/engines/xeen/party.h +++ b/engines/xeen/party.h @@ -145,7 +145,7 @@ public: bool _rested; bool _gameFlags[2][256]; bool _worldFlags[128]; - bool _quests[2][32]; + bool _questFlags[2][30]; int _questItems[TOTAL_QUEST_ITEMS]; bool _characterFlags[30][24]; public: diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp index a5984e3373..48b58ddcad 100644 --- a/engines/xeen/scripts.cpp +++ b/engines/xeen/scripts.cpp @@ -1688,8 +1688,7 @@ bool Scripts::ifProc(int action, uint32 mask, int mode, int charIndex) { break; case 104: // Get value of quest flag - v = (_vm->_files->_isDarkCc ? party._quests[1][mask - 2] : - party._quests[0][mask]) ? mask : 0xffffffff; + v = party._questFlags[_vm->_files->_isDarkCc][mask] ? mask : 0xffffffff; break; case 105: // Test number of Megacredits in party. Only used by King's Engineer in Castle Burlock |