diff options
author | Matthew Stewart | 2018-07-26 00:18:32 -0400 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-09 08:37:30 +0200 |
commit | 919db23841c24475257182f6daddea59cefb408a (patch) | |
tree | 45e91c38d8953fe874ebe91627ae7d4190745b98 /engines/startrek/awaymission.cpp | |
parent | b1fa6126cc0429aaa378550f28d234e06d35a3aa (diff) | |
download | scummvm-rg350-919db23841c24475257182f6daddea59cefb408a.tar.gz scummvm-rg350-919db23841c24475257182f6daddea59cefb408a.tar.bz2 scummvm-rg350-919db23841c24475257182f6daddea59cefb408a.zip |
STARTREK: Implement "BAN" files.
These are background animations in various rooms, purely visual.
Diffstat (limited to 'engines/startrek/awaymission.cpp')
-rw-r--r-- | engines/startrek/awaymission.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/engines/startrek/awaymission.cpp b/engines/startrek/awaymission.cpp index c3fe9f732d..158d8c6ece 100644 --- a/engines/startrek/awaymission.cpp +++ b/engines/startrek/awaymission.cpp @@ -109,7 +109,12 @@ void StarTrekEngine::loadRoom(const Common::String &missionName, int roomIndex) int16 den = _room->getMaxY() - _room->getMinY() + 1; _playerActorScale = Fixed16(num) / den; - // TODO: RDF vars 1e/1f and 20/21; relates to BAN files? + int16 addr = _room->getBanDataStart(); + while (addr != _room->getBanDataEnd()) { + Common::String name((char *)&_room->_rdfData[addr]); + loadBanFile(name); + addr += strlen((char *)&_room->_rdfData[addr]) + 1; + } _actionQueue.clear(); } @@ -181,10 +186,13 @@ void StarTrekEngine::handleAwayMissionEvents() { case TREKEVENT_TICK: updateActorAnimations(); updateCrewmanGetupTimers(); + updateMouseBitmap(); - // doSomethingWithBanData1(); - _gfx->drawAllSprites(); - // doSomethingWithBanData2(); + renderBanBelowSprites(); + _gfx->drawAllSprites(false); + renderBanAboveSprites(); + _gfx->updateScreen(); + _sound->checkLoopMusic(); updateAwayMissionTimers(); _frameIndex++; |