diff options
author | Eugene Sandulenko | 2005-08-05 23:14:11 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-08-05 23:14:11 +0000 |
commit | 005843e55bf7dc8b326d802e75e0caa35816f0de (patch) | |
tree | 6eb48f6c6dbe576060c92034077a0eeae076a12b /saga/scene.cpp | |
parent | 771373bfb92268ea90d2e0aa3760b800eb069f8b (diff) | |
download | scummvm-rg350-005843e55bf7dc8b326d802e75e0caa35816f0de.tar.gz scummvm-rg350-005843e55bf7dc8b326d802e75e0caa35816f0de.tar.bz2 scummvm-rg350-005843e55bf7dc8b326d802e75e0caa35816f0de.zip |
o Some cleanup
o Fix warnings
o Implemented IHNM changeChapter()
o WIP for metaResources
svn-id: r18618
Diffstat (limited to 'saga/scene.cpp')
-rw-r--r-- | saga/scene.cpp | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/saga/scene.cpp b/saga/scene.cpp index 2dc3365ac4..d13a9aa87b 100644 --- a/saga/scene.cpp +++ b/saga/scene.cpp @@ -472,6 +472,38 @@ void Scene::changeScene(uint16 sceneNumber, int actorsEntrance, SceneTransitionT loadScene(&sceneParams); } +void Scene::changeChapter(int chapter, int16 sceneNumber, int actorsEntrance) { + if (chapter == 6) + _vm->_interface->setLeftPortrait(0); + + freeCutawayList(); + _vm->_script->freeModules(); + // deleteAllScenes(); + + // installSomeAlarm() + + _vm->_interface->clearInventory(); + _vm->_resource->loadGlobalResources(chapter, actorsEntrance); + _vm->_interface->addToInventory(IHNM_OBJ_PROFILE); + _vm->_interface->activate(); + + if (chapter == 8 || chapter == -1) + _vm->_interface->setMode(kPanelUnknown); + else + _vm->_interface->setMode(kPanelMain); + + _vm->_script->setVerb(kVerbIHNMWalkTo); + + if (sceneNumber != -2) + changeScene(sceneNumber, actorsEntrance, kTransitionFade); +} + +void Scene::freeCutawayList() { + // TODO + // It has to be in different class + warning("STUB: freeCutawayList()"); +} + void Scene::getSlopes(int &beginSlope, int &endSlope) { beginSlope = _vm->getSceneHeight() - _sceneDescription.beginSlope; endSlope = _vm->getSceneHeight() - _sceneDescription.endSlope; @@ -675,7 +707,7 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) { q_event = _vm->_events->chain(q_event, &event); - if (loadSceneParams->transitionType == kTransitionFade ) { + if (loadSceneParams->transitionType == kTransitionFade) { _vm->_interface->setFadeMode(kFadeOut); |