diff options
| author | Jaromir Wysoglad | 2019-06-25 15:57:18 +0200 | 
|---|---|---|
| committer | Thierry Crozat | 2019-07-28 15:09:14 +0100 | 
| commit | 5ddc251528b5588b9460d4e00fa90c44b34f6061 (patch) | |
| tree | 315c73669e3e0eb5f02388018f4e4f485fae8275 /engines/supernova/game-manager.cpp | |
| parent | 09975e10c2c1e635206d4f3ab9234c6ead358279 (diff) | |
| download | scummvm-rg350-5ddc251528b5588b9460d4e00fa90c44b34f6061.tar.gz scummvm-rg350-5ddc251528b5588b9460d4e00fa90c44b34f6061.tar.bz2 scummvm-rg350-5ddc251528b5588b9460d4e00fa90c44b34f6061.zip | |
SUPERNOVA: Preload exit list on room entry
Diffstat (limited to 'engines/supernova/game-manager.cpp')
| -rw-r--r-- | engines/supernova/game-manager.cpp | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/engines/supernova/game-manager.cpp b/engines/supernova/game-manager.cpp index b5bbe2e58f..e6a6943acf 100644 --- a/engines/supernova/game-manager.cpp +++ b/engines/supernova/game-manager.cpp @@ -689,6 +689,15 @@ void GameManager::roomBrightness() {  void GameManager::changeRoom(RoomId id) {  	_currentRoom = _rooms[id];  	_newRoom = true; + +	for (int i = 0; i < 25; i++) +		_exitList[i] = -1; +	for (int i = 0; i < kMaxObject; i++) { +		if (_currentRoom->getObject(i)->hasProperty(EXIT)) { +			byte r = _currentRoom->getObject(i)->_direction; +			_exitList[r] = i; +		} +	}  }  void GameManager::wait(int ticks) { | 
