diff options
Diffstat (limited to 'engines/fullpipe/scenes.cpp')
-rw-r--r-- | engines/fullpipe/scenes.cpp | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 4b50763e8c..bb141d98c4 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -519,6 +519,17 @@ int FullpipeEngine::getSceneFromTag(int tag) { return 1; } +void FullpipeEngine::sceneAutoScrolling() { + if (_aniMan2 == _aniMan && _currentScene && !_currentScene->_messageQueueId) { + if (800 - _mouseScreenPos.x >= 47 || _sceneRect.right >= _sceneWidth - 1 || _aniMan->_ox <= _sceneRect.left + 230) { + if (_mouseScreenPos.x < 47 && _sceneRect.left > 0 && _aniMan->_ox < _sceneRect.right - 230) + _currentScene->_x = -10; + } else { + _currentScene->_x = 10; + } + } +} + bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { GameVar *sceneVar; Common::Point sceneDim; @@ -542,8 +553,8 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { _aniMan->setOXY(0, 0); _aniMan->clearFlags(); - _aniMan->_callback1 = 0; - _aniMan->_callback2 = 0; + _aniMan->_callback1 = 0; // Really NULL + _aniMan->_callback2 = 0; // Really NULL _aniMan->_shadowsOn = 1; _scrollSpeed = 8; @@ -605,12 +616,23 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { case SC_INTRO1: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_INTRO1"); scene->preloadMovements(sceneVar); - sceneIntro_initScene(scene); + + if (!(g_fp->isDemo() && g_fp->getLanguage() == Common::RU_RUS)) + sceneIntro_initScene(scene); + else + sceneIntroDemo_initScene(scene); + _behaviorManager->initBehavior(scene, sceneVar); scene->initObjectCursors("SC_INTRO1"); setSceneMusicParameters(sceneVar); - addMessageHandler(sceneHandlerIntro, 2); - _updateCursorCallback = sceneIntro_updateCursor; + + if (!(g_fp->isDemo() && g_fp->getLanguage() == Common::RU_RUS)) { + addMessageHandler(sceneHandlerIntro, 2); + _updateCursorCallback = sceneIntro_updateCursor; + } else { + addMessageHandler(sceneHandlerIntroDemo, 2); + _updateCursorCallback = sceneIntroDemo_updateCursor; + } break; case SC_1: |