diff options
-rw-r--r-- | engines/agi/cycle.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/engines/agi/cycle.cpp b/engines/agi/cycle.cpp index 3d9803e6e3..060dcd356c 100644 --- a/engines/agi/cycle.cpp +++ b/engines/agi/cycle.cpp @@ -89,7 +89,9 @@ void AgiEngine::newRoom(int16 newRoomNr) { break; } - if (getVersion() < 0x2000) { + uint16 agiVersion = getVersion(); + + if (agiVersion < 0x2000) { warning("STUB: NewRoom(%d)", newRoomNr); screenObjEgo->flags &= ~fDidntMove; @@ -98,9 +100,12 @@ void AgiEngine::newRoom(int16 newRoomNr) { setView(screenObjEgo, screenObjEgo->currentViewNr); } else { - if (screenObjEgo->motionType == kMotionEgo) { - screenObjEgo->motionType = kMotionNormal; - _game.vars[VM_VAR_EGO_DIRECTION] = 0; + if (agiVersion >= 0x3000) { + // this was only done in AGI3 + if (screenObjEgo->motionType == kMotionEgo) { + screenObjEgo->motionType = kMotionNormal; + _game.vars[VM_VAR_EGO_DIRECTION] = 0; + } } _game.vars[VM_VAR_BORDER_TOUCH_EGO] = 0; |