aboutsummaryrefslogtreecommitdiff
path: root/saga
diff options
context:
space:
mode:
authorAndrew Kurushin2005-06-16 16:46:50 +0000
committerAndrew Kurushin2005-06-16 16:46:50 +0000
commitb16a3634bfa68de91b9a77571f5511de648a0d19 (patch)
treef784f0a8897d57b9c57eab7de21d94287f56a202 /saga
parent7539169c1defdcc7fd18ef7f4d74b670b7749f52 (diff)
downloadscummvm-rg350-b16a3634bfa68de91b9a77571f5511de648a0d19.tar.gz
scummvm-rg350-b16a3634bfa68de91b9a77571f5511de648a0d19.tar.bz2
scummvm-rg350-b16a3634bfa68de91b9a77571f5511de648a0d19.zip
placard workaround
svn-id: r18402
Diffstat (limited to 'saga')
-rw-r--r--saga/render.cpp2
-rw-r--r--saga/saveload.cpp2
-rw-r--r--saga/scene.cpp10
3 files changed, 13 insertions, 1 deletions
diff --git a/saga/render.cpp b/saga/render.cpp
index 1648b2c170..8270c5939e 100644
--- a/saga/render.cpp
+++ b/saga/render.cpp
@@ -111,7 +111,7 @@ int Render::drawScene() {
// Get mouse coordinates
mouse_pt = _vm->mousePos();
- if (!(_flags & RF_PLACARD)) {
+ if (/*_vm->_interface->getMode() != kPanelPlacard*/!(_flags & RF_PLACARD)) {
// Display scene background
_vm->_scene->draw();
diff --git a/saga/saveload.cpp b/saga/saveload.cpp
index c19550a4ac..c288b131dd 100644
--- a/saga/saveload.cpp
+++ b/saga/saveload.cpp
@@ -36,6 +36,7 @@
#include "saga/interface.h"
#include "saga/scene.h"
#include "saga/render.h"
+#include "saga/events.h"
#define CURRENT_SAGA_VER 2
@@ -225,6 +226,7 @@ void SagaEngine::load(const char *fileName) {
_scene->clearSceneQueue();
_scene->changeScene(sceneNumber, ACTOR_NO_ENTRANCE, kTransitionNoFade);
+ _events->handleEvents(0); //dissolve back grounds
if (insetSceneNumber != sceneNumber) {
_render->drawScene();
diff --git a/saga/scene.cpp b/saga/scene.cpp
index b67510a128..512d959abe 100644
--- a/saga/scene.cpp
+++ b/saga/scene.cpp
@@ -463,6 +463,16 @@ void Scene::loadScene(LoadSceneParams *loadSceneParams) {
_sceneLoaded = true;
q_event = NULL;
+
+ //fix placard bug
+ //i guess we should remove RF_PLACARD flag - and use _interface->getMode()
+ event.type = ONESHOT_EVENT;
+ event.code = GRAPHICS_EVENT;
+ event.op = EVENT_CLEARFLAG;
+ event.param = RF_PLACARD;
+
+ q_event = _vm->_events->chain(q_event, &event);
+
if (loadSceneParams->transitionType == kTransitionFade ||
loadSceneParams->transitionType == kTransitionFadeNoInterface) {