diff options
author | Eugene Sandulenko | 2014-01-24 11:25:28 -0800 |
---|---|---|
committer | Eugene Sandulenko | 2014-01-24 14:29:23 -0800 |
commit | 50bb717bccbf8b6f901f1531e93adf375ea53a5e (patch) | |
tree | 383728342903e7e3d5b577aa9dd86b95366bd172 /engines/fullpipe | |
parent | 94b2249f6911a3ce283731857ec1eaf740bd5dc4 (diff) | |
download | scummvm-rg350-50bb717bccbf8b6f901f1531e93adf375ea53a5e.tar.gz scummvm-rg350-50bb717bccbf8b6f901f1531e93adf375ea53a5e.tar.bz2 scummvm-rg350-50bb717bccbf8b6f901f1531e93adf375ea53a5e.zip |
FULLPIPE: Complete ModalCredits
Diffstat (limited to 'engines/fullpipe')
-rw-r--r-- | engines/fullpipe/modal.cpp | 68 | ||||
-rw-r--r-- | engines/fullpipe/modal.h | 13 |
2 files changed, 76 insertions, 5 deletions
diff --git a/engines/fullpipe/modal.cpp b/engines/fullpipe/modal.cpp index 043f3b19ff..2c2252811d 100644 --- a/engines/fullpipe/modal.cpp +++ b/engines/fullpipe/modal.cpp @@ -195,6 +195,8 @@ bool ModalIntro::init(int counterdiff) { } void ModalIntro::update() { + warning("STUB: ModalIntro::update()"); + if (g_fp->_currentScene) { if (_introFlags & 1) { //sceneFade(virt, g_currentScene, 1); @@ -687,6 +689,72 @@ ModalCredits::~ModalCredits() { g_fp->_sfxVolume = _sfxVolume; } +bool ModalCredits::handleMessage(ExCommand *cmd) { + if (cmd->_messageKind == 17 && cmd->_messageNum == 36 && cmd->_keyCode == 27) { + _fadeIn = false; + + return true; + } + + return false; +} + +bool ModalCredits::init(int counterdiff) { + if (_fadeIn || _fadeOut) { + _countdown--; + + if (_countdown < 0) + _fadeIn = false; + + _creditsPic->setOXY(_currX, _currY); + + if (_currY > _maxY) + _currY -= 2; + } else { + if (_parentObj) + return 0; + + ModalMainMenu *menu = new ModalMainMenu; + + g_fp->_modalObject = menu; + + menu->_field_34 = 1; + } + + return true; +} + +void ModalCredits::update() { + warning("STUB: ModalCredits::update()"); + + if (_fadeOut) { + if (_fadeIn) { + _sceneTitles->draw(); + + return; + } + } else if (_fadeIn) { + //sceneFade(virt, this->_sceneTitles, 1); // TODO + _fadeOut = 1; + + return; + } + + if (_fadeOut) { + //sceneFade(virt, this->_sceneTitles, 0); // TODO + _fadeOut = 0; + return; + } + + _sceneTitles->draw(); +} + +ModalMainMenu::ModalMainMenu() { + warning("STUB: ModalMainMenu::ModalMainMenu()"); + + _field_34 = 0; +} + void FullpipeEngine::openHelp() { warning("STUB: FullpipeEngine::openHelp()"); } diff --git a/engines/fullpipe/modal.h b/engines/fullpipe/modal.h index e9a8478055..438e341c1c 100644 --- a/engines/fullpipe/modal.h +++ b/engines/fullpipe/modal.h @@ -140,15 +140,18 @@ class ModalCredits : public BaseModalObject { virtual ~ModalCredits(); virtual bool pollEvent() { return true; } - virtual bool handleMessage(ExCommand *message) { return false; } - virtual bool init(int counterdiff) { return true; } - virtual void update() {} + virtual bool handleMessage(ExCommand *message); + virtual bool init(int counterdiff); + virtual void update(); virtual void saveload() {} }; class ModalMainMenu : public BaseModalObject { - public: - ModalMainMenu() {} +public: + int _field_34; + +public: + ModalMainMenu(); virtual ~ModalMainMenu() {} virtual bool pollEvent() { return true; } |