diff options
Diffstat (limited to 'engines')
| -rw-r--r-- | engines/gob/draw.cpp | 9 | ||||
| -rw-r--r-- | engines/gob/draw.h | 1 | ||||
| -rw-r--r-- | engines/gob/game.cpp | 2 | 
3 files changed, 11 insertions, 1 deletions
diff --git a/engines/gob/draw.cpp b/engines/gob/draw.cpp index 2168053835..1cdfc1dbf3 100644 --- a/engines/gob/draw.cpp +++ b/engines/gob/draw.cpp @@ -653,7 +653,7 @@ bool Draw::winOverlap(int16 idWin1, int16 idWin2) {   return true;  } -void Draw::closeWin (int16 i) { +void Draw::closeWin(int16 i) {  	warning("closeWin %d", i);  	if (_fascinWin[i].id == -1)  		return; @@ -665,6 +665,13 @@ void Draw::closeWin (int16 i) {  	_winCount--;  } +void Draw::closeAllWin() { +	for (int i = 0; i < 10; i++){ +		activeWin(i); +		closeWin(i); +	} +} +  int16 Draw::openWin(int16 id) {  	if (_fascinWin[id].id != -1)  		return 0; diff --git a/engines/gob/draw.h b/engines/gob/draw.h index 4f5576ac0d..467917aa13 100644 --- a/engines/gob/draw.h +++ b/engines/gob/draw.h @@ -193,6 +193,7 @@ public:  	void winDecomp(int16 x, int16 y, SurfaceDescPtr bmp);  	void activeWin(int16 id);  	void closeWin(int16 id); +	void closeAllWin();  	void restoreWin(int16 i);  	void saveWin(int16 id);  	void winMove(int16 id); diff --git a/engines/gob/game.cpp b/engines/gob/game.cpp index af9f03ecbf..ddf095a5d1 100644 --- a/engines/gob/game.cpp +++ b/engines/gob/game.cpp @@ -352,6 +352,8 @@ void Game::playTot(int16 skipPlay) {  				}  			} +			if (_vm->getGameType() == kGameTypeFascination) +				_vm->_draw->closeAllWin();  			if (_totToLoad[0] == 0)  				break;  | 
