diff options
author | Thierry Crozat | 2017-11-15 23:47:42 +0000 |
---|---|---|
committer | Thierry Crozat | 2018-01-23 02:15:40 +0000 |
commit | ee905b762a6356a6313aa9c150338991fc0dc6ed (patch) | |
tree | b43224160341fc82f76a4bfa6ad8235d5046ba6b /engines/supernova/rooms.cpp | |
parent | 58cfbb532bd5092b3159211713c146c94dacead9 (diff) | |
download | scummvm-rg350-ee905b762a6356a6313aa9c150338991fc0dc6ed.tar.gz scummvm-rg350-ee905b762a6356a6313aa9c150338991fc0dc6ed.tar.bz2 scummvm-rg350-ee905b762a6356a6313aa9c150338991fc0dc6ed.zip |
SUPERNOVA: Implement shipstart cutscene
Diffstat (limited to 'engines/supernova/rooms.cpp')
-rw-r--r-- | engines/supernova/rooms.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/supernova/rooms.cpp b/engines/supernova/rooms.cpp index b598b0dc4a..6e3c7f0e75 100644 --- a/engines/supernova/rooms.cpp +++ b/engines/supernova/rooms.cpp @@ -2138,7 +2138,7 @@ void ArsanoMeetup2::onEntrance() { if (sentenceRemoved(1, 1)) _vm->renderMessage(kStringArsanoMeetup2_2); // All spaceships have left the planet, except one ... else - _gm->shipStart(); + shipStart(); } else if (sentenceRemoved(1, 1)) _vm->renderMessage(kStringArsanoMeetup2_1); // All spaceships have left the planet @@ -2189,7 +2189,7 @@ bool ArsanoMeetup2::interact(Action verb, Object &obj1, Object &obj2) { _gm->_rooms[MEETUP2]->getObject(1)->_click = 255; _vm->renderRoom(*this); _vm->paletteBrightness(); - _gm->shipStart(); + shipStart(); if (flight) { _vm->renderImage(13, 0); _vm->paletteBrightness(); @@ -2247,6 +2247,19 @@ bool ArsanoMeetup2::interact(Action verb, Object &obj1, Object &obj2) { return true; } +void ArsanoMeetup2::shipStart() { + _gm->wait2(12); + for (int i = 2; i <= 11; ++i) { + if (i >= 9) + _gm->drawImage(i - 1 + 128); + else + setSectionVisible(i - 1, false); + _gm->drawImage(i); + _gm->wait2(2); + } + _gm->drawImage(11 + 128); +} + bool ArsanoMeetup3::interact(Action verb, Object &obj1, Object &obj2) { byte row2[6] = {1, 1, 1, 1, 0, 0}; byte row3[6] = {1, 1, 0, 0, 0, 0}; |