aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2005-10-08 16:25:18 +0000
committerEugene Sandulenko2005-10-08 16:25:18 +0000
commit528d2b2ca184ab92a42f96f4527cf2298bca4b09 (patch)
treec16e1d2bc43602637ec6ce9bd435f1efd05f2ef9
parentcf512d26dece10522aba3a79962faff090b44035 (diff)
downloadscummvm-rg350-528d2b2ca184ab92a42f96f4527cf2298bca4b09.tar.gz
scummvm-rg350-528d2b2ca184ab92a42f96f4527cf2298bca4b09.tar.bz2
scummvm-rg350-528d2b2ca184ab92a42f96f4527cf2298bca4b09.zip
Now most artefacts are gone and we're in proper panel mode when running
character selection. svn-id: r18961
-rw-r--r--saga/game.cpp2
-rw-r--r--saga/interface.cpp3
-rw-r--r--saga/saga.cpp7
-rw-r--r--saga/scene.cpp4
-rw-r--r--saga/scene.h2
-rw-r--r--saga/sprite.cpp2
6 files changed, 12 insertions, 8 deletions
diff --git a/saga/game.cpp b/saga/game.cpp
index 574f4df1a8..9593f707d1 100644
--- a/saga/game.cpp
+++ b/saga/game.cpp
@@ -567,7 +567,7 @@ static GameDisplayInfo IHNM_DisplayInfo = { //TODO: fill it all
640, 480, // logical width&height
0, // scene path y offset
- 618, // scene height
+ 304, // scene height
0, // status x offset
304, // status y offset
diff --git a/saga/interface.cpp b/saga/interface.cpp
index d5e4355e5e..ac9c53a2f5 100644
--- a/saga/interface.cpp
+++ b/saga/interface.cpp
@@ -257,7 +257,8 @@ void Interface::restoreMode() {
}
void Interface::setMode(int mode) {
- debug(5, "Interface::setMode %i", mode);
+ debug(0, "Interface::setMode %i", mode);
+
if (mode == kPanelMain) {
_inMainMode = true;
_saveReminderState = 1; //TODO: blinking timeout
diff --git a/saga/saga.cpp b/saga/saga.cpp
index daccf109b3..795415970a 100644
--- a/saga/saga.cpp
+++ b/saga/saga.cpp
@@ -326,9 +326,10 @@ int SagaEngine::go() {
_actor->handleSpeech(msec);
} else if (!_scene->isInIntro()) {
if (_interface->getMode() == kPanelMain ||
- _interface->getMode() == kPanelConverse ||
- _interface->getMode() == kPanelCutaway ||
- _interface->getMode() == kPanelNull)
+ _interface->getMode() == kPanelConverse ||
+ _interface->getMode() == kPanelCutaway ||
+ _interface->getMode() == kPanelNull ||
+ _interface->getMode() == kPanelChapterSelection)
_actor->direct(msec);
}
diff --git a/saga/scene.cpp b/saga/scene.cpp
index 734b59147f..909914cd4c 100644
--- a/saga/scene.cpp
+++ b/saga/scene.cpp
@@ -618,6 +618,8 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) {
else
_vm->_interface->setMode(kPanelMain);
+ _inGame = true;
+
//_vm->_script->setVerb(kVerbIHNMWalkTo); uncomment then panel will be done
if (loadSceneParams->sceneDescriptor == -2) {
@@ -800,7 +802,7 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) {
}
if (loadSceneParams->sceneProc == NULL) {
- if (!_inGame) {
+ if (!_inGame && _vm->getGameType() == GType_ITE) {
_inGame = true;
_vm->_interface->setMode(kPanelMain);
}
diff --git a/saga/scene.h b/saga/scene.h
index 8a1ad20d02..5449950b06 100644
--- a/saga/scene.h
+++ b/saga/scene.h
@@ -277,7 +277,7 @@ class Scene {
int getHeight() const {
if (_vm->_interface->getMode() == kPanelChapterSelection)
- return _vm->_gameDisplayInfo.logicalWidth;
+ return _vm->_gameDisplayInfo.logicalHeight;
else
return _vm->_gameDisplayInfo.sceneHeight;
}
diff --git a/saga/sprite.cpp b/saga/sprite.cpp
index 23ca3f6955..01fd989b80 100644
--- a/saga/sprite.cpp
+++ b/saga/sprite.cpp
@@ -118,7 +118,7 @@ void Sprite::loadList(int resourceId, SpriteList &spriteList) {
spriteInfo->height = readS2.readUint16();
if (spriteInfo->width > 100) { // FIXME: HACK
- warning("Width is too big: (%d x %d)", spriteInfo->width, spriteInfo->height);
+ warning("Sprite width is too big: (%d x %d)", spriteInfo->width, spriteInfo->height);
spriteInfo->width = spriteInfo->height = 0;
}
spriteDataPointer = spritePointer + readS2.pos();