From ca8a47700da17ef0c4de934a5fc980ca1e9de92e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Mon, 10 Jun 2013 21:46:19 -0400 Subject: VOYEUR: Add missing code from CMapResource & ViewPortListResource initialisation --- engines/voyeur/files.cpp | 7 +++++++ engines/voyeur/files.h | 1 + 2 files changed, 8 insertions(+) diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index bdbf05c633..f258e53221 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -797,6 +797,7 @@ void ViewPortResource::setupViewPort() { ViewPortListResource::ViewPortListResource(BoltFilesState &state, const byte *src) { uint count = READ_LE_UINT16(src); + _palIndex = READ_LE_UINT16(src + 2); // Load palette map byte *palData = state._curLibPtr->memberAddr(READ_LE_UINT32(src + 4)); @@ -845,6 +846,12 @@ CMapResource::CMapResource(BoltFilesState &state, const byte *src): _vm(state._v int count = _end - _start; _entries = new byte[count * 3]; Common::copy(src + 6, src + 6 + 3 * count, _entries); + + int palIndex = state._vm->_graphicsManager._viewPortListPtr->_palIndex; + if (_end > palIndex) + _end = palIndex; + if (_start > palIndex) + _start = palIndex; } CMapResource::~CMapResource() { diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index d1b3a09ac4..e24318fce1 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -272,6 +272,7 @@ class ViewPortListResource { public: Common::Array _palette; Common::Array _entries; + int _palIndex; ViewPortListResource(BoltFilesState &state, const byte *src); virtual ~ViewPortListResource() {} -- cgit v1.2.3