aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/hotspots.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lure/hotspots.cpp')
-rw-r--r--engines/lure/hotspots.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp
index 32b6f8d581..9d87744610 100644
--- a/engines/lure/hotspots.cpp
+++ b/engines/lure/hotspots.cpp
@@ -78,12 +78,6 @@ Hotspot::Hotspot(HotspotData *res): _pathFinder(this) {
_tickHandler = HotspotTickHandlers::getHandler(_data->tickProcId);
_nameBuffer[0] = '\0';
- if (_hotspotId < FIRST_NONCHARACTER_ID) {
- // Default characters to facing upwards until they start moving
- _direction = UP;
- setFrameNumber(_anim->upFrame);
- }
-
_skipFlag = false;
_charRectY = 0;
_voiceCtr = 0;
@@ -515,7 +509,6 @@ void Hotspot::endAction() {
_voiceCtr = 0;
setActionCtr(0);
if (_hotspotId == PLAYER_ID)
- //Room::getReference().setCursorState(CS_NONE); **DEBUG**
room.setCursorState((CursorState) ((int) room.cursorState() & 2));
if (_currentActions.top().hasSupportData()) {
@@ -1247,13 +1240,17 @@ void Hotspot::doAction(Action action, HotspotData *hotspot) {
}
void Hotspot::doNothing(HotspotData *hotspot) {
- _currentActions.pop();
if (!_currentActions.isEmpty()) {
- setBlockedFlag(false);
- currentActions().top().setAction(DISPATCH_ACTION);
- } else if (hotspotId() == PLAYER_ID) {
- Room::getReference().setCursorState(CS_NONE);
+ _currentActions.pop();
+ if (!_currentActions.isEmpty()) {
+ setBlockedFlag(false);
+ currentActions().top().setAction(DISPATCH_ACTION);
+ return;
+ }
}
+
+ if (hotspotId() == PLAYER_ID)
+ Room::getReference().setCursorState(CS_NONE);
}
void Hotspot::doGet(HotspotData *hotspot) {
@@ -2825,6 +2822,7 @@ void HotspotTickHandlers::playerAnimHandler(Hotspot &h) {
// Make sure there is no longer any destination
h.setDestHotspot(0);
h.updateMovement2(CHARMODE_IDLE);
+ h.doNothing(NULL);
strcpy(room.statusLine(), "");
break;