diff options
| author | Eugene Sandulenko | 2013-10-28 23:18:33 +0200 |
|---|---|---|
| committer | Eugene Sandulenko | 2013-10-29 00:11:47 +0200 |
| commit | 727c44a72ae0051af2780200acad1e18939e552d (patch) | |
| tree | e69b2117527e77d2315a2f71091ff7d8c903c5a8 /engines/fullpipe/modal.cpp | |
| parent | 3a444f3b63d43083dde26b5f63a481ec2da9df46 (diff) | |
| download | scummvm-rg350-727c44a72ae0051af2780200acad1e18939e552d.tar.gz scummvm-rg350-727c44a72ae0051af2780200acad1e18939e552d.tar.bz2 scummvm-rg350-727c44a72ae0051af2780200acad1e18939e552d.zip | |
FULLPIPE: Implement ModalIntro::update()
Diffstat (limited to 'engines/fullpipe/modal.cpp')
| -rw-r--r-- | engines/fullpipe/modal.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index bade31828d..95ad86f695 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -180,10 +180,30 @@ bool ModalIntro::init(int counterdiff) { return true; } -bool ModalIntro::update() { - warning("STUB: ModalIntro::update()"); - - return true; +void ModalIntro::update() { + if (g_fullpipe->_currentScene) { + if (_introFlags & 1) { + //sceneFade(virt, g_currentScene, 1); + _needRedraw = 255; + _introFlags &= 0xfe; + + if (_introFlags & 0x20) + g_fullpipe->playSound(SND_INTR_019, 0); + } else if (_introFlags & 2) { + if (g_vars->sceneIntro_needBlackout) { + //vrtRectangle(*(_DWORD *)virt, 0, 0, 0, 800, 600); + g_vars->sceneIntro_needBlackout = 0; + _needRedraw = 0; + _introFlags &= 0xfd; + } else { + //sceneFade(virt, g_currentScene, 0); + _needRedraw = 0; + _introFlags &= 0xfd; + } + } else if (_needRedraw) { + g_fullpipe->_currentScene->draw(); + } + } } void ModalIntro::idle() { |
