From 919db23841c24475257182f6daddea59cefb408a Mon Sep 17 00:00:00 2001 From: Matthew Stewart Date: Thu, 26 Jul 2018 00:18:32 -0400 Subject: STARTREK: Implement "BAN" files. These are background animations in various rooms, purely visual. --- engines/startrek/awaymission.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'engines/startrek/awaymission.cpp') 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++; -- cgit v1.2.3