diff options
Diffstat (limited to 'engines/igor/parts/part_27.cpp')
-rw-r--r-- | engines/igor/parts/part_27.cpp | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/engines/igor/parts/part_27.cpp b/engines/igor/parts/part_27.cpp index 5d06e946a8..59e0eb0411 100644 --- a/engines/igor/parts/part_27.cpp +++ b/engines/igor/parts/part_27.cpp @@ -173,6 +173,9 @@ void IgorEngine::PART_27_ACTION_108() { } addObjectToInventory(23, 58); PART_27_HELPER_1(1); + if (_gameVersion == kIdEngDemo110) { + ++_demoActionsCounter; + } } void IgorEngine::PART_27_ACTION_110() { @@ -193,6 +196,9 @@ void IgorEngine::PART_27_ACTION_110() { removeObjectFromInventory(55); PART_27_HELPER_1(255); _objectsState[107] = 1; + if (_gameVersion == kIdEngDemo110) { + ++_demoActionsCounter; + } } void IgorEngine::PART_27_HELPER_1(int num) { @@ -272,24 +278,11 @@ void IgorEngine::PART_27() { } else { PART_27_HELPER_5(); } - showCursor(); - _gameState.igorMoving = false; + enterPartLoop(); while (_currentPart == 270 || _currentPart == 271) { - handleRoomInput(); - if (compareGameTick(1, 16)) { - handleRoomIgorWalk(); - } - if (compareGameTick(19, 32)) { - handleRoomDialogue(); - } - if (compareGameTick(4, 8)) { - handleRoomInventoryScroll(); - } - if (compareGameTick(1)) { - handleRoomLight(); - } - waitForTimer(); + runPartLoop(); } + leavePartLoop(); fadeOutPalette(624); } |