[Scummvm-git-logs] scummvm master -> f1cfc9e69606fb100d85609b0a29e99a8ba4f55f
dreammaster
dreammaster at scummvm.org
Sat Apr 7 22:55:19 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:
f1cfc9e696 XEEN: Cleanup of game completion flags
Commit: f1cfc9e69606fb100d85609b0a29e99a8ba4f55f
https://github.com/scummvm/scummvm/commit/f1cfc9e69606fb100d85609b0a29e99a8ba4f55f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-04-07T16:55:07-04:00
Commit Message:
XEEN: Cleanup of game completion flags
Changed paths:
engines/xeen/dialogs/dialogs_spells.cpp
engines/xeen/map.cpp
engines/xeen/map.h
engines/xeen/party.cpp
engines/xeen/party.h
engines/xeen/scripts.cpp
diff --git a/engines/xeen/dialogs/dialogs_spells.cpp b/engines/xeen/dialogs/dialogs_spells.cpp
index 43d7619..6e76f7b 100644
--- a/engines/xeen/dialogs/dialogs_spells.cpp
+++ b/engines/xeen/dialogs/dialogs_spells.cpp
@@ -765,7 +765,7 @@ bool LloydsBeacon::execute() {
switch (_buttonValue) {
case Common::KEYCODE_r:
- if (!ccNum && c._lloydMap >= 75 && c._lloydMap <= 78 && !party._cloudsEnd) {
+ if (!ccNum && c._lloydMap >= XEEN_CASTLE1 && c._lloydMap <= XEEN_CASTLE4 && !party._cloudsCompleted) {
result = false;
} else {
sound.playFX(51);
diff --git a/engines/xeen/map.cpp b/engines/xeen/map.cpp
index 53b1632..1fb5a9f 100644
--- a/engines/xeen/map.cpp
+++ b/engines/xeen/map.cpp
@@ -794,7 +794,7 @@ void Map::load(int mapId) {
for (uint i = 0; i < _mobData._objectSprites.size(); ++i) {
files.setGameCc(_sideObjects);
- if (party._cloudsEnd && _mobData._objectSprites[i]._spriteId == 85 &&
+ if (party._cloudsCompleted && _mobData._objectSprites[i]._spriteId == 85 &&
mapId == 27 && ccNum) {
_mobData._objects[29]._spriteId = 0;
_mobData._objects[29]._id = 8;
diff --git a/engines/xeen/map.h b/engines/xeen/map.h
index 727c2e0..ef27bdb 100644
--- a/engines/xeen/map.h
+++ b/engines/xeen/map.h
@@ -47,6 +47,10 @@ enum MonsterType {
MONSTER_DRAGON = 6
};
+enum MapId {
+ XEEN_CASTLE1 = 75, XEEN_CASTLE4 = 78
+};
+
class MonsterStruct {
public:
Common::String _name;
diff --git a/engines/xeen/party.cpp b/engines/xeen/party.cpp
index 50c5992..cb8072f 100644
--- a/engines/xeen/party.cpp
+++ b/engines/xeen/party.cpp
@@ -212,9 +212,9 @@ Party::Party(XeenEngine *vm) {
_holyBonus = 0;
_heroism = 0;
_difficulty = ADVENTURER;
- _cloudsEnd = false;
- _darkSideEnd = false;
- _worldEnd = false;
+ _cloudsCompleted = false;
+ _darkSideCompleted = false;
+ _worldCompleted = false;
_ctr24 = 0;
_day = 0;
_year = 0;
@@ -299,9 +299,9 @@ void Party::synchronize(Common::Serializer &s) {
_blacksmithWares.synchronize(s, 0);
- s.syncAsUint16LE(_cloudsEnd);
- s.syncAsUint16LE(_darkSideEnd);
- s.syncAsUint16LE(_worldEnd);
+ s.syncAsUint16LE(_cloudsCompleted);
+ s.syncAsUint16LE(_darkSideCompleted);
+ s.syncAsUint16LE(_worldCompleted);
s.syncAsUint16LE(_ctr24);
s.syncAsUint16LE(_day);
s.syncAsUint16LE(_year);
diff --git a/engines/xeen/party.h b/engines/xeen/party.h
index b0be1a2..4b0616b 100644
--- a/engines/xeen/party.h
+++ b/engines/xeen/party.h
@@ -190,9 +190,9 @@ public:
int _heroism;
Difficulty _difficulty;
BlacksmithWares _blacksmithWares;
- bool _cloudsEnd;
- bool _darkSideEnd;
- bool _worldEnd;
+ bool _cloudsCompleted;
+ bool _darkSideCompleted;
+ bool _worldCompleted;
int _ctr24; // Unused counter
int _day;
uint _year;
diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp
index 7d36b83..3cc8b44 100644
--- a/engines/xeen/scripts.cpp
+++ b/engines/xeen/scripts.cpp
@@ -1418,7 +1418,7 @@ bool Scripts::cmdCutsceneEndDarkside(ParamsIterator ¶ms) {
Party &party = *_vm->_party;
_vm->_saves->_wonDarkSide = true;
party._questItems[53] = 1;
- party._darkSideEnd = true;
+ party._darkSideCompleted = true;
party._mazeId = 29;
party._mazeDirection = DIR_NORTH;
party._mazePosition = Common::Point(25, 21);
@@ -1439,7 +1439,7 @@ bool Scripts::cmdCutsceneEndWorld(ParamsIterator ¶ms) {
g_vm->saveSettings();
_vm->_saves->_wonWorld = true;
- _vm->_party->_worldEnd = true;
+ _vm->_party->_worldCompleted = true;
doWorldEnding();
return false;
@@ -1453,10 +1453,12 @@ bool Scripts::cmdFlipWorld(ParamsIterator ¶ms) {
bool Scripts::cmdPlayCD(ParamsIterator ¶ms) { error("TODO"); }
void Scripts::doCloudsEnding() {
+ g_vm->_party->_cloudsCompleted = true;
doEnding("ENDGAME");
}
void Scripts::doDarkSideEnding() {
+ g_vm->_party->_darkSideCompleted = true;
doEnding("ENDGAME2");
}
More information about the Scummvm-git-logs
mailing list