aboutsummaryrefslogtreecommitdiff
path: root/engines/dm
diff options
context:
space:
mode:
authorBendegúz Nagy2016-07-11 14:55:56 +0200
committerBendegúz Nagy2016-08-26 23:02:22 +0200
commitdd3f12c7d5b85cb8bd6644a8c9de9fe49ca4166a (patch)
tree17cbb88332f7a2ab946b5862301316cc37990b56 /engines/dm
parent8c7760bd610173740e623eeac02bf0728488b1c4 (diff)
downloadscummvm-rg350-dd3f12c7d5b85cb8bd6644a8c9de9fe49ca4166a.tar.gz
scummvm-rg350-dd3f12c7d5b85cb8bd6644a8c9de9fe49ca4166a.tar.bz2
scummvm-rg350-dd3f12c7d5b85cb8bd6644a8c9de9fe49ca4166a.zip
DM: Complete main gameloop
Diffstat (limited to 'engines/dm')
-rw-r--r--engines/dm/dm.cpp24
-rw-r--r--engines/dm/inventory.cpp19
-rw-r--r--engines/dm/inventory.h2
3 files changed, 40 insertions, 5 deletions
diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp
index 86e7000498..fd3c30ec1c 100644
--- a/engines/dm/dm.cpp
+++ b/engines/dm/dm.cpp
@@ -378,13 +378,27 @@ T0002002:
_g311_projectileDisableMovementTicks--;
_g321_stopWaitingForPlayerInput = false;
- //do {
- _eventMan->processInput();
- _eventMan->f380_processCommandQueue();
- //} while (!_g321_stopWaitingForPlayerInput /*|| !_g301_gameTimeTicking */);
+ do {
+ _eventMan->processInput();
+
+ if (_g332_stopPressingEye) {
+ _g331_pressingEye = false;
+ _g332_stopPressingEye = false;
+ _inventoryMan->f353_drawStopPressingEye();
+ } else if (_g334_stopPressingMouth) {
+ _g333_pressingMouth = false;
+ _g334_stopPressingMouth = false;
+ _inventoryMan->f350_drawStopPressingMouth();
+ }
+
+ _eventMan->f380_processCommandQueue();
+ _displayMan->updateScreen();
+ // if (!_vm->_g321_stopWaitingForPlayerInput) {
+ warning(false, "MISSING CODE: F0363_COMMAND_HighlightBoxDisable");
+ // }
+ } while (!_g321_stopWaitingForPlayerInput || !_g301_gameTimeTicking);
- _displayMan->updateScreen();
_system->delayMillis(18);
}
}
diff --git a/engines/dm/inventory.cpp b/engines/dm/inventory.cpp
index 41e325aaa8..3d61270dc8 100644
--- a/engines/dm/inventory.cpp
+++ b/engines/dm/inventory.cpp
@@ -733,4 +733,23 @@ void InventoryMan::f351_drawChampionSkillsAndStatistics() {
L1091_i_Y += 7;
}
}
+
+void InventoryMan::f350_drawStopPressingMouth() {
+ _vm->_inventoryMan->f347_drawPanel();
+ _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
+ warning(false, "Ignored code: G0587_i_HideMousePointerRequestCount");
+ _vm->_eventMan->f77_hideMouse();
+}
+
+void InventoryMan::f353_drawStopPressingEye() {
+ Thing L1100_T_LeaderHandObject;
+
+ _vm->_inventoryMan->f332_drawIconToViewport(k202_IconIndiceEyeNotLooking, 12, 13);
+ _vm->_inventoryMan->f347_drawPanel();
+ _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
+ if ((L1100_T_LeaderHandObject = _vm->_championMan->_g414_leaderHandObject) != Thing::_none) {
+ _vm->_objectMan->f34_drawLeaderObjectName(L1100_T_LeaderHandObject);
+ }
+ _vm->_eventMan->f77_hideMouse();
+}
}
diff --git a/engines/dm/inventory.h b/engines/dm/inventory.h
index 93bb17fbe6..106e4cd24d 100644
--- a/engines/dm/inventory.h
+++ b/engines/dm/inventory.h
@@ -81,6 +81,8 @@ public:
void f337_setDungeonViewPalette(); // @ F0337_INVENTORY_SetDungeonViewPalette
void f338_decreaseTorchesLightPower(); // @ F0338_INVENTORY_DecreaseTorchesLightPower_CPSE
void f351_drawChampionSkillsAndStatistics(); // @ F0351_INVENTORY_DrawChampionSkillsAndStatistics
+ void f350_drawStopPressingMouth(); // @ F0350_INVENTORY_DrawStopPressingMouth
+ void f353_drawStopPressingEye();// @ F0353_INVENTORY_DrawStopPressingEye
};