diff options
-rw-r--r-- | engines/xeen/dialogs/dialogs_quests.cpp | 12 | ||||
-rw-r--r-- | engines/xeen/party.cpp | 6 |
2 files changed, 10 insertions, 8 deletions
diff --git a/engines/xeen/dialogs/dialogs_quests.cpp b/engines/xeen/dialogs/dialogs_quests.cpp index e0e9829fd9..31d0bdf8d3 100644 --- a/engines/xeen/dialogs/dialogs_quests.cpp +++ b/engines/xeen/dialogs/dialogs_quests.cpp @@ -156,23 +156,24 @@ void Quests::execute() { lines[topRow].c_str(), lines[topRow + 1].c_str(), lines[topRow + 2].c_str())); break; - case AUTO_NOTES: - for (int idx = 0; idx < MAX_DIALOG_LINES; ++idx) + case AUTO_NOTES: { + int count = _vm->getGameID() == GType_Swords ? 49 : MAX_DIALOG_LINES; + for (int idx = 0; idx < count; ++idx) lines[idx] = ""; count = 0; headerShown = false; - for (int idx = 0; idx < MAX_DIALOG_LINES; ++idx) { + for (int idx = 0; idx < count; ++idx) { if (party._worldFlags[idx]) { if (!count && !headerShown && (_vm->getGameID() == GType_Swords || idx < 72)) { lines[count++] = title1; } - if (_vm->getGameID() != GType_Swords && idx >= 72 && !headerShown) { + if (idx >= 72 && !headerShown) { lines[count++] = Res.DARKSIDE_OF_XEEN_LINE; headerShown = true; } - lines[count++] = _questNotes[idx + 56]; + lines[count++] = _questNotes[idx + (_vm->getGameID() == GType_Swords ? 51 : 56)]; } } @@ -188,6 +189,7 @@ void Quests::execute() { )); break; } + } windows[30].writeString("\v000\t000"); windows[24].update(); diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp index 66d1313b82..b6ac558712 100644 --- a/engines/xeen/party.cpp +++ b/engines/xeen/party.cpp @@ -957,7 +957,7 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int break; } } else { - if (ps._misc[idx]._material == ((int)takeVal - ACCESSORIES_END)) { + if (ps._misc[idx]._material == (int)(takeVal - ACCESSORIES_END)) { ps._misc[idx].clear(); ps._misc.sort(); found = true; @@ -1435,11 +1435,11 @@ bool Party::giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int _gold += _vm->getRandomNumber(1, giveVal); break; case 103: - assert(giveVal < 128); + assert(giveVal < (uint)(_vm->getGameID() == GType_Swords ? 49 : 128)); _worldFlags[giveVal] = true; break; case 104: - assert(giveVal < 30); + assert(giveVal < (uint)(_vm->getGameID() == GType_Swords ? 60 : 30)); _questFlags[(_vm->getGameID() == GType_Swords ? 0 : files._ccNum * 30) + giveVal] = true; break; case 107: |