aboutsummaryrefslogtreecommitdiff
path: root/saga/scene.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2005-08-05 23:14:11 +0000
committerEugene Sandulenko2005-08-05 23:14:11 +0000
commit005843e55bf7dc8b326d802e75e0caa35816f0de (patch)
tree6eb48f6c6dbe576060c92034077a0eeae076a12b /saga/scene.cpp
parent771373bfb92268ea90d2e0aa3760b800eb069f8b (diff)
downloadscummvm-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.cpp34
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);