diff options
author | Bendegúz Nagy | 2016-07-11 14:55:56 +0200 |
---|---|---|
committer | Bendegúz Nagy | 2016-08-26 23:02:22 +0200 |
commit | dd3f12c7d5b85cb8bd6644a8c9de9fe49ca4166a (patch) | |
tree | 17cbb88332f7a2ab946b5862301316cc37990b56 /engines/dm | |
parent | 8c7760bd610173740e623eeac02bf0728488b1c4 (diff) | |
download | scummvm-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.cpp | 24 | ||||
-rw-r--r-- | engines/dm/inventory.cpp | 19 | ||||
-rw-r--r-- | engines/dm/inventory.h | 2 |
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 }; |