diff options
author | Eugene Sandulenko | 2005-10-09 01:18:26 +0000 |
---|---|---|
committer | Eugene Sandulenko | 2005-10-09 01:18:26 +0000 |
commit | d02c35c8213b4994769d7f42ffb40c148ae991a8 (patch) | |
tree | 021f371e0d996373956bdad49e105e0dede612c1 /saga/interface.cpp | |
parent | 41b0ba9f95e87b6a2c3ad448440dfec5fdcd4e51 (diff) | |
download | scummvm-rg350-d02c35c8213b4994769d7f42ffb40c148ae991a8.tar.gz scummvm-rg350-d02c35c8213b4994769d7f42ffb40c148ae991a8.tar.bz2 scummvm-rg350-d02c35c8213b4994769d7f42ffb40c148ae991a8.zip |
(more) Proper implementation of ChapterSelection panel. Though not all
functionality is implemented but it is enough for now. Lets select any
character.
svn-id: r18982
Diffstat (limited to 'saga/interface.cpp')
-rw-r--r-- | saga/interface.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/saga/interface.cpp b/saga/interface.cpp index c62adbdd11..383fcd573e 100644 --- a/saga/interface.cpp +++ b/saga/interface.cpp @@ -1215,7 +1215,27 @@ void Interface::handleOptionClick(const Point& mousePoint) { } void Interface::handleChapterSelectionUpdate(const Point& mousePoint) { - _vm->_script->whichObject(mousePoint); + uint16 objectId =ID_NOTHING; + int16 objectFlags; + uint16 newObjectId; + + // FIXME: Original handled more object types here. + + newObjectId = _vm->_actor->hitTest(mousePoint, true); + + if (newObjectId != ID_NOTHING) { + if (objectTypeId(newObjectId) == kGameObjectObject) { + objectId = newObjectId; + objectFlags = 0; + } else { + objectId = newObjectId; + objectFlags = kObjUseWith; + } + } + + if (objectId != _vm->_script->_pointerObject) { + _vm->_script->_pointerObject = objectId; + } } void Interface::handleChapterSelectionClick(const Point& mousePoint) { |