aboutsummaryrefslogtreecommitdiff
path: root/engines/igor/parts/part_16.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/igor/parts/part_16.cpp')
-rw-r--r--engines/igor/parts/part_16.cpp23
1 files changed, 6 insertions, 17 deletions
diff --git a/engines/igor/parts/part_16.cpp b/engines/igor/parts/part_16.cpp
index aeff170bc5..01b1e7a32f 100644
--- a/engines/igor/parts/part_16.cpp
+++ b/engines/igor/parts/part_16.cpp
@@ -71,6 +71,9 @@ void IgorEngine::PART_16_ACTION_101() {
}
addObjectToInventory(20, 55);
_objectsState[52] = 1;
+ if (_gameVersion == kIdEngDemo110) {
+ ++_demoActionsCounter;
+ }
ADD_DIALOGUE_TEXT(204, 3);
SET_DIALOGUE_TEXT(1, 1);
startIgorDialogue();
@@ -271,25 +274,11 @@ void IgorEngine::PART_16() {
if (_objectsState[65] == 2 && _inventoryInfo[71] != 0 && _objectsState[76] == 1) {
PART_16_HELPER_3();
}
- showCursor();
- _gameState.igorMoving = false;
+ enterPartLoop();
while (_currentPart == 160) {
- handleRoomInput();
- if (compareGameTick(1, 16)) {
- handleRoomIgorWalk();
- }
- if (compareGameTick(19, 32)) {
- handleRoomDialogue();
- }
- if (compareGameTick(4, 8)) {
- handleRoomInventoryScroll();
- }
- if (compareGameTick(1)) {
- handleRoomLight();
- }
- waitForTimer();
+ runPartLoop();
}
- hideCursor();
+ leavePartLoop();
fadeOutPalette(624);
}