diff options
| author | Paul Gilbert | 2017-07-27 22:31:24 -0400 | 
|---|---|---|
| committer | Paul Gilbert | 2017-07-27 22:31:24 -0400 | 
| commit | c1ed17ce861d7434f5b1aabb70a54cef250b6378 (patch) | |
| tree | ffeac588df7ee41ea3c2dc2eab97f88c54680c7b | |
| parent | 27f51565c3046015110fa5ca4ff16036972348dc (diff) | |
| download | scummvm-rg350-c1ed17ce861d7434f5b1aabb70a54cef250b6378.tar.gz scummvm-rg350-c1ed17ce861d7434f5b1aabb70a54cef250b6378.tar.bz2 scummvm-rg350-c1ed17ce861d7434f5b1aabb70a54cef250b6378.zip | |
TITANIC: Cleanup/renaming of inventory glyph animatin code
| -rw-r--r-- | engines/titanic/pet_control/pet_inventory.cpp | 4 | ||||
| -rw-r--r-- | engines/titanic/pet_control/pet_inventory.h | 2 | ||||
| -rw-r--r-- | engines/titanic/pet_control/pet_inventory_glyphs.cpp | 20 | ||||
| -rw-r--r-- | engines/titanic/pet_control/pet_inventory_glyphs.h | 9 | 
4 files changed, 19 insertions, 16 deletions
| diff --git a/engines/titanic/pet_control/pet_inventory.cpp b/engines/titanic/pet_control/pet_inventory.cpp index aa1bb31809..e7e8e1f02b 100644 --- a/engines/titanic/pet_control/pet_inventory.cpp +++ b/engines/titanic/pet_control/pet_inventory.cpp @@ -244,13 +244,13 @@ CGameObject *CPetInventory::getImage(int index) {  	return nullptr;  } -void CPetInventory::playMovie(CGameObject *movie, int flag) { +void CPetInventory::playMovie(CGameObject *movie, bool repeat) {  	if (_movie)  		_movie->stopMovie();  	_movie = movie;  	if (_movie) { -		if (flag) +		if (repeat)  			_movie->playMovie(0, 14, MOVIE_REPEAT);  		else  			_movie->playMovie(0); diff --git a/engines/titanic/pet_control/pet_inventory.h b/engines/titanic/pet_control/pet_inventory.h index 7efc0755d8..8a95efbc24 100644 --- a/engines/titanic/pet_control/pet_inventory.h +++ b/engines/titanic/pet_control/pet_inventory.h @@ -166,7 +166,7 @@ public:  	/**  	 * Play the animated movie for an object  	 */ -	void playMovie(CGameObject *movie, int flag); +	void playMovie(CGameObject *movie, bool repeat = true);  };  } // End of namespace Titanic diff --git a/engines/titanic/pet_control/pet_inventory_glyphs.cpp b/engines/titanic/pet_control/pet_inventory_glyphs.cpp index bda88baf44..9422eb6f3b 100644 --- a/engines/titanic/pet_control/pet_inventory_glyphs.cpp +++ b/engines/titanic/pet_control/pet_inventory_glyphs.cpp @@ -36,7 +36,7 @@ const uint ITEM_MODES[40] = {  };  void CPetInventoryGlyph::enter() { -	startBackgroundMovie(); +	startRepeatedMovie();  }  void CPetInventoryGlyph::leave() { @@ -59,7 +59,7 @@ void CPetInventoryGlyph::drawAt(CScreenManager *screenManager, const Point &pt,  		_image = nullptr;  		if (_background && isHighlighted_) {  			_background->setPosition(pt); -			startBackgroundMovie(); +			startRepeatedMovie();  		}  	} @@ -302,19 +302,19 @@ int CPetInventoryGlyph::getItemIndex(CGameObject *item, bool isLoading) {  	return movieFrame;  } -void CPetInventoryGlyph::startBackgroundMovie() { +void CPetInventoryGlyph::startRepeatedMovie() {  	if (_owner) {  		CPetInventory *section = dynamic_cast<CPetInventory *>(_owner->getOwner());  		if (section) -			section->playMovie(_background, MOVIE_REPEAT); +			section->playMovie(_background, true);  	}  } -void CPetInventoryGlyph::startForegroundMovie() { +void CPetInventoryGlyph::startSingularMovie() {  	if (_owner) {  		CPetInventory *section = dynamic_cast<CPetInventory *>(_owner->getOwner());  		if (section) -			section->playMovie(_image, MOVIE_REPEAT); +			section->playMovie(_image, false);  	}  } @@ -322,17 +322,19 @@ void CPetInventoryGlyph::stopMovie() {  	if (_owner) {  		CPetInventory *section = dynamic_cast<CPetInventory *>(_owner->getOwner());  		if (section) -			section->playMovie(nullptr, MOVIE_REPEAT); +			section->playMovie(nullptr);  	}  }  void CPetInventoryGlyph::reposition(const Point &pt) {  	if (_image) { +		// Special transformation of item to piece of Titania  		_image->setPosition(pt); -		startForegroundMovie(); +		startSingularMovie();  	} else if (_background) { +		// Standard repeating animation  		_background->setPosition(pt); -		startBackgroundMovie(); +		startRepeatedMovie();  	}  } diff --git a/engines/titanic/pet_control/pet_inventory_glyphs.h b/engines/titanic/pet_control/pet_inventory_glyphs.h index cf1cfb392b..e35ecc00f7 100644 --- a/engines/titanic/pet_control/pet_inventory_glyphs.h +++ b/engines/titanic/pet_control/pet_inventory_glyphs.h @@ -44,14 +44,15 @@ private:  	int getItemIndex(CGameObject *item, bool isLoading);  	/** -	 * Start any movie for the background +	 * Start a repeated animation for the item  	 */ -	void startBackgroundMovie(); +	void startRepeatedMovie();  	/** -	 * Start any movie for the foreground item +	 * Start a singular (non-repeating) animation for the item, +	 * such as an item's transformation into a piece of Titania   	 */ -	void startForegroundMovie(); +	void startSingularMovie();  	/**  	 * Stop any previously started foreground or background movie | 
