From b3b6de4fd0dedfbf913a433d1a93cf186a678e70 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 20 Feb 2016 13:56:13 +0200 Subject: SCI: Handle the "visible" object selector. Fixes the inventory in GK1 --- engines/sci/graphics/screen_item32.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'engines/sci/graphics') diff --git a/engines/sci/graphics/screen_item32.cpp b/engines/sci/graphics/screen_item32.cpp index 6b169be6ac..98d65406a6 100644 --- a/engines/sci/graphics/screen_item32.cpp +++ b/engines/sci/graphics/screen_item32.cpp @@ -202,6 +202,15 @@ void ScreenItem::setFromObject(SegManager *segMan, const reg_t object, const boo writeSelectorValue(segMan, object, SELECTOR(priority), _position.y); } + // Check if the entry should be hidden + // TODO: Verify this against disassembly! + if (lookupSelector(segMan, object, SELECTOR(visible), NULL, NULL) != kSelectorNone) { + if (readSelectorValue(segMan, object, SELECTOR(visible)) == 0) { + _fixPriority = true; + _priority = -1; + } + } + _z = readSelectorValue(segMan, object, SELECTOR(z)); _position.y -= _z; -- cgit v1.2.3