diff options
| -rw-r--r-- | engines/mohawk/graphics.cpp | 3 | ||||
| -rw-r--r-- | engines/mohawk/graphics.h | 2 | ||||
| -rw-r--r-- | engines/mohawk/riven.cpp | 3 | ||||
| -rw-r--r-- | engines/mohawk/riven.h | 7 | ||||
| -rw-r--r-- | engines/mohawk/riven_vars.cpp | 1 | 
5 files changed, 15 insertions, 1 deletions
| diff --git a/engines/mohawk/graphics.cpp b/engines/mohawk/graphics.cpp index 25a327bc14..35c9d478d8 100644 --- a/engines/mohawk/graphics.cpp +++ b/engines/mohawk/graphics.cpp @@ -921,7 +921,8 @@ void RivenGraphics::clearMainScreen() {  }  void RivenGraphics::fadeToBlack() { -	// Self-explanatory +	// The transition speed is forced to best here +	setTransitionSpeed(kRivenTransitionSpeedBest);  	scheduleTransition(16);  	clearMainScreen();  	runScheduledTransition(); diff --git a/engines/mohawk/graphics.h b/engines/mohawk/graphics.h index c5ce016f0a..96357bbff1 100644 --- a/engines/mohawk/graphics.h +++ b/engines/mohawk/graphics.h @@ -196,6 +196,7 @@ public:  	void scheduleTransition(uint16 id, Common::Rect rect = Common::Rect(0, 0, 608, 392));  	void runScheduledTransition();  	void fadeToBlack(); +	void setTransitionSpeed(uint32 speed) { _transitionSpeed = speed; }  	// Inventory  	void showInventory(); @@ -231,6 +232,7 @@ private:  	// Transitions  	int16 _scheduledTransition;  	Common::Rect _transitionRect; +	uint32 _transitionSpeed;  	// Inventory  	void clearInventoryArea(); diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp index ffd9621e02..3e2fa4f979 100644 --- a/engines/mohawk/riven.cpp +++ b/engines/mohawk/riven.cpp @@ -150,6 +150,9 @@ Common::Error MohawkEngine_Riven::run() {  		return Common::kNoGameDataFoundError;  	} +	// Set the transition speed +	_gfx->setTransitionSpeed(_vars["transitionmode"]); +  	// Start at main cursor  	_cursor->setCursor(kRivenMainCursor);  	_cursor->showCursor(); diff --git a/engines/mohawk/riven.h b/engines/mohawk/riven.h index 01a4fbb38c..e99a9f78fc 100644 --- a/engines/mohawk/riven.h +++ b/engines/mohawk/riven.h @@ -67,6 +67,13 @@ enum {  	StackNames = 5  }; +enum RivenTransitionSpeed { +	kRivenTransitionSpeedNone = 5000, +	kRivenTransitionSpeedFastest = 5001, +	kRivenTransitionSpeedNormal = 5002, +	kRivenTransitionSpeedBest = 5003 +}; +  // Rects for the inventory object positions (initialized in  // MohawkEngine_Riven's constructor).  extern Common::Rect *g_atrusJournalRect1; diff --git a/engines/mohawk/riven_vars.cpp b/engines/mohawk/riven_vars.cpp index 8243d2842d..ba5c343e07 100644 --- a/engines/mohawk/riven_vars.cpp +++ b/engines/mohawk/riven_vars.cpp @@ -304,6 +304,7 @@ void MohawkEngine_Riven::initVars() {  	_vars["bmagcar"] = 1;  	_vars["gnmagcar"] = 1;  	_vars["omusicplayer"] = 1; +	_vars["transitionmode"] = kRivenTransitionSpeedFastest;  	// Randomize the telescope combination  	uint32 &teleCombo = _vars["tcorrectorder"]; | 
