From b16a3634bfa68de91b9a77571f5511de648a0d19 Mon Sep 17 00:00:00 2001 From: Andrew Kurushin Date: Thu, 16 Jun 2005 16:46:50 +0000 Subject: placard workaround svn-id: r18402 --- saga/render.cpp | 2 +- saga/saveload.cpp | 2 ++ saga/scene.cpp | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'saga') 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) { -- cgit v1.2.3