From 62546273ca7deaf03cb1cbad6d99cf34e81ed949 Mon Sep 17 00:00:00 2001 From: Filippos Karapetis Date: Sat, 20 Feb 2016 15:30:11 +0200 Subject: SCI: Document and disable the unverified code used in GK1 --- engines/sci/graphics/screen_item32.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'engines/sci/graphics/screen_item32.cpp') diff --git a/engines/sci/graphics/screen_item32.cpp b/engines/sci/graphics/screen_item32.cpp index 58e0a1348a..25a403a70f 100644 --- a/engines/sci/graphics/screen_item32.cpp +++ b/engines/sci/graphics/screen_item32.cpp @@ -202,17 +202,22 @@ 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 (used in GK1, for the inventory items) - // TODO/FIXME: Verify this against disassembly! Check if GK1 checks this selector - // like we do here. The following bit of code is guesswork, but for now it fixes - // the inventory in GK1, and it's really only used in that game (the "visible" - // selector isn't present in any other SCI32 game) + // TODO: At this point (needs checking), GK1 seems to check for the "visible" + // selector of a plane object. If the object has such a selector, and it's set + // to 0, then the object should be hidden. + // + // This is needed for the inventory in GK1, and seemed to be used only for that + // game - the "visible" selector isn't present in any other SCI32 game. + // Possible disabled and unverified code that checks for this follows. This fixes + // the inventory in GK1. Verify against disassembly! +#if 0 if (lookupSelector(segMan, object, SELECTOR(visible), NULL, NULL) != kSelectorNone) { if (readSelectorValue(segMan, object, SELECTOR(visible)) == 0) { _fixPriority = true; _priority = -1; } } +#endif _z = readSelectorValue(segMan, object, SELECTOR(z)); _position.y -= _z; -- cgit v1.2.3