diff options
Diffstat (limited to 'saga')
-rw-r--r-- | saga/scene.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/saga/scene.cpp b/saga/scene.cpp index 951e3896b2..1e1ac21434 100644 --- a/saga/scene.cpp +++ b/saga/scene.cpp @@ -1189,11 +1189,18 @@ void Scene::endScene() { _vm->_script->_skipSpeeches = false; // Copy current screen to render buffer so inset rooms will get proper background - backBuffer= _vm->_gfx->getBackBuffer(); backGroundSurface = _vm->_render->getBackGroundSurface(); - backBuffer->getRect(rect); + if (!(_sceneDescription.flags & kSceneFlagISO)) { + BGInfo bgInfo; + + _vm->_scene->getBGInfo(bgInfo); + backGroundSurface->blit(bgInfo.bounds, bgInfo.buffer); + } else { + backBuffer = _vm->_gfx->getBackBuffer(); + backBuffer->getRect(rect); + backGroundSurface->blit(rect, (const byte *)backBuffer->pixels); + } - backGroundSurface->blit(rect, (const byte *)backBuffer->pixels); // Free scene background if (_bg.loaded) { free(_bg.buf); |