[Scummvm-git-logs] scummvm master -> 5bce0aa737fdceb3fda089354a1d91fa36d79b79

phcoder phcoder at gmail.com
Sun Oct 25 21:49:20 UTC 2020


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

Summary:
38c4a0849a HADESCH: Fix playing of Troy/Odysseus intro
7852ca2b21 HADESCH: Fix wrong room moves
9c9dd99f23 HADESCH: Fix decoder closing handling in catacombs
5bce0aa737 HADESCH: Fix handling of atlantis intro


Commit: 38c4a0849aaec9598d254979ab7c81737810e83e
    https://github.com/scummvm/scummvm/commit/38c4a0849aaec9598d254979ab7c81737810e83e
Author: Vladimir Serbinenko (phcoder at google.com)
Date: 2020-10-25T22:49:01+01:00

Commit Message:
HADESCH: Fix playing of Troy/Odysseus intro

Changed paths:
    engines/hadesch/persistent.cpp
    engines/hadesch/persistent.h
    engines/hadesch/rooms/troy.cpp


diff --git a/engines/hadesch/persistent.cpp b/engines/hadesch/persistent.cpp
index 050cad24db..41824c4663 100644
--- a/engines/hadesch/persistent.cpp
+++ b/engines/hadesch/persistent.cpp
@@ -108,7 +108,7 @@ Persistent::Persistent() {
 	_troyShowBricks = false;
 	_troyShowBricks = false;
 	_troyIsDefeated = false;
-	_troyPlayOdysseus = false;
+	_troyPlayedOdysseus = false;
 	_troyKeyAndDecreeState = KEY_AND_DECREE_NOT_GIVEN;
 	_troyMessageIsDelivered = false;
 	_troyCatacombCounter = 0;
@@ -249,7 +249,7 @@ bool Persistent::syncGameStream(Common::Serializer &s) {
 	s.syncAsByte(_troyShowBricks);
 	s.syncAsByte(_troyShowBricks);
 	s.syncAsByte(_troyIsDefeated);
-	s.syncAsByte(_troyPlayOdysseus);
+	s.syncAsByte(_troyPlayedOdysseus);
 	s.syncAsByte(_troyKeyAndDecreeState);
 	s.syncAsByte(_troyMessageIsDelivered);
 	s.syncAsByte(_troyCatacombCounter);
diff --git a/engines/hadesch/persistent.h b/engines/hadesch/persistent.h
index 44f18d858c..8f18a51f7b 100644
--- a/engines/hadesch/persistent.h
+++ b/engines/hadesch/persistent.h
@@ -137,7 +137,7 @@ struct Persistent {
 	bool _troyWallDamaged;
 	bool _troyShowBricks;
 	bool _troyIsDefeated;
-	bool _troyPlayOdysseus;
+	bool _troyPlayedOdysseus;
 	bool _troyMessageIsDelivered;
 	enum TroyKeyAndDecreeState {
 		KEY_AND_DECREE_NOT_GIVEN,
diff --git a/engines/hadesch/rooms/troy.cpp b/engines/hadesch/rooms/troy.cpp
index cb704e2b2c..af334f4f4c 100644
--- a/engines/hadesch/rooms/troy.cpp
+++ b/engines/hadesch/rooms/troy.cpp
@@ -576,12 +576,13 @@ public:
 						 AmbientAnim::PAN_RIGHT);
 		_bgSoldiersAmbient.start();
 
+		if (!persistent->_troyPlayedOdysseus && quest == kTroyQuest) {
+		    room->panRightAnim(10044);
+		    room->disableMouse();
+		    showIdleOdysseus();
+		}
+
 		if (quest <= kTroyQuest) {
-			if (persistent->_troyPlayOdysseus) {
-				room->panRightAnim(10044);
-				room->disableMouse();
-				showIdleOdysseus();
-			}
 			_soldier1IsCrazy = rnd.getRandomBit();
 			_soldier2IsCrazy = rnd.getRandomBit();
 			_soldier3IsCrazy = rnd.getRandomBit();
@@ -648,8 +649,8 @@ public:
 
 		if (quest == kTroyQuest) {
 			room->enableHotzone("Prisoner");
-			if (persistent->_troyPlayOdysseus) {
-				persistent->_troyPlayOdysseus = false;
+			if (!persistent->_troyPlayedOdysseus) {
+				persistent->_troyPlayedOdysseus = true;
 			}
 
 			room->selectFrame(kPrisoner, kPrisonerZ, 0, kOffsetRightRoom);


Commit: 7852ca2b2125d6a614c5fd16ca7c7509a4c47558
    https://github.com/scummvm/scummvm/commit/7852ca2b2125d6a614c5fd16ca7c7509a4c47558
Author: Vladimir Serbinenko (phcoder at google.com)
Date: 2020-10-25T22:49:01+01:00

Commit Message:
HADESCH: Fix wrong room moves

Changed paths:
    engines/hadesch/persistent.cpp
    engines/hadesch/rooms/crete.cpp
    engines/hadesch/rooms/olympus.cpp


diff --git a/engines/hadesch/persistent.cpp b/engines/hadesch/persistent.cpp
index 41824c4663..fc0e876539 100644
--- a/engines/hadesch/persistent.cpp
+++ b/engines/hadesch/persistent.cpp
@@ -115,6 +115,7 @@ Persistent::Persistent() {
 	_troyCatacombsUnlocked = false;
 	_troyPlayedOdysseusCongrats = false;
 	_troyPlayFinish = false;
+	_doQuestIntro = false;
 
 	for (unsigned i = 0; i < ARRAYSIZE(_catacombVariants); i++)
 		for (unsigned j = 0; j < ARRAYSIZE(_catacombVariants[0]); j++)
diff --git a/engines/hadesch/rooms/crete.cpp b/engines/hadesch/rooms/crete.cpp
index 67960c1f8b..8f5984c9a9 100644
--- a/engines/hadesch/rooms/crete.cpp
+++ b/engines/hadesch/rooms/crete.cpp
@@ -843,7 +843,7 @@ TODO:
 
 			// Originally event 12123
 			room->playSound("r2035wa0", 12124);
-			g_vm->moveToRoom(kDaedalusRoom);
+			persistent->_creteHadesPusnishesPainAndPanic = false;
 			return;
 		}
 		
diff --git a/engines/hadesch/rooms/olympus.cpp b/engines/hadesch/rooms/olympus.cpp
index 77ffd45862..bb5286f5ae 100644
--- a/engines/hadesch/rooms/olympus.cpp
+++ b/engines/hadesch/rooms/olympus.cpp
@@ -41,7 +41,6 @@ public:
 	void handleClick(const Common::String &hotname) override {
 		if (hotname == "new") {
 			g_vm->newGame();
-			g_vm->moveToRoom(kWallOfFameRoom);
 			return;
 		}
 


Commit: 9c9dd99f239b4251ac4ab3326d2b1ba6d3482b85
    https://github.com/scummvm/scummvm/commit/9c9dd99f239b4251ac4ab3326d2b1ba6d3482b85
Author: Vladimir Serbinenko (phcoder at google.com)
Date: 2020-10-25T22:49:01+01:00

Commit Message:
HADESCH: Fix decoder closing handling in catacombs

Changed paths:
    engines/hadesch/rooms/catacombs.cpp


diff --git a/engines/hadesch/rooms/catacombs.cpp b/engines/hadesch/rooms/catacombs.cpp
index 84fab752a5..3525cb5ab6 100644
--- a/engines/hadesch/rooms/catacombs.cpp
+++ b/engines/hadesch/rooms/catacombs.cpp
@@ -131,7 +131,7 @@ public:
 			_decoderPosition = 0;
 			renderDecoder();
 			if (!_philBangPlayed) {
-				_philBangPlayed = false;
+				_philBangPlayed = true;
 				room->playSound("SndBigBang", 22012);
 			}
 			return;
@@ -150,6 +150,11 @@ public:
 			room->playAnim("AnimDecoderArrows", 149, PlayAnimParams::disappear().partial(1, 1));
 			return;
 		}
+
+		if (name == "DecoderDone") {
+			removeDecoder();
+			return;
+		}
 	}
 
 	bool handleClickWithItem(const Common::String &name, InventoryItem item) override {
@@ -386,6 +391,19 @@ private:
 		room->enableHotzone("DecoderUp");
 	}
 
+	void removeDecoder() {
+		Common::SharedPtr<VideoRoom> room = g_vm->getVideoRoom();
+		Persistent *persistent = g_vm->getPersistent();
+		room->stopAnim("AnimDecoderScroll");
+		room->stopAnim("AnimDecoderSymbols");
+		room->selectFrame(
+			caVariantGet(persistent->_catacombDecoderSkullPosition, "SkullDecoder"), 450, 1);
+		room->stopAnim("AnimDecoderArrows");
+		room->disableHotzone("DecoderDone");
+		room->disableHotzone("DecoderDown");
+		room->disableHotzone("DecoderUp");
+	}
+
 	void handleExit(CatacombsPosition side) {
 		Common::SharedPtr<VideoRoom> room = g_vm->getVideoRoom();
 		Persistent *persistent = g_vm->getPersistent();


Commit: 5bce0aa737fdceb3fda089354a1d91fa36d79b79
    https://github.com/scummvm/scummvm/commit/5bce0aa737fdceb3fda089354a1d91fa36d79b79
Author: Vladimir Serbinenko (phcoder at google.com)
Date: 2020-10-25T22:49:01+01:00

Commit Message:
HADESCH: Fix handling of atlantis intro

Changed paths:
    engines/hadesch/rooms/crete.cpp


diff --git a/engines/hadesch/rooms/crete.cpp b/engines/hadesch/rooms/crete.cpp
index 8f5984c9a9..2f69d4d30d 100644
--- a/engines/hadesch/rooms/crete.cpp
+++ b/engines/hadesch/rooms/crete.cpp
@@ -1285,7 +1285,7 @@ TODO:
 			if (persistent->_creteIntroAtlantisBoat) {
 				persistent->_creteIntroAtlantisBoat = false;
 				room->disableMouse();
-				room->playVideo("r1180ba0", 1000, 12134, Common::Point(640, 216));
+				room->playVideo("r1180ba0", 0, 12134, Common::Point(640, 216));
 			}
 
 		}
@@ -1312,8 +1312,7 @@ TODO:
 
 		switch (persistent->_quest) {
 		case kCreteQuest:
-			if (!persistent->_roomVisited[kMinosPalaceRoom]
-			    || persistent->_creteShowAtlantisBoat) {
+			if (!persistent->_roomVisited[kMinosPalaceRoom]) {
 				room->playVideo("r1260ma0", 0);
 				break;
 			}




More information about the Scummvm-git-logs mailing list