DM: Complete main gameloop

This commit is contained in:
Bendegúz Nagy 2016-07-11 14:55:56 +02:00
parent 8c7760bd61
commit dd3f12c7d5
3 changed files with 40 additions and 5 deletions

View File

@ -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);
}
}

View File

@ -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();
}
}

View File

@ -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
};