aboutsummaryrefslogtreecommitdiff
path: root/saga/interface.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2005-10-09 01:18:26 +0000
committerEugene Sandulenko2005-10-09 01:18:26 +0000
commitd02c35c8213b4994769d7f42ffb40c148ae991a8 (patch)
tree021f371e0d996373956bdad49e105e0dede612c1 /saga/interface.cpp
parent41b0ba9f95e87b6a2c3ad448440dfec5fdcd4e51 (diff)
downloadscummvm-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.cpp22
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) {