DM: Rename class members in EventManager

This commit is contained in:
Strangerke 2016-08-25 08:12:23 +02:00 committed by Bendegúz Nagy
parent 36e6eac2f3
commit 0d5f9a762e
10 changed files with 494 additions and 501 deletions

View File

@ -442,7 +442,7 @@ bool ChampionMan::hasObjectIconInSlotBoxChanged(int16 slotBoxIndex, Thing thing)
if (newIconIndex != currIconIndex) { if (newIconIndex != currIconIndex) {
if ((slotBoxIndex < k8_SlotBoxInventoryFirstSlot) && !_mousePointerHiddenToDrawChangedObjIconOnScreen) { if ((slotBoxIndex < k8_SlotBoxInventoryFirstSlot) && !_mousePointerHiddenToDrawChangedObjIconOnScreen) {
_mousePointerHiddenToDrawChangedObjIconOnScreen = true; _mousePointerHiddenToDrawChangedObjIconOnScreen = true;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
objMan.f38_drawIconInSlotBox(slotBoxIndex, newIconIndex); objMan.f38_drawIconInSlotBox(slotBoxIndex, newIconIndex);
return true; return true;
@ -470,9 +470,9 @@ void ChampionMan::drawChangedObjectIcons() {
IconIndice iconIndex = objMan.f33_getIconIndex(_leaderHandObject); IconIndice iconIndex = objMan.f33_getIconIndex(_leaderHandObject);
if (iconIndex != leaderHandObjIconIndex) { if (iconIndex != leaderHandObjIconIndex) {
_mousePointerHiddenToDrawChangedObjIconOnScreen = true; _mousePointerHiddenToDrawChangedObjIconOnScreen = true;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
objMan.f36_extractIconFromBitmap(iconIndex, objMan._g412_objectIconForMousePointer); objMan.f36_extractIconFromBitmap(iconIndex, objMan._g412_objectIconForMousePointer);
_vm->_eventMan->f68_setPointerToObject(_vm->_objectMan->_g412_objectIconForMousePointer); _vm->_eventMan->setPointerToObject(_vm->_objectMan->_g412_objectIconForMousePointer);
_leaderHandObjectIconIndex = iconIndex; _leaderHandObjectIconIndex = iconIndex;
objMan.f34_drawLeaderObjectName(_leaderHandObject); objMan.f34_drawLeaderObjectName(_leaderHandObject);
} }
@ -517,7 +517,7 @@ void ChampionMan::drawChangedObjectIcons() {
} }
if (_mousePointerHiddenToDrawChangedObjIconOnScreen) if (_mousePointerHiddenToDrawChangedObjIconOnScreen)
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
} }
void ChampionMan::addObjectInSlot(ChampionIndex champIndex, Thing thing, ChampionSlot slotIndex) { void ChampionMan::addObjectInSlot(ChampionIndex champIndex, Thing thing, ChampionSlot slotIndex) {
@ -607,10 +607,10 @@ Thing ChampionMan::getObjectRemovedFromLeaderHand() {
if (leaderHandObject != Thing::_none) { if (leaderHandObject != Thing::_none) {
_leaderHandObject = Thing::_none; _leaderHandObject = Thing::_none;
_leaderHandObjectIconIndex = kM1_IconIndiceNone; _leaderHandObjectIconIndex = kM1_IconIndiceNone;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_objectMan->f35_clearLeaderObjectName(); _vm->_objectMan->f35_clearLeaderObjectName();
_vm->_eventMan->f69_setMousePointer(); _vm->_eventMan->setMousePointer();
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
if (_leaderIndex != kM1_ChampionNone) { if (_leaderIndex != kM1_ChampionNone) {
_champions[_leaderIndex]._load -= _vm->_dungeonMan->getObjectWeight(leaderHandObject); _champions[_leaderIndex]._load -= _vm->_dungeonMan->getObjectWeight(leaderHandObject);
setFlag(_champions[_leaderIndex]._attributes, k0x0200_ChampionAttributeLoad); setFlag(_champions[_leaderIndex]._attributes, k0x0200_ChampionAttributeLoad);
@ -902,11 +902,11 @@ void ChampionMan::wakeUp() {
_vm->_waitForInputMaxVerticalBlankCount = 10; _vm->_waitForInputMaxVerticalBlankCount = 10;
_vm->delay(10); _vm->delay(10);
_vm->_displayMan->f98_drawFloorAndCeiling(); _vm->_displayMan->f98_drawFloorAndCeiling();
_vm->_eventMan->_g441_primaryMouseInput = _vm->_eventMan->_primaryMouseInputInterface; _vm->_eventMan->_primaryMouseInput = _vm->_eventMan->_primaryMouseInputInterface;
_vm->_eventMan->_g442_secondaryMouseInput = _vm->_eventMan->_secondaryMouseInputMovement; _vm->_eventMan->_secondaryMouseInput = _vm->_eventMan->_secondaryMouseInputMovement;
_vm->_eventMan->_g443_primaryKeyboardInput = _vm->_eventMan->_primaryKeyboardInputInterface; _vm->_eventMan->_primaryKeyboardInput = _vm->_eventMan->_primaryKeyboardInputInterface;
_vm->_eventMan->_g444_secondaryKeyboardInput = _vm->_eventMan->_secondaryKeyboardInputMovement; _vm->_eventMan->_secondaryKeyboardInput = _vm->_eventMan->_secondaryKeyboardInputMovement;
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
_vm->_menuMan->f457_drawEnabledMenus(); _vm->_menuMan->f457_drawEnabledMenus();
} }
@ -1197,15 +1197,15 @@ void ChampionMan::putObjectInLeaderHand(Thing thing, bool setMousePointer) {
_leaderEmptyHanded = false; _leaderEmptyHanded = false;
_vm->_objectMan->f36_extractIconFromBitmap(_leaderHandObjectIconIndex = _vm->_objectMan->f33_getIconIndex(_leaderHandObject = thing), _vm->_objectMan->_g412_objectIconForMousePointer); _vm->_objectMan->f36_extractIconFromBitmap(_leaderHandObjectIconIndex = _vm->_objectMan->f33_getIconIndex(_leaderHandObject = thing), _vm->_objectMan->_g412_objectIconForMousePointer);
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_objectMan->f34_drawLeaderObjectName(thing); _vm->_objectMan->f34_drawLeaderObjectName(thing);
if (setMousePointer) if (setMousePointer)
_vm->_setMousePointerToObjectInMainLoop = true; _vm->_setMousePointerToObjectInMainLoop = true;
else else
_vm->_eventMan->f68_setPointerToObject(_vm->_objectMan->_g412_objectIconForMousePointer); _vm->_eventMan->setPointerToObject(_vm->_objectMan->_g412_objectIconForMousePointer);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
if (_leaderIndex != kM1_ChampionNone) { if (_leaderIndex != kM1_ChampionNone) {
_champions[_leaderIndex]._load += _vm->_dungeonMan->getObjectWeight(thing); _champions[_leaderIndex]._load += _vm->_dungeonMan->getObjectWeight(thing);
setFlag(_champions[_leaderIndex]._attributes, k0x0200_ChampionAttributeLoad); setFlag(_champions[_leaderIndex]._attributes, k0x0200_ChampionAttributeLoad);
@ -1322,7 +1322,7 @@ void ChampionMan::clickOnSlotBox(uint16 slotBoxIndex) {
if ((leaderHandObject != Thing::_none) && (!(_vm->_dungeonMan->_objectInfo[_vm->_dungeonMan->getObjectInfoIndex(leaderHandObject)]._allowedSlots & _slotMasks[slotIndex]))) if ((leaderHandObject != Thing::_none) && (!(_vm->_dungeonMan->_objectInfo[_vm->_dungeonMan->getObjectInfoIndex(leaderHandObject)]._allowedSlots & _slotMasks[slotIndex])))
return; return;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
if (leaderHandObject != Thing::_none) if (leaderHandObject != Thing::_none)
getObjectRemovedFromLeaderHand(); getObjectRemovedFromLeaderHand();
@ -1335,7 +1335,7 @@ void ChampionMan::clickOnSlotBox(uint16 slotBoxIndex) {
addObjectInSlot((ChampionIndex)champIndex, leaderHandObject, (ChampionSlot)slotIndex); addObjectInSlot((ChampionIndex)champIndex, leaderHandObject, (ChampionSlot)slotIndex);
drawChampionState((ChampionIndex)champIndex); drawChampionState((ChampionIndex)champIndex);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
bool ChampionMan::isProjectileSpellCast(uint16 champIndex, Thing thing, int16 kineticEnergy, uint16 requiredManaAmount) { bool ChampionMan::isProjectileSpellCast(uint16 champIndex, Thing thing, int16 kineticEnergy, uint16 requiredManaAmount) {
@ -1395,7 +1395,7 @@ void ChampionMan::applyAndDrawPendingDamageAndWounds() {
Box blitBox; Box blitBox;
blitBox._y1 = 0; blitBox._y1 = 0;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
if (_vm->indexToOrdinal(championIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) { if (_vm->indexToOrdinal(championIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) {
blitBox._y2 = 28; blitBox._y2 = 28;
@ -1441,7 +1441,7 @@ void ChampionMan::applyAndDrawPendingDamageAndWounds() {
_vm->_timeline->f236_fixChronology(_vm->_timeline->f235_getIndex(eventIndex)); _vm->_timeline->f236_fixChronology(_vm->_timeline->f235_getIndex(eventIndex));
} }
drawChampionState((ChampionIndex)championIndex); drawChampionState((ChampionIndex)championIndex);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
} }
} }
@ -1453,17 +1453,17 @@ void ChampionMan::championKill(uint16 champIndex) {
if (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) { if (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) {
if (_vm->_pressingEye) { if (_vm->_pressingEye) {
_vm->_pressingEye = false; _vm->_pressingEye = false;
_vm->_eventMan->_g597_ignoreMouseMovements = false; _vm->_eventMan->_ignoreMouseMovements = false;
if (!_leaderEmptyHanded) { if (!_leaderEmptyHanded) {
_vm->_objectMan->f34_drawLeaderObjectName(_leaderHandObject); _vm->_objectMan->f34_drawLeaderObjectName(_leaderHandObject);
} }
_vm->_eventMan->_g587_hideMousePointerRequestCount = 1; _vm->_eventMan->_hideMousePointerRequestCount = 1;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} else if (_vm->_pressingMouth) { } else if (_vm->_pressingMouth) {
_vm->_pressingMouth = false; _vm->_pressingMouth = false;
_vm->_eventMan->_g597_ignoreMouseMovements = false; _vm->_eventMan->_ignoreMouseMovements = false;
_vm->_eventMan->_g587_hideMousePointerRequestCount = 1; _vm->_eventMan->_hideMousePointerRequestCount = 1;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
_vm->_inventoryMan->f355_toggleInventory(k4_ChampionCloseInventory); _vm->_inventoryMan->f355_toggleInventory(k4_ChampionCloseInventory);
} }
@ -1483,9 +1483,9 @@ void ChampionMan::championKill(uint16 champIndex) {
curChampion->_dir = _vm->_dungeonMan->_partyDir; curChampion->_dir = _vm->_dungeonMan->_partyDir;
curChampion->_maximumDamageReceived = 0; curChampion->_maximumDamageReceived = 0;
uint16 curChampionIconIndex = getChampionIconIndex(curCell, _vm->_dungeonMan->_partyDir); uint16 curChampionIconIndex = getChampionIconIndex(curCell, _vm->_dungeonMan->_partyDir);
if (_vm->indexToOrdinal(curChampionIconIndex) == _vm->_eventMan->_g599_useChampionIconOrdinalAsMousePointerBitmap) { if (_vm->indexToOrdinal(curChampionIconIndex) == _vm->_eventMan->_useChampionIconOrdinalAsMousePointerBitmap) {
_vm->_eventMan->_g598_mousePointerBitmapUpdated = true; _vm->_eventMan->_mousePointerBitmapUpdated = true;
_vm->_eventMan->_g599_useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(kM1_ChampionNone); _vm->_eventMan->_useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(kM1_ChampionNone);
} }
if (curChampion->_poisonEventCount) if (curChampion->_poisonEventCount)
@ -1507,7 +1507,7 @@ void ChampionMan::championKill(uint16 champIndex) {
} }
if (champIndex == _leaderIndex) if (champIndex == _leaderIndex)
_vm->_eventMan->f368_commandSetLeader((ChampionIndex)aliveChampionIndex); _vm->_eventMan->commandSetLeader((ChampionIndex)aliveChampionIndex);
if (champIndex == _magicCasterChampionIndex) if (champIndex == _magicCasterChampionIndex)
_vm->_menuMan->f394_setMagicCasterAndDrawSpellArea(aliveChampionIndex); _vm->_menuMan->f394_setMagicCasterAndDrawSpellArea(aliveChampionIndex);
@ -1833,7 +1833,7 @@ void ChampionMan::resetDataToStartGame() {
if ((L0787_T_Thing = _leaderHandObject) == Thing::_none) { if ((L0787_T_Thing = _leaderHandObject) == Thing::_none) {
_leaderEmptyHanded = true; _leaderEmptyHanded = true;
_leaderHandObjectIconIndex = kM1_IconIndiceNone; _leaderHandObjectIconIndex = kM1_IconIndiceNone;
_vm->_eventMan->f69_setMousePointer(); _vm->_eventMan->setMousePointer();
} else { } else {
putObjectInLeaderHand(L0787_T_Thing, true); /* This call will add the weight of the leader hand object to the Load of the leader a first time */ putObjectInLeaderHand(L0787_T_Thing, true); /* This call will add the weight of the leader hand object to the Load of the leader a first time */
} }
@ -1846,7 +1846,7 @@ void ChampionMan::resetDataToStartGame() {
drawAllChampionStates(); drawAllChampionStates();
if ((L0785_i_ChampionIndex = _leaderIndex) != kM1_ChampionNone) { if ((L0785_i_ChampionIndex = _leaderIndex) != kM1_ChampionNone) {
_leaderIndex = kM1_ChampionNone; _leaderIndex = kM1_ChampionNone;
_vm->_eventMan->f368_commandSetLeader((ChampionIndex)L0785_i_ChampionIndex); _vm->_eventMan->commandSetLeader((ChampionIndex)L0785_i_ChampionIndex);
} }
if ((L0785_i_ChampionIndex = _magicCasterChampionIndex) != kM1_ChampionNone) { if ((L0785_i_ChampionIndex = _magicCasterChampionIndex) != kM1_ChampionNone) {
_magicCasterChampionIndex = kM1_ChampionNone; _magicCasterChampionIndex = kM1_ChampionNone;
@ -1948,7 +1948,7 @@ void ChampionMan::addCandidateChampionToParty(uint16 championPortraitIndex) {
} }
_candidateChampionOrdinal = previousPartyChampionCount + 1; _candidateChampionOrdinal = previousPartyChampionCount + 1;
if (++_partyChampionCount == 1) { if (++_partyChampionCount == 1) {
_vm->_eventMan->f368_commandSetLeader(k0_ChampionFirst); _vm->_eventMan->commandSetLeader(k0_ChampionFirst);
_vm->_menuMan->_g508_refreshActionArea = true; _vm->_menuMan->_g508_refreshActionArea = true;
} else { } else {
_vm->_menuMan->f388_clearActingChampion(); _vm->_menuMan->f388_clearActingChampion();
@ -2057,7 +2057,7 @@ void ChampionMan::drawChampionBarGraphs(ChampionIndex champIndex) {
} else { } else {
barGraphHeights[barGraphIdx] = 0; barGraphHeights[barGraphIdx] = 0;
} }
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
// Strangerke - TO CHECK: if portraits, maybe the old (assembly) code is required for older versions // Strangerke - TO CHECK: if portraits, maybe the old (assembly) code is required for older versions
Box box; Box box;
@ -2080,7 +2080,7 @@ void ChampionMan::drawChampionBarGraphs(ChampionIndex champIndex) {
box._x1 += 7; box._x1 += 7;
box._x2 += 7; box._x2 += 7;
} }
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
@ -2121,7 +2121,7 @@ void ChampionMan::drawChampionState(ChampionIndex champIndex) {
bool isInventoryChampion = (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal); bool isInventoryChampion = (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal);
_vm->_displayMan->_g578_useByteBoxCoordinates = false; _vm->_displayMan->_g578_useByteBoxCoordinates = false;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
if (getFlag(championAttributes, k0x1000_ChampionAttributeStatusBox)) { if (getFlag(championAttributes, k0x1000_ChampionAttributeStatusBox)) {
Box box; Box box;
box._y1 = 0; box._y1 = 0;
@ -2158,13 +2158,13 @@ void ChampionMan::drawChampionState(ChampionIndex champIndex) {
_vm->_menuMan->f386_drawActionIcon(champIndex); _vm->_menuMan->f386_drawActionIcon(champIndex);
clearFlag(curChampion->_attributes, k0x0080_ChampionAttributeNameTitle | k0x0100_ChampionAttributeStatistics | k0x0200_ChampionAttributeLoad | k0x0400_ChampionAttributeIcon | k0x0800_ChampionAttributePanel | k0x1000_ChampionAttributeStatusBox | k0x2000_ChampionAttributeWounds | k0x4000_ChampionAttributeViewport | k0x8000_ChampionAttributeActionHand); clearFlag(curChampion->_attributes, k0x0080_ChampionAttributeNameTitle | k0x0100_ChampionAttributeStatistics | k0x0200_ChampionAttributeLoad | k0x0400_ChampionAttributeIcon | k0x0800_ChampionAttributePanel | k0x1000_ChampionAttributeStatusBox | k0x2000_ChampionAttributeWounds | k0x4000_ChampionAttributeViewport | k0x8000_ChampionAttributeActionHand);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
return; return;
} }
} }
if (!(curChampion->_currHealth)) { if (!(curChampion->_currHealth)) {
clearFlag(curChampion->_attributes, k0x0080_ChampionAttributeNameTitle | k0x0100_ChampionAttributeStatistics | k0x0200_ChampionAttributeLoad | k0x0400_ChampionAttributeIcon | k0x0800_ChampionAttributePanel | k0x1000_ChampionAttributeStatusBox | k0x2000_ChampionAttributeWounds | k0x4000_ChampionAttributeViewport | k0x8000_ChampionAttributeActionHand); clearFlag(curChampion->_attributes, k0x0080_ChampionAttributeNameTitle | k0x0100_ChampionAttributeStatistics | k0x0200_ChampionAttributeLoad | k0x0400_ChampionAttributeIcon | k0x0800_ChampionAttributePanel | k0x1000_ChampionAttributeStatusBox | k0x2000_ChampionAttributeWounds | k0x4000_ChampionAttributeViewport | k0x8000_ChampionAttributeActionHand);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
return; return;
} }
@ -2256,7 +2256,7 @@ void ChampionMan::drawChampionState(ChampionIndex champIndex) {
setFlag(championAttributes, k0x4000_ChampionAttributeViewport); setFlag(championAttributes, k0x4000_ChampionAttributeViewport);
} }
uint16 championIconIndex = getChampionIconIndex(curChampion->_cell, _vm->_dungeonMan->_partyDir); uint16 championIconIndex = getChampionIconIndex(curChampion->_cell, _vm->_dungeonMan->_partyDir);
if (getFlag(championAttributes, k0x0400_ChampionAttributeIcon) && (_vm->_eventMan->_g599_useChampionIconOrdinalAsMousePointerBitmap != _vm->indexToOrdinal(championIconIndex))) { if (getFlag(championAttributes, k0x0400_ChampionAttributeIcon) && (_vm->_eventMan->_useChampionIconOrdinalAsMousePointerBitmap != _vm->indexToOrdinal(championIconIndex))) {
_vm->_displayMan->D24_fillScreenBox(_boxChampionIcons[championIconIndex], _championColor[champIndex]); _vm->_displayMan->D24_fillScreenBox(_boxChampionIcons[championIconIndex], _championColor[champIndex]);
_vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k28_ChampionIcons), _vm->_displayMan->_g348_bitmapScreen, _boxChampionIcons[championIconIndex], getChampionIconIndex(curChampion->_dir, _vm->_dungeonMan->_partyDir) * 19, 0, k40_byteWidth, k160_byteWidthScreen, k12_ColorDarkestGray, 14, k200_heightScreen); _vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k28_ChampionIcons), _vm->_displayMan->_g348_bitmapScreen, _boxChampionIcons[championIconIndex], getChampionIconIndex(curChampion->_dir, _vm->_dungeonMan->_partyDir) * 19, 0, k40_byteWidth, k160_byteWidthScreen, k12_ColorDarkestGray, 14, k200_heightScreen);
} }
@ -2281,7 +2281,7 @@ void ChampionMan::drawChampionState(ChampionIndex champIndex) {
_vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView); _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
clearFlag(curChampion->_attributes, k0x0080_ChampionAttributeNameTitle | k0x0100_ChampionAttributeStatistics | k0x0200_ChampionAttributeLoad | k0x0400_ChampionAttributeIcon | k0x0800_ChampionAttributePanel | k0x1000_ChampionAttributeStatusBox | k0x2000_ChampionAttributeWounds | k0x4000_ChampionAttributeViewport | k0x8000_ChampionAttributeActionHand); clearFlag(curChampion->_attributes, k0x0080_ChampionAttributeNameTitle | k0x0100_ChampionAttributeStatistics | k0x0200_ChampionAttributeLoad | k0x0400_ChampionAttributeIcon | k0x0800_ChampionAttributePanel | k0x1000_ChampionAttributeStatusBox | k0x2000_ChampionAttributeWounds | k0x4000_ChampionAttributeViewport | k0x8000_ChampionAttributeActionHand);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
uint16 ChampionMan::getChampionIconIndex(int16 val, Direction dir) { uint16 ChampionMan::getChampionIconIndex(int16 val, Direction dir) {
@ -2322,7 +2322,7 @@ void ChampionMan::drawSlot(uint16 champIndex, int16 slotIndex) {
box._y2 = box._y1 + 17; box._y2 = box._y1 + 17;
if (!isInventoryChamp) if (!isInventoryChamp)
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
int16 iconIndex; int16 iconIndex;
if (thing == Thing::_none) { if (thing == Thing::_none) {
@ -2371,7 +2371,7 @@ void ChampionMan::drawSlot(uint16 champIndex, int16 slotIndex) {
_vm->_objectMan->f38_drawIconInSlotBox(slotBoxIndex, iconIndex); _vm->_objectMan->f38_drawIconInSlotBox(slotBoxIndex, iconIndex);
if (!isInventoryChamp) if (!isInventoryChamp)
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
} }
void ChampionMan::renameChampion(Champion* champ) { void ChampionMan::renameChampion(Champion* champ) {
@ -2391,10 +2391,10 @@ void ChampionMan::renameChampion(Champion* champ) {
_vm->_displayMan->f20_blitToViewport(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k27_PanelRenameChampionIndice), _vm->_inventoryMan->g32_BoxPanel, k72_byteWidth, k4_ColorCyan, 73); _vm->_displayMan->f20_blitToViewport(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k27_PanelRenameChampionIndice), _vm->_inventoryMan->g32_BoxPanel, k72_byteWidth, k4_ColorCyan, 73);
_vm->_textMan->f52_printToViewport(177, 58, k13_ColorLightestGray, "_______"); _vm->_textMan->f52_printToViewport(177, 58, k13_ColorLightestGray, "_______");
_vm->_textMan->f52_printToViewport(105, 76, k13_ColorLightestGray, "___________________"); _vm->_textMan->f52_printToViewport(105, 76, k13_ColorLightestGray, "___________________");
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView); _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
_vm->_eventMan->f67_setMousePointerToNormal(k0_pointerArrow); _vm->_eventMan->setMousePointerToNormal(k0_pointerArrow);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
uint16 curCharacterIndex = 0; uint16 curCharacterIndex = 0;
champ->_name[curCharacterIndex] = '\0'; champ->_name[curCharacterIndex] = '\0';
champ->_title[0] = '\0'; champ->_title[0] = '\0';
@ -2406,9 +2406,9 @@ void ChampionMan::renameChampion(Champion* champ) {
for (;;) { /*_Infinite loop_*/ for (;;) { /*_Infinite loop_*/
bool championTitleIsFull = ((renamedChampionStringMode == k2_RENAME_CHAMPION_TITLE) && (curCharacterIndex == 19)); bool championTitleIsFull = ((renamedChampionStringMode == k2_RENAME_CHAMPION_TITLE) && (curCharacterIndex == 19));
if (!championTitleIsFull) { if (!championTitleIsFull) {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k9_ColorGold, k12_ColorDarkestGray, underscoreCharacterString, k200_heightScreen); _vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k9_ColorGold, k12_ColorDarkestGray, underscoreCharacterString, k200_heightScreen);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
int16 curCharacter = 256; int16 curCharacter = 256;
@ -2491,9 +2491,9 @@ void ChampionMan::renameChampion(Champion* champ) {
if ((curCharacter != ' ') || curCharacterIndex != 0) { if ((curCharacter != ' ') || curCharacterIndex != 0) {
if (!championTitleIsFull) { if (!championTitleIsFull) {
renameChampionInputCharacterString[0] = curCharacter; renameChampionInputCharacterString[0] = curCharacter;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k13_ColorLightestGray, k12_ColorDarkestGray, renameChampionInputCharacterString, k200_heightScreen); _vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k13_ColorLightestGray, k12_ColorDarkestGray, renameChampionInputCharacterString, k200_heightScreen);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
renamedChampionString[curCharacterIndex++] = curCharacter; renamedChampionString[curCharacterIndex++] = curCharacter;
renamedChampionString[curCharacterIndex] = '\0'; renamedChampionString[curCharacterIndex] = '\0';
textPosX += 6; textPosX += 6;
@ -2508,9 +2508,9 @@ void ChampionMan::renameChampion(Champion* champ) {
} }
} else if (curCharacter == '\r') { // Carriage return } else if (curCharacter == '\r') { // Carriage return
if ((renamedChampionStringMode == k1_RENAME_CHAMPION_NAME) && (curCharacterIndex > 0)) { if ((renamedChampionStringMode == k1_RENAME_CHAMPION_NAME) && (curCharacterIndex > 0)) {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k13_ColorLightestGray, k12_ColorDarkestGray, underscoreCharacterString, k200_heightScreen); _vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k13_ColorLightestGray, k12_ColorDarkestGray, underscoreCharacterString, k200_heightScreen);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
renamedChampionStringMode = k2_RENAME_CHAMPION_TITLE; renamedChampionStringMode = k2_RENAME_CHAMPION_TITLE;
renamedChampionString = champ->_title; renamedChampionString = champ->_title;
textPosX = 105; textPosX = 105;
@ -2522,9 +2522,9 @@ void ChampionMan::renameChampion(Champion* champ) {
continue; continue;
if (!championTitleIsFull) { if (!championTitleIsFull) {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k13_ColorLightestGray, k12_ColorDarkestGray, underscoreCharacterString, k200_heightScreen); _vm->_textMan->f40_printTextToBitmap(_vm->_displayMan->_g348_bitmapScreen, k160_byteWidthScreen, textPosX, textPosY, k13_ColorLightestGray, k12_ColorDarkestGray, underscoreCharacterString, k200_heightScreen);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
if (curCharacterIndex == 0) { if (curCharacterIndex == 0) {
renamedChampionString = champ->_name; renamedChampionString = champ->_name;

View File

@ -125,9 +125,9 @@ void DialogMan::dialogDraw(const char *msg1, const char *msg2, const char *choic
displayBox._y2 = 168; displayBox._y2 = 168;
displayBox._x1 = 47; displayBox._x1 = 47;
displayBox._x2 = 270; displayBox._x2 = 270;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->f21_blitToScreen(_vm->_displayMan->_g296_bitmapViewport, &displayBox, k112_byteWidthViewport, kM1_ColorNoTransparency, k136_heightViewport); _vm->_displayMan->f21_blitToScreen(_vm->_displayMan->_g296_bitmapViewport, &displayBox, k112_byteWidthViewport, kM1_ColorNoTransparency, k136_heightViewport);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} else { } else {
_vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView); _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
_vm->delay(1); _vm->delay(1);
@ -170,21 +170,21 @@ int16 DialogMan::getChoice(uint16 choiceCount, uint16 dialogSetIndex, int16 driv
Box L1303_s_BoxB; Box L1303_s_BoxB;
Box L1304_s_BoxA; Box L1304_s_BoxA;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
L1298_ps_PrimaryMouseInputBackup = _vm->_eventMan->_g441_primaryMouseInput; L1298_ps_PrimaryMouseInputBackup = _vm->_eventMan->_primaryMouseInput;
L1299_ps_SecondaryMouseInputBackup = _vm->_eventMan->_g442_secondaryMouseInput; L1299_ps_SecondaryMouseInputBackup = _vm->_eventMan->_secondaryMouseInput;
L1300_ps_PrimaryKeyboardInputBackup = _vm->_eventMan->_g443_primaryKeyboardInput; L1300_ps_PrimaryKeyboardInputBackup = _vm->_eventMan->_primaryKeyboardInput;
L1301_ps_SecondaryKeyboardInputBackup = _vm->_eventMan->_g444_secondaryKeyboardInput; L1301_ps_SecondaryKeyboardInputBackup = _vm->_eventMan->_secondaryKeyboardInput;
_vm->_eventMan->_g442_secondaryMouseInput = nullptr; _vm->_eventMan->_secondaryMouseInput = nullptr;
_vm->_eventMan->_g443_primaryKeyboardInput = nullptr; _vm->_eventMan->_primaryKeyboardInput = nullptr;
_vm->_eventMan->_g444_secondaryKeyboardInput = nullptr; _vm->_eventMan->_secondaryKeyboardInput = nullptr;
_vm->_eventMan->_g441_primaryMouseInput = _vm->_eventMan->_primaryMouseInputDialogSets[dialogSetIndex][choiceCount - 1]; _vm->_eventMan->_primaryMouseInput = _vm->_eventMan->_primaryMouseInputDialogSets[dialogSetIndex][choiceCount - 1];
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
_selectedDialogChoice = 99; _selectedDialogChoice = 99;
do { do {
Common::Event key; Common::Event key;
Common::EventType eventType = _vm->_eventMan->processInput(&key); Common::EventType eventType = _vm->_eventMan->processInput(&key);
_vm->_eventMan->f380_processCommandQueue(); _vm->_eventMan->processCommandQueue();
_vm->delay(1); _vm->delay(1);
_vm->_displayMan->updateScreen(); _vm->_displayMan->updateScreen();
if ((_selectedDialogChoice == 99) && (choiceCount == 1) if ((_selectedDialogChoice == 99) && (choiceCount == 1)
@ -194,12 +194,12 @@ int16 DialogMan::getChoice(uint16 choiceCount, uint16 dialogSetIndex, int16 driv
} }
} while (_selectedDialogChoice == 99); } while (_selectedDialogChoice == 99);
_vm->_displayMan->_g578_useByteBoxCoordinates = false; _vm->_displayMan->_g578_useByteBoxCoordinates = false;
L1304_s_BoxA = _vm->_eventMan->_g441_primaryMouseInput[_selectedDialogChoice - 1]._hitbox; L1304_s_BoxA = _vm->_eventMan->_primaryMouseInput[_selectedDialogChoice - 1]._hitbox;
L1304_s_BoxA._x1 -= 3; L1304_s_BoxA._x1 -= 3;
L1304_s_BoxA._x2 += 3; L1304_s_BoxA._x2 += 3;
L1304_s_BoxA._y1 -= 3; L1304_s_BoxA._y1 -= 3;
L1304_s_BoxA._y2 += 4; L1304_s_BoxA._y2 += 4;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->_g297_drawFloorAndCeilingRequested = true; _vm->_displayMan->_g297_drawFloorAndCeilingRequested = true;
L1303_s_BoxB._x1 = 0; L1303_s_BoxB._x1 = 0;
L1303_s_BoxB._y1 = 0; L1303_s_BoxB._y1 = 0;
@ -256,13 +256,13 @@ int16 DialogMan::getChoice(uint16 choiceCount, uint16 dialogSetIndex, int16 driv
L1304_s_BoxA._y2 += 3; L1304_s_BoxA._y2 += 3;
_vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->_g296_bitmapViewport, _vm->_displayMan->_g348_bitmapScreen, _vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->_g296_bitmapViewport, _vm->_displayMan->_g348_bitmapScreen,
L1304_s_BoxA, 0, 0, k160_byteWidthScreen, k160_byteWidthScreen, kM1_ColorNoTransparency, 25, k200_heightScreen); L1304_s_BoxA, 0, 0, k160_byteWidthScreen, k160_byteWidthScreen, kM1_ColorNoTransparency, 25, k200_heightScreen);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
_vm->_eventMan->_g441_primaryMouseInput = L1298_ps_PrimaryMouseInputBackup; _vm->_eventMan->_primaryMouseInput = L1298_ps_PrimaryMouseInputBackup;
_vm->_eventMan->_g442_secondaryMouseInput = L1299_ps_SecondaryMouseInputBackup; _vm->_eventMan->_secondaryMouseInput = L1299_ps_SecondaryMouseInputBackup;
_vm->_eventMan->_g443_primaryKeyboardInput = L1300_ps_PrimaryKeyboardInputBackup; _vm->_eventMan->_primaryKeyboardInput = L1300_ps_PrimaryKeyboardInputBackup;
_vm->_eventMan->_g444_secondaryKeyboardInput = L1301_ps_SecondaryKeyboardInputBackup; _vm->_eventMan->_secondaryKeyboardInput = L1301_ps_SecondaryKeyboardInputBackup;
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
return _selectedDialogChoice; return _selectedDialogChoice;
} }
} }

View File

@ -241,8 +241,8 @@ Common::Error DMEngine::loadGameState(int slot) {
startGame(); startGame();
_restartGameRequest = false; _restartGameRequest = false;
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
return Common::kNoError; return Common::kNoError;
} }
@ -307,8 +307,8 @@ void DMEngine::initializeGame() {
startGame(); startGame();
if (_newGameFl) if (_newGameFl)
_moveSens->f267_getMoveResult(Thing::_party, kM1_MapXNotOnASquare, 0, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY); _moveSens->f267_getMoveResult(Thing::_party, kM1_MapXNotOnASquare, 0, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY);
_eventMan->f78_showMouse(); _eventMan->showMouse();
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
} }
void DMEngine::initMemoryManager() { void DMEngine::initMemoryManager() {
@ -331,16 +331,16 @@ void DMEngine::startGame() {
_pressingMouth = false; _pressingMouth = false;
_stopPressingMouth = false; _stopPressingMouth = false;
_highlightBoxInversionRequested = false; _highlightBoxInversionRequested = false;
_eventMan->_g341_highlightBoxEnabled = false; _eventMan->_highlightBoxEnabled = false;
_championMan->_partyIsSleeping = false; _championMan->_partyIsSleeping = false;
_championMan->_actingChampionOrdinal = indexToOrdinal(kM1_ChampionNone); _championMan->_actingChampionOrdinal = indexToOrdinal(kM1_ChampionNone);
_menuMan->_g509_actionAreaContainsIcons = true; _menuMan->_g509_actionAreaContainsIcons = true;
_eventMan->_g599_useChampionIconOrdinalAsMousePointerBitmap = indexToOrdinal(kM1_ChampionNone); _eventMan->_useChampionIconOrdinalAsMousePointerBitmap = indexToOrdinal(kM1_ChampionNone);
_eventMan->_g441_primaryMouseInput = _eventMan->_primaryMouseInputInterface; _eventMan->_primaryMouseInput = _eventMan->_primaryMouseInputInterface;
_eventMan->_g442_secondaryMouseInput = _eventMan->_secondaryMouseInputMovement; _eventMan->_secondaryMouseInput = _eventMan->_secondaryMouseInputMovement;
_eventMan->_g443_primaryKeyboardInput = _eventMan->_primaryKeyboardInputInterface; _eventMan->_primaryKeyboardInput = _eventMan->_primaryKeyboardInputInterface;
_eventMan->_g444_secondaryKeyboardInput = _eventMan->_secondaryKeyboardInputMovement; _eventMan->_secondaryKeyboardInput = _eventMan->_secondaryKeyboardInputMovement;
processNewPartyMap(_dungeonMan->_partyMapIndex); processNewPartyMap(_dungeonMan->_partyMapIndex);
@ -441,7 +441,7 @@ void DMEngine::gameloop() {
processNewPartyMap(_newPartyMapIndex); processNewPartyMap(_newPartyMapIndex);
_moveSens->f267_getMoveResult(Thing::_party, kM1_MapXNotOnASquare, 0, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY); _moveSens->f267_getMoveResult(Thing::_party, kM1_MapXNotOnASquare, 0, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY);
_newPartyMapIndex = kM1_mapIndexNone; _newPartyMapIndex = kM1_mapIndexNone;
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
} }
_timeline->f261_processTimeline(); _timeline->f261_processTimeline();
@ -455,19 +455,19 @@ void DMEngine::gameloop() {
_displayMan->f128_drawDungeon(_dungeonMan->_partyDir, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY); _displayMan->f128_drawDungeon(_dungeonMan->_partyDir, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY);
if (_setMousePointerToObjectInMainLoop) { if (_setMousePointerToObjectInMainLoop) {
_setMousePointerToObjectInMainLoop = false; _setMousePointerToObjectInMainLoop = false;
_eventMan->f78_showMouse(); _eventMan->showMouse();
_eventMan->f68_setPointerToObject(_objectMan->_g412_objectIconForMousePointer); _eventMan->setPointerToObject(_objectMan->_g412_objectIconForMousePointer);
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
} }
if (_eventMan->_g326_refreshMousePointerInMainLoop) { if (_eventMan->_refreshMousePointerInMainLoop) {
_eventMan->_g326_refreshMousePointerInMainLoop = false; _eventMan->_refreshMousePointerInMainLoop = false;
_eventMan->_g598_mousePointerBitmapUpdated = true; _eventMan->_mousePointerBitmapUpdated = true;
_eventMan->f78_showMouse(); _eventMan->showMouse();
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
} }
} }
_eventMan->f363_highlightBoxDisable(); _eventMan->highlightBoxDisable();
_sound->f65_playPendingSound(); _sound->f65_playPendingSound();
_championMan->applyAndDrawPendingDamageAndWounds(); _championMan->applyAndDrawPendingDamageAndWounds();
if (_championMan->_partyDead) if (_championMan->_partyDead)
@ -508,14 +508,14 @@ void DMEngine::gameloop() {
_inventoryMan->f350_drawStopPressingMouth(); _inventoryMan->f350_drawStopPressingMouth();
} }
_eventMan->f380_processCommandQueue(); _eventMan->processCommandQueue();
if (_engineShouldQuit || _loadSaveSlotAtRuntime != -1) { if (_engineShouldQuit || _loadSaveSlotAtRuntime != -1) {
_canLoadFromGMM = false; _canLoadFromGMM = false;
return; return;
} }
_displayMan->updateScreen(); _displayMan->updateScreen();
if (!_stopWaitingForPlayerInput) { if (!_stopWaitingForPlayerInput) {
_eventMan->f363_highlightBoxDisable(); _eventMan->highlightBoxDisable();
} }
_system->delayMillis(2); _system->delayMillis(2);
@ -536,10 +536,10 @@ int16 DMEngine::indexToOrdinal(int16 val) {
} }
void DMEngine::processEntrance() { void DMEngine::processEntrance() {
_eventMan->_g441_primaryMouseInput = _eventMan->_primaryMouseInputEntrance; _eventMan->_primaryMouseInput = _eventMan->_primaryMouseInputEntrance;
_eventMan->_g442_secondaryMouseInput = nullptr; _eventMan->_secondaryMouseInput = nullptr;
_eventMan->_g443_primaryKeyboardInput = nullptr; _eventMan->_primaryKeyboardInput = nullptr;
_eventMan->_g444_secondaryKeyboardInput = nullptr; _eventMan->_secondaryKeyboardInput = nullptr;
_entranceDoorAnimSteps[0] = new byte[128 * 161 * 12]; _entranceDoorAnimSteps[0] = new byte[128 * 161 * 12];
for (uint16 idx = 1; idx < 8; idx++) for (uint16 idx = 1; idx < 8; idx++)
_entranceDoorAnimSteps[idx] = _entranceDoorAnimSteps[idx - 1] + 128 * 161; _entranceDoorAnimSteps[idx] = _entranceDoorAnimSteps[idx - 1] + 128 * 161;
@ -568,14 +568,14 @@ void DMEngine::processEntrance() {
do { do {
drawEntrance(); drawEntrance();
_eventMan->f78_showMouse(); _eventMan->showMouse();
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
_newGameFl = k99_modeWaitingOnEntrance; _newGameFl = k99_modeWaitingOnEntrance;
do { do {
_eventMan->processInput(); _eventMan->processInput();
if (_engineShouldQuit) if (_engineShouldQuit)
return; return;
_eventMan->f380_processCommandQueue(); _eventMan->processCommandQueue();
_displayMan->updateScreen(); _displayMan->updateScreen();
} while (_newGameFl == k99_modeWaitingOnEntrance); } while (_newGameFl == k99_modeWaitingOnEntrance);
} while (_newGameFl == k202_CommandEntranceDrawCredits); } while (_newGameFl == k202_CommandEntranceDrawCredits);
@ -583,7 +583,7 @@ void DMEngine::processEntrance() {
//Strangerke: CHECKME: Earlier versions were using G0566_puc_Graphic534_Sound01Switch //Strangerke: CHECKME: Earlier versions were using G0566_puc_Graphic534_Sound01Switch
_sound->f060_SOUND_Play(k01_soundSWITCH, 112, 0x40, 0x40); _sound->f060_SOUND_Play(k01_soundSWITCH, 112, 0x40, 0x40);
delay(20); delay(20);
_eventMan->f78_showMouse(); _eventMan->showMouse();
if (_newGameFl) if (_newGameFl)
openEntranceDoors(); openEntranceDoors();
@ -627,12 +627,12 @@ void DMEngine::endGame(bool doNotDrawCreditsOnly) {
bool waitBeforeDrawingRestart = true; bool waitBeforeDrawingRestart = true;
_eventMan->f67_setMousePointerToNormal(k0_pointerArrow); _eventMan->setMousePointerToNormal(k0_pointerArrow);
_eventMan->f78_showMouse(); _eventMan->showMouse();
_eventMan->_g441_primaryMouseInput = nullptr; _eventMan->_primaryMouseInput = nullptr;
_eventMan->_g442_secondaryMouseInput = nullptr; _eventMan->_secondaryMouseInput = nullptr;
_eventMan->_g443_primaryKeyboardInput = nullptr; _eventMan->_primaryKeyboardInput = nullptr;
_eventMan->_g444_secondaryKeyboardInput = nullptr; _eventMan->_secondaryKeyboardInput = nullptr;
if (doNotDrawCreditsOnly && !_gameWon) { if (doNotDrawCreditsOnly && !_gameWon) {
_sound->f064_SOUND_RequestPlay_CPSD(k06_soundSCREAM, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY, k0_soundModePlayImmediately); _sound->f064_SOUND_RequestPlay_CPSD(k06_soundSCREAM, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY, k0_soundModePlayImmediately);
delay(240); delay(240);
@ -721,14 +721,14 @@ T0444017:
curPalette[1] = D03_RGB_PINK; curPalette[1] = D03_RGB_PINK;
curPalette[4] = D09_RGB_WHITE; curPalette[4] = D09_RGB_WHITE;
_eventMan->_g441_primaryMouseInput = _eventMan->_primaryMouseInputRestartGame; _eventMan->_primaryMouseInput = _eventMan->_primaryMouseInputRestartGame;
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
_displayMan->f436_STARTEND_FadeToPalette(curPalette); _displayMan->f436_STARTEND_FadeToPalette(curPalette);
for (int16 verticalBlankCount = 900; --verticalBlankCount && !_restartGameRequest; delay(1)) for (int16 verticalBlankCount = 900; --verticalBlankCount && !_restartGameRequest; delay(1))
_eventMan->f380_processCommandQueue(); _eventMan->processCommandQueue();
_eventMan->f78_showMouse(); _eventMan->showMouse();
if (_restartGameRequest) { if (_restartGameRequest) {
_displayMan->f436_STARTEND_FadeToPalette(darkBluePalette); _displayMan->f436_STARTEND_FadeToPalette(darkBluePalette);
_displayMan->fillScreen(k0_ColorBlack); _displayMan->fillScreen(k0_ColorBlack);
@ -737,8 +737,8 @@ T0444017:
if (loadgame(1) != kM1_LoadgameFailure) { if (loadgame(1) != kM1_LoadgameFailure) {
startGame(); startGame();
_restartGameRequest = false; _restartGameRequest = false;
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
return; return;
} }
} }
@ -750,7 +750,7 @@ T0444017:
_displayMan->f21_blitToScreen(_displayMan->f489_getNativeBitmapOrGraphic(k5_creditsGraphicIndice), &box, k160_byteWidthScreen, kM1_ColorNoTransparency, k200_heightScreen); _displayMan->f21_blitToScreen(_displayMan->f489_getNativeBitmapOrGraphic(k5_creditsGraphicIndice), &box, k160_byteWidthScreen, kM1_ColorNoTransparency, k200_heightScreen);
_displayMan->f436_STARTEND_FadeToPalette(_displayMan->_palCredits); _displayMan->f436_STARTEND_FadeToPalette(_displayMan->_palCredits);
_eventMan->f541_waitForMouseOrKeyActivity(); _eventMan->waitForMouseOrKeyActivity();
if (_engineShouldQuit) if (_engineShouldQuit)
return; return;
@ -830,7 +830,7 @@ void DMEngine::openEntranceDoors() {
kM1_ColorNoTransparency, 161, k200_heightScreen); kM1_ColorNoTransparency, 161, k200_heightScreen);
_displayMan->f132_blitToBitmap(rightDoorBitmap, _displayMan->_g348_bitmapScreen, rightDoorBox, 0, 0, 64, k160_byteWidthScreen, _displayMan->f132_blitToBitmap(rightDoorBitmap, _displayMan->_g348_bitmapScreen, rightDoorBox, 0, 0, 64, k160_byteWidthScreen,
kM1_ColorNoTransparency, 161, k200_heightScreen); kM1_ColorNoTransparency, 161, k200_heightScreen);
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
_displayMan->updateScreen(); _displayMan->updateScreen();
leftDoorBox._x2 -= 4; leftDoorBox._x2 -= 4;
@ -922,12 +922,12 @@ void DMEngine::drawTittle() {
} }
void DMEngine::entranceDrawCredits() { void DMEngine::entranceDrawCredits() {
_eventMan->f78_showMouse(); _eventMan->showMouse();
_displayMan->f436_STARTEND_FadeToPalette(_displayMan->_g345_aui_BlankBuffer); _displayMan->f436_STARTEND_FadeToPalette(_displayMan->_g345_aui_BlankBuffer);
_displayMan->f466_loadIntoBitmap(k5_creditsGraphicIndice, _displayMan->_g348_bitmapScreen); _displayMan->f466_loadIntoBitmap(k5_creditsGraphicIndice, _displayMan->_g348_bitmapScreen);
_displayMan->f436_STARTEND_FadeToPalette(_displayMan->_palCredits); _displayMan->f436_STARTEND_FadeToPalette(_displayMan->_palCredits);
delay(50); delay(50);
_eventMan->f541_waitForMouseOrKeyActivity(); _eventMan->waitForMouseOrKeyActivity();
_newGameFl = k202_modeEntranceDrawCredits; _newGameFl = k202_modeEntranceDrawCredits;
} }
@ -963,7 +963,7 @@ void DMEngine::fuseSequnce() {
if (_inventoryMan->_g432_inventoryChampionOrdinal) { if (_inventoryMan->_g432_inventoryChampionOrdinal) {
_inventoryMan->f355_toggleInventory(k4_ChampionCloseInventory); _inventoryMan->f355_toggleInventory(k4_ChampionCloseInventory);
} }
_eventMan->f363_highlightBoxDisable(); _eventMan->highlightBoxDisable();
_championMan->_party._magicalLightAmount = 200; _championMan->_party._magicalLightAmount = 200;
_inventoryMan->f337_setDungeonViewPalette(); _inventoryMan->f337_setDungeonViewPalette();
_championMan->_party._fireShieldDefense = _championMan->_party._spellShieldDefense = _championMan->_party._shieldDefense = 100; _championMan->_party._fireShieldDefense = _championMan->_party._spellShieldDefense = _championMan->_party._shieldDefense = 100;
@ -1074,7 +1074,7 @@ void DMEngine::fuseSequenceUpdate() {
_timeline->f261_processTimeline(); _timeline->f261_processTimeline();
_displayMan->f128_drawDungeon(_dungeonMan->_partyDir, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY); _displayMan->f128_drawDungeon(_dungeonMan->_partyDir, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY);
_sound->f65_playPendingSound(); _sound->f65_playPendingSound();
_eventMan->f357_discardAllInput(); _eventMan->discardAllInput();
_displayMan->updateScreen(); _displayMan->updateScreen();
delay(2); delay(2);
_gameTime++; /* BUG0_71 Some timings are too short on fast computers. _gameTime++; /* BUG0_71 Some timings are too short on fast computers.

View File

@ -369,53 +369,53 @@ void EventManager::initArrays() {
EventManager::EventManager(DMEngine *vm) : _vm(vm) { EventManager::EventManager(DMEngine *vm) : _vm(vm) {
_mousePos = Common::Point(0, 0); _mousePos = Common::Point(0, 0);
_dummyMapIndex = 0; _dummyMapIndex = 0;
_g436_pendingClickPresent = false; _pendingClickPresent = false;
_g437_pendingClickPos = Common::Point(0, 0); _pendingClickPos = Common::Point(0, 0);
_g615_mousePointerOriginalColorsObject = nullptr; _mousePointerOriginalColorsObject = nullptr;
_g613_mousePointerOriginalColorsChampionIcon = nullptr; _mousePointerOriginalColorsChampionIcon = nullptr;
_gK190_mousePointerTempBuffer = nullptr; _mousePointerTempBuffer = nullptr;
_g435_isCommandQueueLocked = true; _isCommandQueueLocked = true;
_gK104_mousePointerType = 0; _mousePointerType = 0;
_gK105_previousMousePointerType = 0; _previousMousePointerType = 0;
_g441_primaryMouseInput = nullptr; _primaryMouseInput = nullptr;
_g442_secondaryMouseInput = nullptr; _secondaryMouseInput = nullptr;
_g598_mousePointerBitmapUpdated = true; _mousePointerBitmapUpdated = true;
_g326_refreshMousePointerInMainLoop = false; _refreshMousePointerInMainLoop = false;
_g341_highlightBoxEnabled = false; _highlightBoxEnabled = false;
_g599_useChampionIconOrdinalAsMousePointerBitmap = 0; _useChampionIconOrdinalAsMousePointerBitmap = 0;
_g439_pendingClickButton = k0_NoneMouseButton; _pendingClickButton = k0_NoneMouseButton;
_g600_useObjectAsMousePointerBitmap = false; _useObjectAsMousePointerBitmap = false;
_g601_useHandAsMousePointerBitmap = false; _useHandAsMousePointerBitmap = false;
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
_g443_primaryKeyboardInput = nullptr; _primaryKeyboardInput = nullptr;
_g444_secondaryKeyboardInput = nullptr; _secondaryKeyboardInput = nullptr;
_g597_ignoreMouseMovements = false; _ignoreMouseMovements = false;
warning(false, "_g587_hideMousePointerRequestCount should start with value 1"); warning(false, "_g587_hideMousePointerRequestCount should start with value 1");
_g587_hideMousePointerRequestCount = 0; _hideMousePointerRequestCount = 0;
_g558_mouseButtonStatus = 0; _mouseButtonStatus = 0;
_highlightScreenBox.setToZero(); _highlightScreenBox.setToZero();
initArrays(); initArrays();
} }
EventManager::~EventManager() { EventManager::~EventManager() {
delete[] _g615_mousePointerOriginalColorsObject; delete[] _mousePointerOriginalColorsObject;
delete[] _gK190_mousePointerTempBuffer; delete[] _mousePointerTempBuffer;
delete[] _g613_mousePointerOriginalColorsChampionIcon; delete[] _mousePointerOriginalColorsChampionIcon;
} }
void EventManager::initMouse() { void EventManager::initMouse() {
static uint16 gK150_PalMousePointer[16] = {0x000, 0x666, 0x888, 0x620, 0x0CC, 0x840, 0x080, 0x0C0, 0xF00, 0xFA0, 0xC86, 0xFF0, 0x000, 0xAAA, 0x00F, 0xFFF}; // @ K0150_aui_Palette_MousePointer static uint16 gK150_PalMousePointer[16] = {0x000, 0x666, 0x888, 0x620, 0x0CC, 0x840, 0x080, 0x0C0, 0xF00, 0xFA0, 0xC86, 0xFF0, 0x000, 0xAAA, 0x00F, 0xFFF}; // @ K0150_aui_Palette_MousePointer
if (!_g615_mousePointerOriginalColorsObject) if (!_mousePointerOriginalColorsObject)
_g615_mousePointerOriginalColorsObject = new byte[32 * 18]; _mousePointerOriginalColorsObject = new byte[32 * 18];
if (!_gK190_mousePointerTempBuffer) if (!_mousePointerTempBuffer)
_gK190_mousePointerTempBuffer = new byte[32 * 18]; _mousePointerTempBuffer = new byte[32 * 18];
if (!_g613_mousePointerOriginalColorsChampionIcon) if (!_mousePointerOriginalColorsChampionIcon)
_g613_mousePointerOriginalColorsChampionIcon = new byte[32 * 18]; _mousePointerOriginalColorsChampionIcon = new byte[32 * 18];
_gK104_mousePointerType = k0_pointerArrow; _mousePointerType = k0_pointerArrow;
_gK105_previousMousePointerType = k1_pointerHand; _previousMousePointerType = k1_pointerHand;
byte mousePalette[16 * 3]; byte mousePalette[16 * 3];
for (int i = 0; i < 16; ++i) { for (int i = 0; i < 16; ++i) {
@ -426,22 +426,22 @@ void EventManager::initMouse() {
CursorMan.pushCursorPalette(mousePalette, 0, 16); CursorMan.pushCursorPalette(mousePalette, 0, 16);
_mousePos = Common::Point(0, 0); _mousePos = Common::Point(0, 0);
f73_buildpointerScreenArea(_mousePos.x, _mousePos.y); buildpointerScreenArea(_mousePos.x, _mousePos.y);
CursorMan.showMouse(false); CursorMan.showMouse(false);
setMousePos(Common::Point(320 / 2, 200 / 2)); setMousePos(Common::Point(320 / 2, 200 / 2));
} }
void EventManager::f67_setMousePointerToNormal(int16 mousePointer) { void EventManager::setMousePointerToNormal(int16 mousePointer) {
_gK100_preventBuildPointerScreenArea = true; _preventBuildPointerScreenArea = true;
_g600_useObjectAsMousePointerBitmap = false; _useObjectAsMousePointerBitmap = false;
_g601_useHandAsMousePointerBitmap = (mousePointer == k1_pointerHand); _useHandAsMousePointerBitmap = (mousePointer == k1_pointerHand);
_g598_mousePointerBitmapUpdated = true; _mousePointerBitmapUpdated = true;
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
f73_buildpointerScreenArea(_mousePos.x, _mousePos.y); buildpointerScreenArea(_mousePos.x, _mousePos.y);
} }
void EventManager::f68_setPointerToObject(byte* bitmap) { void EventManager::setPointerToObject(byte* bitmap) {
static byte palChangesMousepointerOjbectIconShadow[16] = {120, 120, 120, 120, 120, 120, 120, 120, static byte palChangesMousepointerOjbectIconShadow[16] = {120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 0, 120, 120, 120}; // @ K0027_auc_PaletteChanges_MousePointerObjectIconShadow 120, 120, 120, 120, 0, 120, 120, 120}; // @ K0027_auc_PaletteChanges_MousePointerObjectIconShadow
static byte palChangesMousePointerIcon[16] = {120, 10, 20, 30, 40, 50, 60, 70, 80, 90, static byte palChangesMousePointerIcon[16] = {120, 10, 20, 30, 40, 50, 60, 70, 80, 90,
@ -449,35 +449,35 @@ void EventManager::f68_setPointerToObject(byte* bitmap) {
static Box boxMousePointerObjectShadow(2, 17, 2, 17); // @ G0619_s_Box_MousePointer_ObjectShadow static Box boxMousePointerObjectShadow(2, 17, 2, 17); // @ G0619_s_Box_MousePointer_ObjectShadow
static Box boxMousePointerObject(0, 15, 0, 15); // @ G0620_s_Box_MousePointer_Object static Box boxMousePointerObject(0, 15, 0, 15); // @ G0620_s_Box_MousePointer_Object
_gK100_preventBuildPointerScreenArea = true; _preventBuildPointerScreenArea = true;
_g600_useObjectAsMousePointerBitmap = true; _useObjectAsMousePointerBitmap = true;
_g601_useHandAsMousePointerBitmap = false; _useHandAsMousePointerBitmap = false;
_g598_mousePointerBitmapUpdated = true; _mousePointerBitmapUpdated = true;
_vm->_displayMan->_g578_useByteBoxCoordinates = true; _vm->_displayMan->_g578_useByteBoxCoordinates = true;
byte *L0051_puc_Bitmap = _g615_mousePointerOriginalColorsObject; byte *L0051_puc_Bitmap = _mousePointerOriginalColorsObject;
memset(L0051_puc_Bitmap, 0, 32 * 18); memset(L0051_puc_Bitmap, 0, 32 * 18);
_vm->_displayMan->f129_blitToBitmapShrinkWithPalChange(bitmap, _gK190_mousePointerTempBuffer, 16, 16, 16, 16, palChangesMousepointerOjbectIconShadow); _vm->_displayMan->f129_blitToBitmapShrinkWithPalChange(bitmap, _mousePointerTempBuffer, 16, 16, 16, 16, palChangesMousepointerOjbectIconShadow);
_vm->_displayMan->f132_blitToBitmap(_gK190_mousePointerTempBuffer, L0051_puc_Bitmap, boxMousePointerObjectShadow, 0, 0, 8, 16, kM1_ColorNoTransparency, 16, 18); _vm->_displayMan->f132_blitToBitmap(_mousePointerTempBuffer, L0051_puc_Bitmap, boxMousePointerObjectShadow, 0, 0, 8, 16, kM1_ColorNoTransparency, 16, 18);
_vm->_displayMan->f129_blitToBitmapShrinkWithPalChange(bitmap, _gK190_mousePointerTempBuffer, 16, 16, 16, 16, palChangesMousePointerIcon); _vm->_displayMan->f129_blitToBitmapShrinkWithPalChange(bitmap, _mousePointerTempBuffer, 16, 16, 16, 16, palChangesMousePointerIcon);
_vm->_displayMan->f132_blitToBitmap(_gK190_mousePointerTempBuffer, L0051_puc_Bitmap, boxMousePointerObject, 0, 0, 8, 16, k0_ColorBlack, 16, 18); _vm->_displayMan->f132_blitToBitmap(_mousePointerTempBuffer, L0051_puc_Bitmap, boxMousePointerObject, 0, 0, 8, 16, k0_ColorBlack, 16, 18);
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
f73_buildpointerScreenArea(_mousePos.x, _mousePos.y); buildpointerScreenArea(_mousePos.x, _mousePos.y);
} }
void EventManager::f71_mouseDropChampionIcon() { void EventManager::mouseDropChampionIcon() {
_gK100_preventBuildPointerScreenArea = true; _preventBuildPointerScreenArea = true;
uint16 championIconIndex = _vm->ordinalToIndex(_g599_useChampionIconOrdinalAsMousePointerBitmap); uint16 championIconIndex = _vm->ordinalToIndex(_useChampionIconOrdinalAsMousePointerBitmap);
_g599_useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(kM1_ChampionNone); _useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(kM1_ChampionNone);
_g598_mousePointerBitmapUpdated = true; _mousePointerBitmapUpdated = true;
bool useByteBoxCoordinatesBackup = _vm->_displayMan->_g578_useByteBoxCoordinates; bool useByteBoxCoordinatesBackup = _vm->_displayMan->_g578_useByteBoxCoordinates;
_vm->_displayMan->f21_blitToScreen(_g613_mousePointerOriginalColorsChampionIcon, &_vm->_championMan->_boxChampionIcons[championIconIndex << 2], 16, k12_ColorDarkestGray, 18); _vm->_displayMan->f21_blitToScreen(_mousePointerOriginalColorsChampionIcon, &_vm->_championMan->_boxChampionIcons[championIconIndex << 2], 16, k12_ColorDarkestGray, 18);
_vm->_displayMan->_g578_useByteBoxCoordinates = useByteBoxCoordinatesBackup; _vm->_displayMan->_g578_useByteBoxCoordinates = useByteBoxCoordinatesBackup;
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
} }
void EventManager::f73_buildpointerScreenArea(int16 mousePosX, int16 mousePosY) { void EventManager::buildpointerScreenArea(int16 mousePosX, int16 mousePosY) {
static unsigned char bitmapArrowPointer[288] = { // @ G0042_auc_Graphic562_Bitmap_ArrowPointer static unsigned char bitmapArrowPointer[288] = { // @ G0042_auc_Graphic562_Bitmap_ArrowPointer
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00,
0x78, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00,
@ -519,81 +519,81 @@ void EventManager::f73_buildpointerScreenArea(int16 mousePosX, int16 mousePosY)
0x07, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x07, 0xFF, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}; };
_gK100_preventBuildPointerScreenArea = true; _preventBuildPointerScreenArea = true;
if (_g599_useChampionIconOrdinalAsMousePointerBitmap) { if (_useChampionIconOrdinalAsMousePointerBitmap) {
if ((mousePosY > 28) || (mousePosX < 274)) { if ((mousePosY > 28) || (mousePosX < 274)) {
_gK104_mousePointerType = k4_pointerTypeAutoselect; _mousePointerType = k4_pointerTypeAutoselect;
f71_mouseDropChampionIcon(); mouseDropChampionIcon();
} else } else
_gK104_mousePointerType = k2_pointerTypeChampionIcon; _mousePointerType = k2_pointerTypeChampionIcon;
} else if (mousePosY >= 169) } else if (mousePosY >= 169)
_gK104_mousePointerType = k0_pointerTypeArrow; _mousePointerType = k0_pointerTypeArrow;
else if (mousePosX >= 274) else if (mousePosX >= 274)
_gK104_mousePointerType = k0_pointerTypeArrow; _mousePointerType = k0_pointerTypeArrow;
else if (mousePosY <= 28) { else if (mousePosY <= 28) {
uint16 championIdx = mousePosX / 69; uint16 championIdx = mousePosX / 69;
uint16 xOverChampionStatusBox = mousePosX % 69; uint16 xOverChampionStatusBox = mousePosX % 69;
if (championIdx >= _vm->_championMan->_partyChampionCount) if (championIdx >= _vm->_championMan->_partyChampionCount)
_gK104_mousePointerType = k4_pointerTypeAutoselect; _mousePointerType = k4_pointerTypeAutoselect;
else if (xOverChampionStatusBox > 42) else if (xOverChampionStatusBox > 42)
_gK104_mousePointerType = k4_pointerTypeAutoselect; _mousePointerType = k4_pointerTypeAutoselect;
else { else {
championIdx++; championIdx++;
if (championIdx == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) if (championIdx == _vm->_inventoryMan->_g432_inventoryChampionOrdinal)
_gK104_mousePointerType = k0_pointerTypeArrow; _mousePointerType = k0_pointerTypeArrow;
else if (mousePosY <= 6) else if (mousePosY <= 6)
_gK104_mousePointerType = k0_pointerTypeArrow; _mousePointerType = k0_pointerTypeArrow;
else else
_gK104_mousePointerType = k4_pointerTypeAutoselect; _mousePointerType = k4_pointerTypeAutoselect;
} }
} else if (mousePosX >= 224) } else if (mousePosX >= 224)
_gK104_mousePointerType = k0_pointerTypeArrow; _mousePointerType = k0_pointerTypeArrow;
else else
_gK104_mousePointerType = k4_pointerTypeAutoselect; _mousePointerType = k4_pointerTypeAutoselect;
if (_gK104_mousePointerType == k4_pointerTypeAutoselect) if (_mousePointerType == k4_pointerTypeAutoselect)
_gK104_mousePointerType = (_g600_useObjectAsMousePointerBitmap) ? k1_pointerTypeObjectIcon : (_g601_useHandAsMousePointerBitmap) ? k3_pointerTypeHand : k0_pointerTypeArrow; _mousePointerType = (_useObjectAsMousePointerBitmap) ? k1_pointerTypeObjectIcon : (_useHandAsMousePointerBitmap) ? k3_pointerTypeHand : k0_pointerTypeArrow;
if (_g598_mousePointerBitmapUpdated || (_gK104_mousePointerType != _gK105_previousMousePointerType)) { if (_mousePointerBitmapUpdated || (_mousePointerType != _previousMousePointerType)) {
_g598_mousePointerBitmapUpdated = false; _mousePointerBitmapUpdated = false;
switch (_gK104_mousePointerType) { switch (_mousePointerType) {
case k0_pointerTypeArrow: case k0_pointerTypeArrow:
setMousePointerFromSpriteData(bitmapArrowPointer); setMousePointerFromSpriteData(bitmapArrowPointer);
break; break;
case k1_pointerTypeObjectIcon: case k1_pointerTypeObjectIcon:
CursorMan.replaceCursor(_g615_mousePointerOriginalColorsObject, 32, 18, 0, 0, 0); CursorMan.replaceCursor(_mousePointerOriginalColorsObject, 32, 18, 0, 0, 0);
break; break;
case k2_pointerTypeChampionIcon: case k2_pointerTypeChampionIcon:
CursorMan.replaceCursor(_g613_mousePointerOriginalColorsChampionIcon, 32, 18, 0, 0, 0); CursorMan.replaceCursor(_mousePointerOriginalColorsChampionIcon, 32, 18, 0, 0, 0);
break; break;
case k3_pointerTypeHand: case k3_pointerTypeHand:
setMousePointerFromSpriteData(bitmapHanPointer); setMousePointerFromSpriteData(bitmapHanPointer);
break; break;
} }
} }
_gK105_previousMousePointerType = _gK104_mousePointerType; _previousMousePointerType = _mousePointerType;
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
} }
void EventManager::f69_setMousePointer() { void EventManager::setMousePointer() {
if (_vm->_championMan->_leaderEmptyHanded) if (_vm->_championMan->_leaderEmptyHanded)
f67_setMousePointerToNormal((_vm->_championMan->_leaderIndex == kM1_ChampionNone) ? k0_pointerArrow : k1_pointerHand); setMousePointerToNormal((_vm->_championMan->_leaderIndex == kM1_ChampionNone) ? k0_pointerArrow : k1_pointerHand);
else else
f68_setPointerToObject(_vm->_objectMan->_g412_objectIconForMousePointer); setPointerToObject(_vm->_objectMan->_g412_objectIconForMousePointer);
} }
void EventManager::f78_showMouse() { void EventManager::showMouse() {
if (_g587_hideMousePointerRequestCount++ == 0) if (_hideMousePointerRequestCount++ == 0)
CursorMan.showMouse(true); CursorMan.showMouse(true);
} }
void EventManager::f77_hideMouse() { void EventManager::hideMouse() {
if (_g587_hideMousePointerRequestCount-- == 1) if (_hideMousePointerRequestCount-- == 1)
CursorMan.showMouse(false); CursorMan.showMouse(false);
} }
bool EventManager::isMouseButtonDown(MouseButton button) { bool EventManager::isMouseButtonDown(MouseButton button) {
return (button != k0_NoneMouseButton) ? (_g558_mouseButtonStatus & button) : (_g558_mouseButtonStatus == 0); return (button != k0_NoneMouseButton) ? (_mouseButtonStatus & button) : (_mouseButtonStatus == 0);
} }
void EventManager::setMousePos(Common::Point pos) { void EventManager::setMousePos(Common::Point pos) {
@ -618,11 +618,11 @@ Common::EventType EventManager::processInput(Common::Event *grabKey, Common::Eve
return event.type; return event.type;
} }
if (_g443_primaryKeyboardInput) { if (_primaryKeyboardInput) {
KeyboardInput *input = _g443_primaryKeyboardInput; KeyboardInput *input = _primaryKeyboardInput;
while (input->_commandToIssue != k0_CommandNone) { while (input->_commandToIssue != k0_CommandNone) {
if ((input->_key == event.kbd.keycode) && (input->_modifiers == (event.kbd.flags & input->_modifiers))) { if ((input->_key == event.kbd.keycode) && (input->_modifiers == (event.kbd.flags & input->_modifiers))) {
f360_processPendingClick(); // possible fix to BUG0_73 processPendingClick(); // possible fix to BUG0_73
_commandQueue.push(Command(Common::Point(-1, -1), input->_commandToIssue)); _commandQueue.push(Command(Common::Point(-1, -1), input->_commandToIssue));
break; break;
} }
@ -630,11 +630,11 @@ Common::EventType EventManager::processInput(Common::Event *grabKey, Common::Eve
} }
} }
if (_g444_secondaryKeyboardInput) { if (_secondaryKeyboardInput) {
KeyboardInput *input = _g444_secondaryKeyboardInput; KeyboardInput *input = _secondaryKeyboardInput;
while (input->_commandToIssue != k0_CommandNone) { while (input->_commandToIssue != k0_CommandNone) {
if ((input->_key == event.kbd.keycode) && (input->_modifiers == (event.kbd.flags & input->_modifiers))) { if ((input->_key == event.kbd.keycode) && (input->_modifiers == (event.kbd.flags & input->_modifiers))) {
f360_processPendingClick(); // possible fix to BUG0_73 processPendingClick(); // possible fix to BUG0_73
_commandQueue.push(Command(Common::Point(-1, -1), input->_commandToIssue)); _commandQueue.push(Command(Common::Point(-1, -1), input->_commandToIssue));
break; break;
} }
@ -644,27 +644,27 @@ Common::EventType EventManager::processInput(Common::Event *grabKey, Common::Eve
break; break;
} }
case Common::EVENT_MOUSEMOVE: case Common::EVENT_MOUSEMOVE:
if (!_g597_ignoreMouseMovements) if (!_ignoreMouseMovements)
_mousePos = event.mouse; _mousePos = event.mouse;
break; break;
case Common::EVENT_LBUTTONDOWN: case Common::EVENT_LBUTTONDOWN:
case Common::EVENT_RBUTTONDOWN: { case Common::EVENT_RBUTTONDOWN: {
MouseButton button = (event.type == Common::EVENT_LBUTTONDOWN) ? k1_LeftMouseButton : k2_RightMouseButton; MouseButton button = (event.type == Common::EVENT_LBUTTONDOWN) ? k1_LeftMouseButton : k2_RightMouseButton;
_g558_mouseButtonStatus |= button; _mouseButtonStatus |= button;
if (grabMouseClick) { if (grabMouseClick) {
*grabMouseClick = event; *grabMouseClick = event;
return event.type; return event.type;
} }
_g436_pendingClickPresent = true; _pendingClickPresent = true;
_g437_pendingClickPos = _mousePos; _pendingClickPos = _mousePos;
_g439_pendingClickButton = button; _pendingClickButton = button;
break; break;
} }
case Common::EVENT_LBUTTONUP: case Common::EVENT_LBUTTONUP:
case Common::EVENT_RBUTTONUP: { case Common::EVENT_RBUTTONUP: {
MouseButton button = (event.type == Common::EVENT_LBUTTONDOWN) ? k1_LeftMouseButton : k2_RightMouseButton; MouseButton button = (event.type == Common::EVENT_LBUTTONDOWN) ? k1_LeftMouseButton : k2_RightMouseButton;
_g558_mouseButtonStatus &= ~button; _mouseButtonStatus &= ~button;
f544_resetPressingEyeOrMouth(); resetPressingEyeOrMouth();
break; break;
} }
case Common::EVENT_QUIT: case Common::EVENT_QUIT:
@ -674,33 +674,33 @@ Common::EventType EventManager::processInput(Common::Event *grabKey, Common::Eve
break; break;
} }
} }
if (_g597_ignoreMouseMovements) if (_ignoreMouseMovements)
setMousePos(_mousePos); setMousePos(_mousePos);
return Common::EVENT_INVALID; return Common::EVENT_INVALID;
} }
void EventManager::f360_processPendingClick() { void EventManager::processPendingClick() {
if (_g436_pendingClickPresent) { if (_pendingClickPresent) {
_g436_pendingClickPresent = false; _pendingClickPresent = false;
f359_processClick(_g437_pendingClickPos, _g439_pendingClickButton); processClick(_pendingClickPos, _pendingClickButton);
} }
} }
void EventManager::f359_processClick(Common::Point mousePos, MouseButton button) { void EventManager::processClick(Common::Point mousePos, MouseButton button) {
CommandType commandType; CommandType commandType;
commandType = f358_getCommandTypeFromMouseInput(_g441_primaryMouseInput, mousePos, button); commandType = getCommandTypeFromMouseInput(_primaryMouseInput, mousePos, button);
if (commandType == k0_CommandNone) if (commandType == k0_CommandNone)
commandType = f358_getCommandTypeFromMouseInput(_g442_secondaryMouseInput, mousePos, button); commandType = getCommandTypeFromMouseInput(_secondaryMouseInput, mousePos, button);
if (commandType != k0_CommandNone) if (commandType != k0_CommandNone)
_commandQueue.push(Command(mousePos, commandType)); _commandQueue.push(Command(mousePos, commandType));
_g435_isCommandQueueLocked = false; _isCommandQueueLocked = false;
} }
CommandType EventManager::f358_getCommandTypeFromMouseInput(MouseInput *input, Common::Point mousePos, MouseButton button) { CommandType EventManager::getCommandTypeFromMouseInput(MouseInput *input, Common::Point mousePos, MouseButton button) {
if (!input) if (!input)
return k0_CommandNone; return k0_CommandNone;
@ -713,51 +713,51 @@ CommandType EventManager::f358_getCommandTypeFromMouseInput(MouseInput *input, C
return commandType; return commandType;
} }
void EventManager::f380_processCommandQueue() { void EventManager::processCommandQueue() {
static KeyboardInput *primaryKeyboardInputBackup; static KeyboardInput *primaryKeyboardInputBackup;
static KeyboardInput *secondaryKeyboardInputBackup; static KeyboardInput *secondaryKeyboardInputBackup;
static MouseInput *primaryMouseInputBackup; static MouseInput *primaryMouseInputBackup;
static MouseInput *secondaryMouseInputBackup; static MouseInput *secondaryMouseInputBackup;
_g435_isCommandQueueLocked = true; _isCommandQueueLocked = true;
if (_commandQueue.empty()) { /* If the command queue is empty */ if (_commandQueue.empty()) { /* If the command queue is empty */
_g435_isCommandQueueLocked = false; _isCommandQueueLocked = false;
f360_processPendingClick(); processPendingClick();
return; return;
} }
Command cmd = _commandQueue.pop(); Command cmd = _commandQueue.pop();
CommandType cmdType = cmd._type; CommandType cmdType = cmd._type;
if ((cmdType >= k3_CommandMoveForward) && (cmdType <= k6_CommandMoveLeft) && (_vm->_disabledMovementTicks || (_vm->_projectileDisableMovementTicks && (_vm->_lastProjectileDisabledMovementDirection == (normalizeModulo4(_vm->_dungeonMan->_partyDir + cmdType - k3_CommandMoveForward)))))) { /* If movement is disabled */ if ((cmdType >= k3_CommandMoveForward) && (cmdType <= k6_CommandMoveLeft) && (_vm->_disabledMovementTicks || (_vm->_projectileDisableMovementTicks && (_vm->_lastProjectileDisabledMovementDirection == (normalizeModulo4(_vm->_dungeonMan->_partyDir + cmdType - k3_CommandMoveForward)))))) { /* If movement is disabled */
_g435_isCommandQueueLocked = false; _isCommandQueueLocked = false;
f360_processPendingClick(); processPendingClick();
return; return;
} }
int16 commandX = cmd._pos.x; int16 commandX = cmd._pos.x;
int16 commandY = cmd._pos.y; int16 commandY = cmd._pos.y;
_g435_isCommandQueueLocked = false; _isCommandQueueLocked = false;
f360_processPendingClick(); processPendingClick();
if ((cmdType == k2_CommandTurnRight) || (cmdType == k1_CommandTurnLeft)) { if ((cmdType == k2_CommandTurnRight) || (cmdType == k1_CommandTurnLeft)) {
f365_commandTurnParty(cmdType); commandTurnParty(cmdType);
return; return;
} }
if ((cmdType >= k3_CommandMoveForward) && (cmdType <= k6_CommandMoveLeft)) { if ((cmdType >= k3_CommandMoveForward) && (cmdType <= k6_CommandMoveLeft)) {
f366_commandMoveParty(cmdType); commandMoveParty(cmdType);
return; return;
} }
if ((cmdType >= k12_CommandClickInChampion_0_StatusBox) && (cmdType <= k15_CommandClickInChampion_3_StatusBox)) { if ((cmdType >= k12_CommandClickInChampion_0_StatusBox) && (cmdType <= k15_CommandClickInChampion_3_StatusBox)) {
int16 championIdx = cmdType - k12_CommandClickInChampion_0_StatusBox; int16 championIdx = cmdType - k12_CommandClickInChampion_0_StatusBox;
if ((championIdx < _vm->_championMan->_partyChampionCount) && !_vm->_championMan->_candidateChampionOrdinal) if ((championIdx < _vm->_championMan->_partyChampionCount) && !_vm->_championMan->_candidateChampionOrdinal)
f367_commandProcessTypes12to27_clickInChampionStatusBox(championIdx, commandX, commandY); commandProcessTypes12to27_clickInChampionStatusBox(championIdx, commandX, commandY);
return; return;
} }
if ((cmdType >= k125_CommandClickOnChamptionIcon_Top_Left) && (cmdType <= k128_CommandClickOnChamptionIcon_Lower_Left)) { if ((cmdType >= k125_CommandClickOnChamptionIcon_Top_Left) && (cmdType <= k128_CommandClickOnChamptionIcon_Lower_Left)) {
f70_mouseProcessCommands125To128_clickOnChampionIcon(cmdType - k125_CommandClickOnChamptionIcon_Top_Left); mouseProcessCommands125To128_clickOnChampionIcon(cmdType - k125_CommandClickOnChamptionIcon_Top_Left);
return; return;
} }
@ -794,14 +794,14 @@ void EventManager::f380_processCommandQueue() {
if (cmdType == k100_CommandClickInSpellArea) { if (cmdType == k100_CommandClickInSpellArea) {
if ((!_vm->_championMan->_candidateChampionOrdinal) && (_vm->_championMan->_magicCasterChampionIndex != kM1_ChampionNone)) if ((!_vm->_championMan->_candidateChampionOrdinal) && (_vm->_championMan->_magicCasterChampionIndex != kM1_ChampionNone))
f370_commandProcessType100_clickInSpellArea(commandX, commandY); commandProcessType100_clickInSpellArea(commandX, commandY);
return; return;
} }
if (cmdType == k111_CommandClickInActionArea) { if (cmdType == k111_CommandClickInActionArea) {
if (!_vm->_championMan->_candidateChampionOrdinal) if (!_vm->_championMan->_candidateChampionOrdinal)
f371_commandProcessType111To115_ClickInActionArea(commandX, commandY); commandProcessType111To115_ClickInActionArea(commandX, commandY);
return; return;
} }
@ -817,11 +817,11 @@ void EventManager::f380_processCommandQueue() {
} }
if (cmdType == k80_CommandClickInDungeonView) { if (cmdType == k80_CommandClickInDungeonView) {
f377_commandProcessType80ClickInDungeonView(commandX, commandY); commandProcessType80ClickInDungeonView(commandX, commandY);
return; return;
} }
if (cmdType == k81_CommandClickInPanel) { if (cmdType == k81_CommandClickInPanel) {
f378_commandProcess81ClickInPanel(commandX, commandY); commandProcess81ClickInPanel(commandX, commandY);
return; return;
} }
@ -835,14 +835,14 @@ void EventManager::f380_processCommandQueue() {
_vm->_menuMan->f456_drawDisabledMenu(); _vm->_menuMan->f456_drawDisabledMenu();
_vm->_championMan->_partyIsSleeping = true; _vm->_championMan->_partyIsSleeping = true;
f379_drawSleepScreen(); drawSleepScreen();
_vm->_displayMan->f97_drawViewport(k2_viewportAsBeforeSleepOrFreezeGame); _vm->_displayMan->f97_drawViewport(k2_viewportAsBeforeSleepOrFreezeGame);
_vm->_waitForInputMaxVerticalBlankCount = 0; _vm->_waitForInputMaxVerticalBlankCount = 0;
_g441_primaryMouseInput = _primaryMouseInputPartySleeping; _primaryMouseInput = _primaryMouseInputPartySleeping;
_g442_secondaryMouseInput = 0; _secondaryMouseInput = 0;
_g443_primaryKeyboardInput = _primaryKeyboardInputPartySleeping; _primaryKeyboardInput = _primaryKeyboardInputPartySleeping;
_g444_secondaryKeyboardInput = nullptr; _secondaryKeyboardInput = nullptr;
f357_discardAllInput(); discardAllInput();
} }
return; return;
} }
@ -880,26 +880,26 @@ void EventManager::f380_processCommandQueue() {
break; break;
} }
_vm->_displayMan->f97_drawViewport(k2_viewportAsBeforeSleepOrFreezeGame); _vm->_displayMan->f97_drawViewport(k2_viewportAsBeforeSleepOrFreezeGame);
primaryMouseInputBackup = _g441_primaryMouseInput; primaryMouseInputBackup = _primaryMouseInput;
secondaryMouseInputBackup = _g442_secondaryMouseInput; secondaryMouseInputBackup = _secondaryMouseInput;
primaryKeyboardInputBackup = _g443_primaryKeyboardInput; primaryKeyboardInputBackup = _primaryKeyboardInput;
secondaryKeyboardInputBackup = _g444_secondaryKeyboardInput; secondaryKeyboardInputBackup = _secondaryKeyboardInput;
_g441_primaryMouseInput = _primaryMouseInputFrozenGame; _primaryMouseInput = _primaryMouseInputFrozenGame;
_g442_secondaryMouseInput = 0; _secondaryMouseInput = 0;
_g443_primaryKeyboardInput = _primaryKeyboardInputFrozenGame; _primaryKeyboardInput = _primaryKeyboardInputFrozenGame;
_g444_secondaryKeyboardInput = nullptr; _secondaryKeyboardInput = nullptr;
f357_discardAllInput(); discardAllInput();
return; return;
} }
if (cmdType == k148_CommandUnfreezeGame) { if (cmdType == k148_CommandUnfreezeGame) {
_vm->_gameTimeTicking = true; _vm->_gameTimeTicking = true;
_vm->_menuMan->f457_drawEnabledMenus(); _vm->_menuMan->f457_drawEnabledMenus();
_g441_primaryMouseInput = primaryMouseInputBackup; _primaryMouseInput = primaryMouseInputBackup;
_g442_secondaryMouseInput = secondaryMouseInputBackup; _secondaryMouseInput = secondaryMouseInputBackup;
_g443_primaryKeyboardInput = primaryKeyboardInputBackup; _primaryKeyboardInput = primaryKeyboardInputBackup;
_g444_secondaryKeyboardInput = secondaryKeyboardInputBackup; _secondaryKeyboardInput = secondaryKeyboardInputBackup;
f357_discardAllInput(); discardAllInput();
return; return;
} }
@ -927,16 +927,16 @@ void EventManager::f380_processCommandQueue() {
_vm->_restartGameRequest = true; _vm->_restartGameRequest = true;
} }
void EventManager::f365_commandTurnParty(CommandType cmdType) { void EventManager::commandTurnParty(CommandType cmdType) {
_vm->_stopWaitingForPlayerInput = true; _vm->_stopWaitingForPlayerInput = true;
if (cmdType == k1_CommandTurnLeft) if (cmdType == k1_CommandTurnLeft)
f362_commandHighlightBoxEnable(234, 261, 125, 145); commandHighlightBoxEnable(234, 261, 125, 145);
else else
f362_commandHighlightBoxEnable(291, 318, 125, 145); commandHighlightBoxEnable(291, 318, 125, 145);
uint16 partySquare = _vm->_dungeonMan->getSquare(_vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY).toByte(); uint16 partySquare = _vm->_dungeonMan->getSquare(_vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY).toByte();
if (Square(partySquare).getType() == k3_StairsElemType) { if (Square(partySquare).getType() == k3_StairsElemType) {
f364_commandTakeStairs(getFlag(partySquare, k0x0004_StairsUp)); commandTakeStairs(getFlag(partySquare, k0x0004_StairsUp));
return; return;
} }
@ -945,7 +945,7 @@ void EventManager::f365_commandTurnParty(CommandType cmdType) {
_vm->_moveSens->f276_sensorProcessThingAdditionOrRemoval(_vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, Thing::_party, true, true); _vm->_moveSens->f276_sensorProcessThingAdditionOrRemoval(_vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, Thing::_party, true, true);
} }
void EventManager::f366_commandMoveParty(CommandType cmdType) { void EventManager::commandMoveParty(CommandType cmdType) {
static Box boxMovementArrows[4] = { // @ G0463_as_Graphic561_Box_MovementArrows static Box boxMovementArrows[4] = { // @ G0463_as_Graphic561_Box_MovementArrows
/* { X1, X2, Y1, Y2 } */ /* { X1, X2, Y1, Y2 } */
Box(263, 289, 125, 145), /* Forward */ Box(263, 289, 125, 145), /* Forward */
@ -976,13 +976,13 @@ void EventManager::f366_commandMoveParty(CommandType cmdType) {
} }
uint16 movementArrowIdx = cmdType - k3_CommandMoveForward; uint16 movementArrowIdx = cmdType - k3_CommandMoveForward;
Box *highlightBox = &boxMovementArrows[movementArrowIdx]; Box *highlightBox = &boxMovementArrows[movementArrowIdx];
f362_commandHighlightBoxEnable(highlightBox->_x1, highlightBox->_x2, highlightBox->_y1, highlightBox->_y2); commandHighlightBoxEnable(highlightBox->_x1, highlightBox->_x2, highlightBox->_y1, highlightBox->_y2);
int16 partyMapX = _vm->_dungeonMan->_partyMapX; int16 partyMapX = _vm->_dungeonMan->_partyMapX;
int16 partyMapY = _vm->_dungeonMan->_partyMapY; int16 partyMapY = _vm->_dungeonMan->_partyMapY;
uint16 AL1115_ui_Square = _vm->_dungeonMan->getSquare(partyMapX, partyMapY).toByte(); uint16 AL1115_ui_Square = _vm->_dungeonMan->getSquare(partyMapX, partyMapY).toByte();
bool isStairsSquare = (Square(AL1115_ui_Square).getType() == k3_StairsElemType); bool isStairsSquare = (Square(AL1115_ui_Square).getType() == k3_StairsElemType);
if (isStairsSquare && (movementArrowIdx == 2)) { /* If moving backward while in stairs */ if (isStairsSquare && (movementArrowIdx == 2)) { /* If moving backward while in stairs */
f364_commandTakeStairs(getFlag(AL1115_ui_Square, k0x0004_StairsUp)); commandTakeStairs(getFlag(AL1115_ui_Square, k0x0004_StairsUp));
return; return;
} }
_vm->_dungeonMan->mapCoordsAfterRelMovement(_vm->_dungeonMan->_partyDir, movementArrowToStepForwardCount[movementArrowIdx], movementArrowToSepRightCount[movementArrowIdx], partyMapX, partyMapY); _vm->_dungeonMan->mapCoordsAfterRelMovement(_vm->_dungeonMan->_partyDir, movementArrowToStepForwardCount[movementArrowIdx], movementArrowToSepRightCount[movementArrowIdx], partyMapX, partyMapY);
@ -991,7 +991,7 @@ void EventManager::f366_commandMoveParty(CommandType cmdType) {
_vm->_moveSens->f267_getMoveResult(Thing::_party, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kM1_MapXNotOnASquare, 0); _vm->_moveSens->f267_getMoveResult(Thing::_party, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kM1_MapXNotOnASquare, 0);
_vm->_dungeonMan->_partyMapX = partyMapX; _vm->_dungeonMan->_partyMapX = partyMapX;
_vm->_dungeonMan->_partyMapY = partyMapY; _vm->_dungeonMan->_partyMapY = partyMapY;
f364_commandTakeStairs(getFlag(AL1115_ui_Square, k0x0004_StairsUp)); commandTakeStairs(getFlag(AL1115_ui_Square, k0x0004_StairsUp));
return; return;
} }
@ -1024,7 +1024,7 @@ void EventManager::f366_commandMoveParty(CommandType cmdType) {
// DEBUG CODE: check for Console flag // DEBUG CODE: check for Console flag
if (isMovementBlocked && !_vm->_console->_debugNoclip) { if (isMovementBlocked && !_vm->_console->_debugNoclip) {
f357_discardAllInput(); discardAllInput();
_vm->_stopWaitingForPlayerInput = false; _vm->_stopWaitingForPlayerInput = false;
return; return;
} }
@ -1046,7 +1046,7 @@ void EventManager::f366_commandMoveParty(CommandType cmdType) {
_vm->_projectileDisableMovementTicks = 0; _vm->_projectileDisableMovementTicks = 0;
} }
bool EventManager::f375_processType80_clickDungeonView_isLeaderHandObjThrown(int16 posX, int16 posY) { bool EventManager::isLeaderHandObjThrown(int16 posX, int16 posY) {
#define k0_sideLeft 0 // @ C0_SIDE_LEFT #define k0_sideLeft 0 // @ C0_SIDE_LEFT
#define k1_sideRight 1 // @ C0_SIDE_LEFT #define k1_sideRight 1 // @ C0_SIDE_LEFT
@ -1101,7 +1101,7 @@ void EventManager::setMousePointerFromSpriteData(byte* mouseSprite) {
CursorMan.replaceCursor(bitmap, 16, 18, 0, 0, 0); CursorMan.replaceCursor(bitmap, 16, 18, 0, 0, 0);
} }
void EventManager::f368_commandSetLeader(ChampionIndex champIndex) { void EventManager::commandSetLeader(ChampionIndex champIndex) {
ChampionMan &cm = *_vm->_championMan; ChampionMan &cm = *_vm->_championMan;
ChampionIndex leaderIndex; ChampionIndex leaderIndex;
@ -1131,7 +1131,7 @@ void EventManager::f368_commandSetLeader(ChampionIndex champIndex) {
} }
} }
void EventManager::f372_commandProcessType80ClickInDungeonViewTouchFrontWall() { void EventManager::commandProcessType80ClickInDungeonViewTouchFrontWall() {
uint16 mapX = _vm->_dungeonMan->_partyMapX + _vm->_dirIntoStepCountEast[_vm->_dungeonMan->_partyDir]; uint16 mapX = _vm->_dungeonMan->_partyMapX + _vm->_dirIntoStepCountEast[_vm->_dungeonMan->_partyDir];
uint16 mapY = _vm->_dungeonMan->_partyMapY + _vm->_dirIntoStepCountNorth[_vm->_dungeonMan->_partyDir]; uint16 mapY = _vm->_dungeonMan->_partyMapY + _vm->_dirIntoStepCountNorth[_vm->_dungeonMan->_partyDir];
@ -1140,7 +1140,7 @@ void EventManager::f372_commandProcessType80ClickInDungeonViewTouchFrontWall() {
_vm->_stopWaitingForPlayerInput = _vm->_moveSens->f275_sensorIsTriggeredByClickOnWall(mapX, mapY, returnOppositeDir(_vm->_dungeonMan->_partyDir)); _vm->_stopWaitingForPlayerInput = _vm->_moveSens->f275_sensorIsTriggeredByClickOnWall(mapX, mapY, returnOppositeDir(_vm->_dungeonMan->_partyDir));
} }
void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16 posY) { void EventManager::commandProcessType80ClickInDungeonView(int16 posX, int16 posY) {
Box boxObjectPiles[4] = { // @ G0462_as_Graphic561_Box_ObjectPiles Box boxObjectPiles[4] = { // @ G0462_as_Graphic561_Box_ObjectPiles
/* { X1, X2, Y1, Y2 } */ /* { X1, X2, Y1, Y2 } */
Box(24, 111, 148, 168), /* Front left */ Box(24, 111, 148, 168), /* Front left */
@ -1164,7 +1164,7 @@ void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16
_vm->_moveSens->f268_addEvent(k10_TMEventTypeDoor, L1155_i_MapX, L1156_i_MapY, 0, k2_SensorEffToggle, _vm->_gameTime + 1); _vm->_moveSens->f268_addEvent(k10_TMEventTypeDoor, L1155_i_MapX, L1156_i_MapY, 0, k2_SensorEffToggle, _vm->_gameTime + 1);
return; return;
} }
} else if (f375_processType80_clickDungeonView_isLeaderHandObjThrown(posX, posY)) } else if (isLeaderHandObjThrown(posX, posY))
return; return;
} }
@ -1173,9 +1173,9 @@ void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16
if (_vm->_dungeonMan->_dungeonViewClickableBoxes[currViewCell].isPointInside(posX, posY - 33)) { if (_vm->_dungeonMan->_dungeonViewClickableBoxes[currViewCell].isPointInside(posX, posY - 33)) {
if (currViewCell == k5_ViewCellDoorButtonOrWallOrn) { if (currViewCell == k5_ViewCellDoorButtonOrWallOrn) {
if (!_vm->_dungeonMan->_isFacingAlcove) if (!_vm->_dungeonMan->_isFacingAlcove)
f372_commandProcessType80ClickInDungeonViewTouchFrontWall(); commandProcessType80ClickInDungeonViewTouchFrontWall();
} else } else
f373_processType80_clickInDungeonView_grabLeaderHandObject(currViewCell); processType80_clickInDungeonView_grabLeaderHandObject(currViewCell);
return; return;
} }
@ -1186,13 +1186,13 @@ void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16
if (_vm->_dungeonMan->_squareAheadElement == k0_ElementTypeWall) { if (_vm->_dungeonMan->_squareAheadElement == k0_ElementTypeWall) {
for (uint16 currViewCell = k0_ViewCellFronLeft; currViewCell < k1_ViewCellFrontRight + 1; currViewCell++) { for (uint16 currViewCell = k0_ViewCellFronLeft; currViewCell < k1_ViewCellFrontRight + 1; currViewCell++) {
if (boxObjectPiles[currViewCell].isPointInside(posX, posY)) { if (boxObjectPiles[currViewCell].isPointInside(posX, posY)) {
f374_processType80_clickInDungeonViewDropLeaderHandObject(currViewCell); processType80_clickInDungeonViewDropLeaderHandObject(currViewCell);
return; return;
} }
} }
if (_vm->_dungeonMan->_dungeonViewClickableBoxes[k5_ViewCellDoorButtonOrWallOrn].isPointInside(posX, posY - 33)) { if (_vm->_dungeonMan->_dungeonViewClickableBoxes[k5_ViewCellDoorButtonOrWallOrn].isPointInside(posX, posY - 33)) {
if (_vm->_dungeonMan->_isFacingAlcove) if (_vm->_dungeonMan->_isFacingAlcove)
f374_processType80_clickInDungeonViewDropLeaderHandObject(k4_ViewCellAlcove); processType80_clickInDungeonViewDropLeaderHandObject(k4_ViewCellAlcove);
else { else {
if (_vm->_dungeonMan->_isFacingFountain) { if (_vm->_dungeonMan->_isFacingFountain) {
uint16 iconIdx = _vm->_objectMan->f33_getIconIndex(thingHandObject); uint16 iconIdx = _vm->_objectMan->f33_getIconIndex(thingHandObject);
@ -1202,22 +1202,22 @@ void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16
else if (iconIdx == k195_IconIndicePotionEmptyFlask) else if (iconIdx == k195_IconIndicePotionEmptyFlask)
((Potion*)junkPtr)->setType(k15_PotionTypeWaterFlask); ((Potion*)junkPtr)->setType(k15_PotionTypeWaterFlask);
else { else {
f372_commandProcessType80ClickInDungeonViewTouchFrontWall(); commandProcessType80ClickInDungeonViewTouchFrontWall();
return; return;
} }
_vm->_championMan->drawChangedObjectIcons(); _vm->_championMan->drawChangedObjectIcons();
_vm->_championMan->_champions[_vm->_championMan->_leaderIndex]._load += _vm->_dungeonMan->getObjectWeight(thingHandObject) - weight; _vm->_championMan->_champions[_vm->_championMan->_leaderIndex]._load += _vm->_dungeonMan->getObjectWeight(thingHandObject) - weight;
} }
f372_commandProcessType80ClickInDungeonViewTouchFrontWall(); commandProcessType80ClickInDungeonViewTouchFrontWall();
} }
} }
} else { } else {
if (f375_processType80_clickDungeonView_isLeaderHandObjThrown(posX, posY)) if (isLeaderHandObjThrown(posX, posY))
return; return;
for (uint16 currViewCell = k0_ViewCellFronLeft; currViewCell < k3_ViewCellBackLeft + 1; currViewCell++) { for (uint16 currViewCell = k0_ViewCellFronLeft; currViewCell < k3_ViewCellBackLeft + 1; currViewCell++) {
if (boxObjectPiles[currViewCell].isPointInside(posX, posY)) { if (boxObjectPiles[currViewCell].isPointInside(posX, posY)) {
f374_processType80_clickInDungeonViewDropLeaderHandObject(currViewCell); processType80_clickInDungeonViewDropLeaderHandObject(currViewCell);
return; return;
} }
} }
@ -1225,7 +1225,7 @@ void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16
} }
} }
void EventManager::f282_commandProcessCommands160To162ClickInResurrectReincarnatePanel(CommandType commandType) { void EventManager::commandProcessCommands160To162ClickInResurrectReincarnatePanel(CommandType commandType) {
ChampionMan &champMan = *_vm->_championMan; ChampionMan &champMan = *_vm->_championMan;
InventoryMan &invMan = *_vm->_inventoryMan; InventoryMan &invMan = *_vm->_inventoryMan;
DisplayMan &dispMan = *_vm->_displayMan; DisplayMan &dispMan = *_vm->_displayMan;
@ -1237,7 +1237,7 @@ void EventManager::f282_commandProcessCommands160To162ClickInResurrectReincarnat
invMan.f355_toggleInventory(k4_ChampionCloseInventory); invMan.f355_toggleInventory(k4_ChampionCloseInventory);
champMan._candidateChampionOrdinal = _vm->indexToOrdinal(kM1_ChampionNone); champMan._candidateChampionOrdinal = _vm->indexToOrdinal(kM1_ChampionNone);
if (champMan._partyChampionCount == 1) { if (champMan._partyChampionCount == 1) {
f368_commandSetLeader(kM1_ChampionNone); commandSetLeader(kM1_ChampionNone);
} }
champMan._partyChampionCount--; champMan._partyChampionCount--;
Box box; Box box;
@ -1249,7 +1249,7 @@ void EventManager::f282_commandProcessCommands160To162ClickInResurrectReincarnat
dispMan.D24_fillScreenBox(box, k0_ColorBlack); dispMan.D24_fillScreenBox(box, k0_ColorBlack);
dispMan.D24_fillScreenBox(_vm->_championMan->_boxChampionIcons[champMan.getChampionIconIndex(champ->_cell, dunMan._partyDir) * 2], k0_ColorBlack); dispMan.D24_fillScreenBox(_vm->_championMan->_boxChampionIcons[champMan.getChampionIconIndex(champ->_cell, dunMan._partyDir) * 2], k0_ColorBlack);
_vm->_menuMan->f457_drawEnabledMenus(); _vm->_menuMan->f457_drawEnabledMenus();
f78_showMouse(); showMouse();
return; return;
} }
@ -1287,7 +1287,7 @@ void EventManager::f282_commandProcessCommands160To162ClickInResurrectReincarnat
if (champMan._partyChampionCount == 1) { if (champMan._partyChampionCount == 1) {
_vm->_projexpl->_g362_lastPartyMovementTime = _vm->_gameTime; _vm->_projexpl->_g362_lastPartyMovementTime = _vm->_gameTime;
f368_commandSetLeader(k0_ChampionFirst); commandSetLeader(k0_ChampionFirst);
_vm->_menuMan->f394_setMagicCasterAndDrawSpellArea(k0_ChampionFirst); _vm->_menuMan->f394_setMagicCasterAndDrawSpellArea(k0_ChampionFirst);
} else } else
_vm->_menuMan->f393_drawSpellAreaControls(champMan._magicCasterChampionIndex); _vm->_menuMan->f393_drawSpellAreaControls(champMan._magicCasterChampionIndex);
@ -1311,10 +1311,10 @@ void EventManager::f282_commandProcessCommands160To162ClickInResurrectReincarnat
invMan.f355_toggleInventory(k4_ChampionCloseInventory); invMan.f355_toggleInventory(k4_ChampionCloseInventory);
_vm->_menuMan->f457_drawEnabledMenus(); _vm->_menuMan->f457_drawEnabledMenus();
f67_setMousePointerToNormal((_vm->_championMan->_leaderIndex == kM1_ChampionNone) ? k0_pointerArrow : k1_pointerHand); setMousePointerToNormal((_vm->_championMan->_leaderIndex == kM1_ChampionNone) ? k0_pointerArrow : k1_pointerHand);
} }
void EventManager::f378_commandProcess81ClickInPanel(int16 x, int16 y) { void EventManager::commandProcess81ClickInPanel(int16 x, int16 y) {
ChampionMan &champMan = *_vm->_championMan; ChampionMan &champMan = *_vm->_championMan;
InventoryMan &invMan = *_vm->_inventoryMan; InventoryMan &invMan = *_vm->_inventoryMan;
@ -1323,23 +1323,23 @@ void EventManager::f378_commandProcess81ClickInPanel(int16 x, int16 y) {
case k4_PanelContentChest: case k4_PanelContentChest:
if (champMan._leaderIndex == kM1_ChampionNone) // if no leader if (champMan._leaderIndex == kM1_ChampionNone) // if no leader
return; return;
commandType = f358_getCommandTypeFromMouseInput(_mouseInputPanelChest, Common::Point(x, y), k1_LeftMouseButton); commandType = getCommandTypeFromMouseInput(_mouseInputPanelChest, Common::Point(x, y), k1_LeftMouseButton);
if (commandType != k0_CommandNone) if (commandType != k0_CommandNone)
_vm->_championMan->clickOnSlotBox(commandType - k20_CommandClickOnSlotBoxChampion_0_StatusBoxReadyHand); _vm->_championMan->clickOnSlotBox(commandType - k20_CommandClickOnSlotBoxChampion_0_StatusBoxReadyHand);
break; break;
case k5_PanelContentResurrectReincarnate: case k5_PanelContentResurrectReincarnate:
if (!champMan._leaderEmptyHanded) if (!champMan._leaderEmptyHanded)
break; break;
commandType = f358_getCommandTypeFromMouseInput(_mouseInputPanelResurrectReincarnateCancel, Common::Point(x, y), k1_LeftMouseButton); commandType = getCommandTypeFromMouseInput(_mouseInputPanelResurrectReincarnateCancel, Common::Point(x, y), k1_LeftMouseButton);
if (commandType != k0_CommandNone) if (commandType != k0_CommandNone)
f282_commandProcessCommands160To162ClickInResurrectReincarnatePanel(commandType); commandProcessCommands160To162ClickInResurrectReincarnatePanel(commandType);
break; break;
default: default:
break; break;
} }
} }
void EventManager::f373_processType80_clickInDungeonView_grabLeaderHandObject(uint16 viewCell) { void EventManager::processType80_clickInDungeonView_grabLeaderHandObject(uint16 viewCell) {
if (_vm->_championMan->_leaderIndex == kM1_ChampionNone) if (_vm->_championMan->_leaderIndex == kM1_ChampionNone)
return; return;
@ -1364,7 +1364,7 @@ void EventManager::f373_processType80_clickInDungeonView_grabLeaderHandObject(ui
_vm->_stopWaitingForPlayerInput = true; _vm->_stopWaitingForPlayerInput = true;
} }
void EventManager::f374_processType80_clickInDungeonViewDropLeaderHandObject(uint16 viewCell) { void EventManager::processType80_clickInDungeonViewDropLeaderHandObject(uint16 viewCell) {
if (_vm->_championMan->_leaderIndex == kM1_ChampionNone) if (_vm->_championMan->_leaderIndex == kM1_ChampionNone)
return; return;
@ -1395,14 +1395,14 @@ void EventManager::f374_processType80_clickInDungeonViewDropLeaderHandObject(uin
_vm->_stopWaitingForPlayerInput = true; _vm->_stopWaitingForPlayerInput = true;
} }
bool EventManager::f360_hasPendingClick(Common::Point& point, MouseButton button) { bool EventManager::hasPendingClick(Common::Point& point, MouseButton button) {
if (_g439_pendingClickButton && button == _g439_pendingClickButton) if (_pendingClickButton && button == _pendingClickButton)
point = _g437_pendingClickPos; point = _pendingClickPos;
return _g436_pendingClickPresent; return _pendingClickPresent;
} }
void EventManager::f379_drawSleepScreen() { void EventManager::drawSleepScreen() {
_vm->_displayMan->f134_fillBitmap(_vm->_displayMan->_g296_bitmapViewport, k0_ColorBlack, 112, 136); _vm->_displayMan->f134_fillBitmap(_vm->_displayMan->_g296_bitmapViewport, k0_ColorBlack, 112, 136);
switch (_vm->getGameLanguage()) { // localized switch (_vm->getGameLanguage()) { // localized
default: default:
@ -1418,7 +1418,7 @@ void EventManager::f379_drawSleepScreen() {
} }
} }
void EventManager::f357_discardAllInput() { void EventManager::discardAllInput() {
Common::Event event; Common::Event event;
while (_vm->_system->getEventManager()->pollEvent(event) && !_vm->_engineShouldQuit) { while (_vm->_system->getEventManager()->pollEvent(event) && !_vm->_engineShouldQuit) {
if (event.type == Common::EVENT_QUIT) if (event.type == Common::EVENT_QUIT)
@ -1427,7 +1427,7 @@ void EventManager::f357_discardAllInput() {
_commandQueue.clear(); _commandQueue.clear();
} }
void EventManager::f364_commandTakeStairs(bool stairsGoDown) { void EventManager::commandTakeStairs(bool stairsGoDown) {
_vm->_moveSens->f267_getMoveResult(Thing::_party, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kM1_MapXNotOnASquare, 0); _vm->_moveSens->f267_getMoveResult(Thing::_party, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kM1_MapXNotOnASquare, 0);
_vm->_newPartyMapIndex = _vm->_dungeonMan->getLocationAfterLevelChange(_vm->_dungeonMan->_partyMapIndex, stairsGoDown ? -1 : 1, &_vm->_dungeonMan->_partyMapX, &_vm->_dungeonMan->_partyMapY); _vm->_newPartyMapIndex = _vm->_dungeonMan->getLocationAfterLevelChange(_vm->_dungeonMan->_partyMapIndex, stairsGoDown ? -1 : 1, &_vm->_dungeonMan->_partyMapX, &_vm->_dungeonMan->_partyMapY);
_vm->_dungeonMan->setCurrentMap(_vm->_newPartyMapIndex); _vm->_dungeonMan->setCurrentMap(_vm->_newPartyMapIndex);
@ -1435,45 +1435,45 @@ void EventManager::f364_commandTakeStairs(bool stairsGoDown) {
_vm->_dungeonMan->setCurrentMap(_vm->_dungeonMan->_partyMapIndex); _vm->_dungeonMan->setCurrentMap(_vm->_dungeonMan->_partyMapIndex);
} }
void EventManager::f367_commandProcessTypes12to27_clickInChampionStatusBox(uint16 champIndex, int16 posX, int16 posY) { void EventManager::commandProcessTypes12to27_clickInChampionStatusBox(uint16 champIndex, int16 posX, int16 posY) {
if (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) { if (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) {
f368_commandSetLeader((ChampionIndex)champIndex); commandSetLeader((ChampionIndex)champIndex);
} else { } else {
uint16 commandType = f358_getCommandTypeFromMouseInput(_mouseInputChampionNamesHands, Common::Point(posX, posY), k1_LeftMouseButton); uint16 commandType = getCommandTypeFromMouseInput(_mouseInputChampionNamesHands, Common::Point(posX, posY), k1_LeftMouseButton);
if ((commandType >= k16_CommandSetLeaderChampion_0) && (commandType <= k19_CommandSetLeaderChampion_3)) if ((commandType >= k16_CommandSetLeaderChampion_0) && (commandType <= k19_CommandSetLeaderChampion_3))
f368_commandSetLeader((ChampionIndex)(commandType - k16_CommandSetLeaderChampion_0)); commandSetLeader((ChampionIndex)(commandType - k16_CommandSetLeaderChampion_0));
else if ((commandType >= k20_CommandClickOnSlotBoxChampion_0_StatusBoxReadyHand) && (commandType <= k27_CommandClickOnSlotBoxChampion_3_StatusBoxActionHand)) else if ((commandType >= k20_CommandClickOnSlotBoxChampion_0_StatusBoxReadyHand) && (commandType <= k27_CommandClickOnSlotBoxChampion_3_StatusBoxActionHand))
_vm->_championMan->clickOnSlotBox(commandType - k20_CommandClickOnSlotBoxChampion_0_StatusBoxReadyHand); _vm->_championMan->clickOnSlotBox(commandType - k20_CommandClickOnSlotBoxChampion_0_StatusBoxReadyHand);
} }
} }
void EventManager::f70_mouseProcessCommands125To128_clickOnChampionIcon(uint16 champIconIndex) { void EventManager::mouseProcessCommands125To128_clickOnChampionIcon(uint16 champIconIndex) {
static Box championIconShadowBox = Box(2, 20, 2, 15); static Box championIconShadowBox = Box(2, 20, 2, 15);
static Box championIconBox = Box(0, 18, 0, 13); static Box championIconBox = Box(0, 18, 0, 13);
static byte mousePointerIconShadowBox[16] = {0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 120, 120, 120}; static byte mousePointerIconShadowBox[16] = {0, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 0, 120, 120, 120};
_gK100_preventBuildPointerScreenArea = true; _preventBuildPointerScreenArea = true;
if (!_g599_useChampionIconOrdinalAsMousePointerBitmap) { if (!_useChampionIconOrdinalAsMousePointerBitmap) {
if (_vm->_championMan->getIndexInCell(normalizeModulo4(champIconIndex + _vm->_dungeonMan->_partyDir)) == kM1_ChampionNone) { if (_vm->_championMan->getIndexInCell(normalizeModulo4(champIconIndex + _vm->_dungeonMan->_partyDir)) == kM1_ChampionNone) {
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
return; return;
} }
_g598_mousePointerBitmapUpdated = true; _mousePointerBitmapUpdated = true;
_g599_useChampionIconOrdinalAsMousePointerBitmap = true; _useChampionIconOrdinalAsMousePointerBitmap = true;
_vm->_displayMan->_g578_useByteBoxCoordinates = false; _vm->_displayMan->_g578_useByteBoxCoordinates = false;
byte *tmpBitmap = _gK190_mousePointerTempBuffer; byte *tmpBitmap = _mousePointerTempBuffer;
memset(tmpBitmap, 0, 32 * 18); memset(tmpBitmap, 0, 32 * 18);
Box *curChampionIconBox = &_vm->_championMan->_boxChampionIcons[champIconIndex]; Box *curChampionIconBox = &_vm->_championMan->_boxChampionIcons[champIconIndex];
_vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->_g348_bitmapScreen, tmpBitmap, championIconShadowBox, curChampionIconBox->_x1, curChampionIconBox->_y1, k160_byteWidthScreen, k16_byteWidth, k0_ColorBlack, 200, 18); _vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->_g348_bitmapScreen, tmpBitmap, championIconShadowBox, curChampionIconBox->_x1, curChampionIconBox->_y1, k160_byteWidthScreen, k16_byteWidth, k0_ColorBlack, 200, 18);
_vm->_displayMan->f129_blitToBitmapShrinkWithPalChange(tmpBitmap, _g613_mousePointerOriginalColorsChampionIcon, 32, 18, 32, 18, mousePointerIconShadowBox); _vm->_displayMan->f129_blitToBitmapShrinkWithPalChange(tmpBitmap, _mousePointerOriginalColorsChampionIcon, 32, 18, 32, 18, mousePointerIconShadowBox);
_vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->_g348_bitmapScreen, _g613_mousePointerOriginalColorsChampionIcon, championIconBox, curChampionIconBox->_x1, curChampionIconBox->_y1, k160_byteWidthScreen, k16_byteWidth, k0_ColorBlack, 200, 18); _vm->_displayMan->f132_blitToBitmap(_vm->_displayMan->_g348_bitmapScreen, _mousePointerOriginalColorsChampionIcon, championIconBox, curChampionIconBox->_x1, curChampionIconBox->_y1, k160_byteWidthScreen, k16_byteWidth, k0_ColorBlack, 200, 18);
_vm->_displayMan->D24_fillScreenBox(*curChampionIconBox, k0_ColorBlack); _vm->_displayMan->D24_fillScreenBox(*curChampionIconBox, k0_ColorBlack);
_g599_useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(champIconIndex); _useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(champIconIndex);
} else { } else {
_g598_mousePointerBitmapUpdated = true; _mousePointerBitmapUpdated = true;
uint16 championIconIndex = _vm->ordinalToIndex(_g599_useChampionIconOrdinalAsMousePointerBitmap); uint16 championIconIndex = _vm->ordinalToIndex(_useChampionIconOrdinalAsMousePointerBitmap);
_g599_useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(kM1_ChampionNone); _useChampionIconOrdinalAsMousePointerBitmap = _vm->indexToOrdinal(kM1_ChampionNone);
int16 championCellIndex = _vm->_championMan->getIndexInCell(normalizeModulo4(championIconIndex + _vm->_dungeonMan->_partyDir)); int16 championCellIndex = _vm->_championMan->getIndexInCell(normalizeModulo4(championIconIndex + _vm->_dungeonMan->_partyDir));
if (championIconIndex == champIconIndex) { if (championIconIndex == champIconIndex) {
setFlag(_vm->_championMan->_champions[championCellIndex]._attributes, k0x0400_ChampionAttributeIcon); setFlag(_vm->_championMan->_champions[championCellIndex]._attributes, k0x0400_ChampionAttributeIcon);
@ -1492,11 +1492,11 @@ void EventManager::f70_mouseProcessCommands125To128_clickOnChampionIcon(uint16 c
_vm->_championMan->drawChampionState((ChampionIndex)championCellIndex); _vm->_championMan->drawChampionState((ChampionIndex)championCellIndex);
} }
} }
_gK100_preventBuildPointerScreenArea = false; _preventBuildPointerScreenArea = false;
f73_buildpointerScreenArea(_mousePos.x, _mousePos.y); buildpointerScreenArea(_mousePos.x, _mousePos.y);
} }
void EventManager::f370_commandProcessType100_clickInSpellArea(uint16 posX, uint16 posY) { void EventManager::commandProcessType100_clickInSpellArea(uint16 posX, uint16 posY) {
int16 championIndex = kM1_ChampionNone; int16 championIndex = kM1_ChampionNone;
if (posY <= 48) { if (posY <= 48) {
switch (_vm->_championMan->_magicCasterChampionIndex) { switch (_vm->_championMan->_magicCasterChampionIndex) {
@ -1545,12 +1545,12 @@ void EventManager::f370_commandProcessType100_clickInSpellArea(uint16 posX, uint
return; return;
} }
CommandType newCommand = f358_getCommandTypeFromMouseInput(_mouseInputSpellArea, Common::Point(posX, posY), k1_LeftMouseButton); CommandType newCommand = getCommandTypeFromMouseInput(_mouseInputSpellArea, Common::Point(posX, posY), k1_LeftMouseButton);
if (newCommand != k0_CommandNone) if (newCommand != k0_CommandNone)
f369_commandProcessTypes101To108_clickInSpellSymbolsArea(newCommand); commandProcessTypes101To108_clickInSpellSymbolsArea(newCommand);
} }
void EventManager::f369_commandProcessTypes101To108_clickInSpellSymbolsArea(CommandType cmdType) { void EventManager::commandProcessTypes101To108_clickInSpellSymbolsArea(CommandType cmdType) {
static Box spellSymbolsAndDelete[7] = { static Box spellSymbolsAndDelete[7] = {
/* { X1, X2, Y1, Y2 } */ /* { X1, X2, Y1, Y2 } */
Box(235, 247, 51, 61), /* Symbol 1 */ Box(235, 247, 51, 61), /* Symbol 1 */
@ -1565,16 +1565,16 @@ void EventManager::f369_commandProcessTypes101To108_clickInSpellSymbolsArea(Comm
if (_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex]._symbols[0] == '\0') if (_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex]._symbols[0] == '\0')
return; return;
f362_commandHighlightBoxEnable(234, 303, 63, 73); commandHighlightBoxEnable(234, 303, 63, 73);
_vm->_stopWaitingForPlayerInput = _vm->_menuMan->f408_getClickOnSpellCastResult(); _vm->_stopWaitingForPlayerInput = _vm->_menuMan->f408_getClickOnSpellCastResult();
return; return;
} }
uint16 symbolIndex = cmdType - k101_CommandClickInSpellAreaSymbol_1; uint16 symbolIndex = cmdType - k101_CommandClickInSpellAreaSymbol_1;
Box *highlightBox = &spellSymbolsAndDelete[symbolIndex]; Box *highlightBox = &spellSymbolsAndDelete[symbolIndex];
f362_commandHighlightBoxEnable(highlightBox->_x1, highlightBox->_x2, highlightBox->_y1, highlightBox->_y2); commandHighlightBoxEnable(highlightBox->_x1, highlightBox->_x2, highlightBox->_y1, highlightBox->_y2);
_vm->delay(1); _vm->delay(1);
f363_highlightBoxDisable(); highlightBoxDisable();
if (symbolIndex < 6) if (symbolIndex < 6)
_vm->_menuMan->f399_addChampionSymbol(symbolIndex); _vm->_menuMan->f399_addChampionSymbol(symbolIndex);
@ -1582,26 +1582,26 @@ void EventManager::f369_commandProcessTypes101To108_clickInSpellSymbolsArea(Comm
_vm->_menuMan->f400_deleteChampionSymbol(); _vm->_menuMan->f400_deleteChampionSymbol();
} }
void EventManager::f371_commandProcessType111To115_ClickInActionArea(int16 posX, int16 posY) { void EventManager::commandProcessType111To115_ClickInActionArea(int16 posX, int16 posY) {
if (_vm->_championMan->_actingChampionOrdinal) { if (_vm->_championMan->_actingChampionOrdinal) {
uint16 mouseCommand = f358_getCommandTypeFromMouseInput(_mouseInputActionAreaNames, Common::Point(posX, posY), k1_LeftMouseButton); uint16 mouseCommand = getCommandTypeFromMouseInput(_mouseInputActionAreaNames, Common::Point(posX, posY), k1_LeftMouseButton);
if (mouseCommand != k0_CommandNone) { if (mouseCommand != k0_CommandNone) {
if (mouseCommand == k112_CommandClickInActionAreaPass) { if (mouseCommand == k112_CommandClickInActionAreaPass) {
f362_commandHighlightBoxEnable(285, 319, 77, 83); commandHighlightBoxEnable(285, 319, 77, 83);
_vm->_menuMan->f391_didClickTriggerAction(-1); _vm->_menuMan->f391_didClickTriggerAction(-1);
} else if ((mouseCommand - k112_CommandClickInActionAreaPass) <= _vm->_menuMan->_g507_actionCount) { } else if ((mouseCommand - k112_CommandClickInActionAreaPass) <= _vm->_menuMan->_g507_actionCount) {
if (mouseCommand == k113_CommandClickInActionAreaAction_0) if (mouseCommand == k113_CommandClickInActionAreaAction_0)
f362_commandHighlightBoxEnable(234, 318, 86, 96); commandHighlightBoxEnable(234, 318, 86, 96);
else if (mouseCommand == k114_CommandClickInActionAreaAction_1) else if (mouseCommand == k114_CommandClickInActionAreaAction_1)
f362_commandHighlightBoxEnable(234, 318, 98, 108); commandHighlightBoxEnable(234, 318, 98, 108);
else else
f362_commandHighlightBoxEnable(234, 318, 110, 120); commandHighlightBoxEnable(234, 318, 110, 120);
_vm->_stopWaitingForPlayerInput = _vm->_menuMan->f391_didClickTriggerAction(mouseCommand - k113_CommandClickInActionAreaAction_0); _vm->_stopWaitingForPlayerInput = _vm->_menuMan->f391_didClickTriggerAction(mouseCommand - k113_CommandClickInActionAreaAction_0);
} }
} }
} else if (_vm->_menuMan->_g509_actionAreaContainsIcons) { } else if (_vm->_menuMan->_g509_actionAreaContainsIcons) {
uint16 mouseCommand = f358_getCommandTypeFromMouseInput(_mouseInputActionAreaIcons, Common::Point(posX, posY), k1_LeftMouseButton); uint16 mouseCommand = getCommandTypeFromMouseInput(_mouseInputActionAreaIcons, Common::Point(posX, posY), k1_LeftMouseButton);
if (mouseCommand != k0_CommandNone) { if (mouseCommand != k0_CommandNone) {
mouseCommand -= k116_CommandClickInActionAreaChampion_0_Action; mouseCommand -= k116_CommandClickInActionAreaChampion_0_Action;
if (mouseCommand < _vm->_championMan->_partyChampionCount) if (mouseCommand < _vm->_championMan->_partyChampionCount)
@ -1610,19 +1610,19 @@ void EventManager::f371_commandProcessType111To115_ClickInActionArea(int16 posX,
} }
} }
void EventManager::f544_resetPressingEyeOrMouth() { void EventManager::resetPressingEyeOrMouth() {
if (_vm->_pressingEye) { if (_vm->_pressingEye) {
_g597_ignoreMouseMovements = false; _ignoreMouseMovements = false;
_vm->_stopPressingEye = true; _vm->_stopPressingEye = true;
} }
if (_vm->_pressingMouth) { if (_vm->_pressingMouth) {
_g597_ignoreMouseMovements = false; _ignoreMouseMovements = false;
_vm->_stopPressingMouth = true; _vm->_stopPressingMouth = true;
} }
} }
void EventManager::f541_waitForMouseOrKeyActivity() { void EventManager::waitForMouseOrKeyActivity() {
f357_discardAllInput(); discardAllInput();
Common::Event event; Common::Event event;
while (true) { while (true) {
if (_vm->_system->getEventManager()->pollEvent(event)) { if (_vm->_system->getEventManager()->pollEvent(event)) {
@ -1642,16 +1642,16 @@ void EventManager::f541_waitForMouseOrKeyActivity() {
} }
} }
void EventManager::f362_commandHighlightBoxEnable(int16 x1, int16 x2, int16 y1, int16 y2) { void EventManager::commandHighlightBoxEnable(int16 x1, int16 x2, int16 y1, int16 y2) {
_highlightScreenBox = Box(x1, x2, y1, y2); _highlightScreenBox = Box(x1, x2, y1, y2);
f6_highlightScreenBox(x1, x2, y1, y2); highlightScreenBox(x1, x2, y1, y2);
_g341_highlightBoxEnabled = true; _highlightBoxEnabled = true;
} }
void EventManager::f363_highlightBoxDisable() { void EventManager::highlightBoxDisable() {
if (_g341_highlightBoxEnabled == true) { if (_highlightBoxEnabled == true) {
f6_highlightScreenBox(_highlightScreenBox._x1, _highlightScreenBox._x2, _highlightScreenBox._y1, _highlightScreenBox._y2); highlightScreenBox(_highlightScreenBox._x1, _highlightScreenBox._x2, _highlightScreenBox._y1, _highlightScreenBox._y2);
_g341_highlightBoxEnabled = false; _highlightBoxEnabled = false;
} }
} }

View File

@ -36,11 +36,8 @@
#include "gfx.h" #include "gfx.h"
#include "champion.h" #include "champion.h"
namespace DM { namespace DM {
enum MouseButton { enum MouseButton {
k0_NoneMouseButton = 0, // present only because of typesafety k0_NoneMouseButton = 0, // present only because of typesafety
k1_LeftMouseButton = 1, k1_LeftMouseButton = 1,
@ -201,35 +198,32 @@ class DMEngine;
#define k3_pointerTypeHand 3 // @ C3_POINTER_TYPE_HAND #define k3_pointerTypeHand 3 // @ C3_POINTER_TYPE_HAND
#define k4_pointerTypeAutoselect 4 // @ C4_POINTER_TYPE_AUTOSELECT #define k4_pointerTypeAutoselect 4 // @ C4_POINTER_TYPE_AUTOSELECT
class EventManager { class EventManager {
DMEngine *_vm; DMEngine *_vm;
Common::Point _mousePos; Common::Point _mousePos;
uint16 _dummyMapIndex; uint16 _dummyMapIndex;
bool _g436_pendingClickPresent; // G0436_B_PendingClickPresent bool _pendingClickPresent; // G0436_B_PendingClickPresent
Common::Point _g437_pendingClickPos; // @ G0437_i_PendingClickX, G0438_i_PendingClickY Common::Point _pendingClickPos; // @ G0437_i_PendingClickX, G0438_i_PendingClickY
MouseButton _g439_pendingClickButton; // @ G0439_i_PendingClickButtonsStatus MouseButton _pendingClickButton; // @ G0439_i_PendingClickButtonsStatus
bool _g600_useObjectAsMousePointerBitmap; // @ G0600_B_UseObjectAsMousePointerBitmap bool _useObjectAsMousePointerBitmap; // @ G0600_B_UseObjectAsMousePointerBitmap
bool _g601_useHandAsMousePointerBitmap; // @ G0601_B_UseHandAsMousePointerBitmap bool _useHandAsMousePointerBitmap; // @ G0601_B_UseHandAsMousePointerBitmap
bool _gK100_preventBuildPointerScreenArea; // @ K0100_B_PreventBuildPointerScreenArea bool _preventBuildPointerScreenArea; // @ K0100_B_PreventBuildPointerScreenArea
byte *_g615_mousePointerOriginalColorsObject; // @ G0615_puc_Bitmap_MousePointerOriginalColorsObject byte *_mousePointerOriginalColorsObject; // @ G0615_puc_Bitmap_MousePointerOriginalColorsObject
byte *_g613_mousePointerOriginalColorsChampionIcon; // @ G0613_puc_Bitmap_MousePointerOriginalColorsChampionIcon byte *_mousePointerOriginalColorsChampionIcon; // @ G0613_puc_Bitmap_MousePointerOriginalColorsChampionIcon
byte *_gK190_mousePointerTempBuffer; // @ K0190_puc_Bitmap_MousePointerTemporaryBuffer byte *_mousePointerTempBuffer; // @ K0190_puc_Bitmap_MousePointerTemporaryBuffer
int16 _gK104_mousePointerType; // @ K0104_i_MousePointerType int16 _mousePointerType; // @ K0104_i_MousePointerType
int16 _gK105_previousMousePointerType; // @ K0105_i_PreviousMousePointerType int16 _previousMousePointerType; // @ K0105_i_PreviousMousePointerType
uint16 _g558_mouseButtonStatus;// @ G0588_i_MouseButtonsStatus uint16 _mouseButtonStatus;// @ G0588_i_MouseButtonsStatus
// this doesn't seem to be used anywhere at all // this doesn't seem to be used anywhere at all
bool _g435_isCommandQueueLocked; // @ G0435_B_CommandQueueLocked bool _isCommandQueueLocked; // @ G0435_B_CommandQueueLocked
Common::Queue<Command> _commandQueue; Common::Queue<Command> _commandQueue;
void f365_commandTurnParty(CommandType cmdType); // @ F0365_COMMAND_ProcessTypes1To2_TurnParty void commandTurnParty(CommandType cmdType); // @ F0365_COMMAND_ProcessTypes1To2_TurnParty
void f366_commandMoveParty(CommandType cmdType); // @ F0366_COMMAND_ProcessTypes3To6_MoveParty void commandMoveParty(CommandType cmdType); // @ F0366_COMMAND_ProcessTypes3To6_MoveParty
bool f375_processType80_clickDungeonView_isLeaderHandObjThrown(int16 posX, int16 posY); // @ F0375_COMMAND_ProcessType80_ClickInDungeonView_IsLeaderHandObjectThrown bool isLeaderHandObjThrown(int16 posX, int16 posY); // @ F0375_COMMAND_ProcessType80_ClickInDungeonView_IsLeaderHandObjectThrown
void setMousePointerFromSpriteData(byte* mouseSprite); void setMousePointerFromSpriteData(byte* mouseSprite);
Box _highlightScreenBox; // @ G0336_i_HighlightBoxX1 Box _highlightScreenBox; // @ G0336_i_HighlightBoxX1
@ -237,25 +231,25 @@ public:
explicit EventManager(DMEngine *vm); explicit EventManager(DMEngine *vm);
~EventManager(); ~EventManager();
MouseInput* _g441_primaryMouseInput;// @ G0441_ps_PrimaryMouseInput MouseInput* _primaryMouseInput;// @ G0441_ps_PrimaryMouseInput
MouseInput* _g442_secondaryMouseInput;// @ G0442_ps_SecondaryMouseInput MouseInput* _secondaryMouseInput;// @ G0442_ps_SecondaryMouseInput
bool _g598_mousePointerBitmapUpdated; // @ G0598_B_MousePointerBitmapUpdated bool _mousePointerBitmapUpdated; // @ G0598_B_MousePointerBitmapUpdated
bool _g326_refreshMousePointerInMainLoop; // @ G0326_B_RefreshMousePointerInMainLoop bool _refreshMousePointerInMainLoop; // @ G0326_B_RefreshMousePointerInMainLoop
bool _g341_highlightBoxEnabled; // @ G0341_B_HighlightBoxEnabled bool _highlightBoxEnabled; // @ G0341_B_HighlightBoxEnabled
uint16 _g599_useChampionIconOrdinalAsMousePointerBitmap; // @ G0599_ui_UseChampionIconOrdinalAsMousePointerBitmap uint16 _useChampionIconOrdinalAsMousePointerBitmap; // @ G0599_ui_UseChampionIconOrdinalAsMousePointerBitmap
KeyboardInput *_g443_primaryKeyboardInput; // @ G0443_ps_PrimaryKeyboardInput KeyboardInput *_primaryKeyboardInput; // @ G0443_ps_PrimaryKeyboardInput
KeyboardInput *_g444_secondaryKeyboardInput; // @ G0444_ps_SecondaryKeyboardInput KeyboardInput *_secondaryKeyboardInput; // @ G0444_ps_SecondaryKeyboardInput
bool _g597_ignoreMouseMovements;// @ G0597_B_IgnoreMouseMovements bool _ignoreMouseMovements;// @ G0597_B_IgnoreMouseMovements
int16 _g587_hideMousePointerRequestCount; // @ G0587_i_HideMousePointerRequestCount int16 _hideMousePointerRequestCount; // @ G0587_i_HideMousePointerRequestCount
void initMouse(); void initMouse();
void f67_setMousePointerToNormal(int16 mousePointer); // @ F0067_MOUSE_SetPointerToNormal void setMousePointerToNormal(int16 mousePointer); // @ F0067_MOUSE_SetPointerToNormal
void f68_setPointerToObject(byte *bitmap); // @ F0068_MOUSE_SetPointerToObject void setPointerToObject(byte *bitmap); // @ F0068_MOUSE_SetPointerToObject
void f71_mouseDropChampionIcon(); // @ F0071_MOUSE_DropChampionIcon void mouseDropChampionIcon(); // @ F0071_MOUSE_DropChampionIcon
void f73_buildpointerScreenArea(int16 mousePosX, int16 mousePosY); // @ F0073_MOUSE_BuildPointerScreenArea void buildpointerScreenArea(int16 mousePosX, int16 mousePosY); // @ F0073_MOUSE_BuildPointerScreenArea
void f69_setMousePointer(); // @ F0069_MOUSE_SetPointer void setMousePointer(); // @ F0069_MOUSE_SetPointer
void f78_showMouse(); // @ F0077_MOUSE_HidePointer_CPSE void showMouse(); // @ F0077_MOUSE_HidePointer_CPSE
void f77_hideMouse(); // @ F0078_MOUSE_ShowPointer void hideMouse(); // @ F0078_MOUSE_ShowPointer
bool isMouseButtonDown(MouseButton button); bool isMouseButtonDown(MouseButton button);
void setMousePos(Common::Point pos); void setMousePos(Common::Point pos);
@ -267,35 +261,34 @@ public:
* If there are no more events, it returns with Common::EVENT_INVALID. * If there are no more events, it returns with Common::EVENT_INVALID.
*/ */
Common::EventType processInput(Common::Event *grabKey = nullptr, Common::Event *grabMouseClick = nullptr); Common::EventType processInput(Common::Event *grabKey = nullptr, Common::Event *grabMouseClick = nullptr);
void f360_processPendingClick(); // @ F0360_COMMAND_ProcessPendingClick void processPendingClick(); // @ F0360_COMMAND_ProcessPendingClick
void f359_processClick(Common::Point mousePos, MouseButton button); // @ F0359_COMMAND_ProcessClick_CPSC void processClick(Common::Point mousePos, MouseButton button); // @ F0359_COMMAND_ProcessClick_CPSC
CommandType f358_getCommandTypeFromMouseInput(MouseInput *input, Common::Point mousePos, MouseButton button); // @ F0358_COMMAND_GetCommandFromMouseInput_CPSC CommandType getCommandTypeFromMouseInput(MouseInput *input, Common::Point mousePos, MouseButton button); // @ F0358_COMMAND_GetCommandFromMouseInput_CPSC
void f380_processCommandQueue(); // @ F0380_COMMAND_ProcessQueue_CPSC void processCommandQueue(); // @ F0380_COMMAND_ProcessQueue_CPSC
void f368_commandSetLeader(ChampionIndex index); // @ F0368_COMMAND_SetLeader void commandSetLeader(ChampionIndex index); // @ F0368_COMMAND_SetLeader
void f372_commandProcessType80ClickInDungeonViewTouchFrontWall(); // @ F0372_COMMAND_ProcessType80_ClickInDungeonView_TouchFrontWall void commandProcessType80ClickInDungeonViewTouchFrontWall(); // @ F0372_COMMAND_ProcessType80_ClickInDungeonView_TouchFrontWall
void f377_commandProcessType80ClickInDungeonView(int16 posX, int16 posY); // @ F0377_COMMAND_ProcessType80_ClickInDungeonView void commandProcessType80ClickInDungeonView(int16 posX, int16 posY); // @ F0377_COMMAND_ProcessType80_ClickInDungeonView
void f282_commandProcessCommands160To162ClickInResurrectReincarnatePanel(CommandType commandType); // @ F0282_CHAMPION_ProcessCommands160To162_ClickInResurrectReincarnatePanel void commandProcessCommands160To162ClickInResurrectReincarnatePanel(CommandType commandType); // @ F0282_CHAMPION_ProcessCommands160To162_ClickInResurrectReincarnatePanel
void f378_commandProcess81ClickInPanel(int16 x, int16 y); // @ F0378_COMMAND_ProcessType81_ClickInPanel void commandProcess81ClickInPanel(int16 x, int16 y); // @ F0378_COMMAND_ProcessType81_ClickInPanel
void f373_processType80_clickInDungeonView_grabLeaderHandObject(uint16 viewCell); // @ F0373_COMMAND_ProcessType80_ClickInDungeonView_GrabLeaderHandObject void processType80_clickInDungeonView_grabLeaderHandObject(uint16 viewCell); // @ F0373_COMMAND_ProcessType80_ClickInDungeonView_GrabLeaderHandObject
void f374_processType80_clickInDungeonViewDropLeaderHandObject(uint16 viewCell); // @ F0374_COMMAND_ProcessType80_ClickInDungeonView_DropLeaderHandObject void processType80_clickInDungeonViewDropLeaderHandObject(uint16 viewCell); // @ F0374_COMMAND_ProcessType80_ClickInDungeonView_DropLeaderHandObject
bool f360_hasPendingClick(Common::Point &point, MouseButton button); // @ F0360_COMMAND_ProcessPendingClick bool hasPendingClick(Common::Point &point, MouseButton button); // @ F0360_COMMAND_ProcessPendingClick
void f379_drawSleepScreen(); // @ F0379_COMMAND_DrawSleepScreen void drawSleepScreen(); // @ F0379_COMMAND_DrawSleepScreen
void f357_discardAllInput(); // @ F0357_COMMAND_DiscardAllInput void discardAllInput(); // @ F0357_COMMAND_DiscardAllInput
void f364_commandTakeStairs(bool stairsGoDown);// @ F0364_COMMAND_TakeStairs void commandTakeStairs(bool stairsGoDown);// @ F0364_COMMAND_TakeStairs
void f367_commandProcessTypes12to27_clickInChampionStatusBox(uint16 champIndex, int16 posX, void commandProcessTypes12to27_clickInChampionStatusBox(uint16 champIndex, int16 posX,
int16 posY); // @ F0367_COMMAND_ProcessTypes12To27_ClickInChampionStatusBox int16 posY); // @ F0367_COMMAND_ProcessTypes12To27_ClickInChampionStatusBox
void f70_mouseProcessCommands125To128_clickOnChampionIcon(uint16 champIconIndex); // @ F0070_MOUSE_ProcessCommands125To128_ClickOnChampionIcon void mouseProcessCommands125To128_clickOnChampionIcon(uint16 champIconIndex); // @ F0070_MOUSE_ProcessCommands125To128_ClickOnChampionIcon
void f370_commandProcessType100_clickInSpellArea(uint16 posX, uint16 posY); // @ F0370_COMMAND_ProcessType100_ClickInSpellArea void commandProcessType100_clickInSpellArea(uint16 posX, uint16 posY); // @ F0370_COMMAND_ProcessType100_ClickInSpellArea
void f369_commandProcessTypes101To108_clickInSpellSymbolsArea(CommandType cmdType); // @ F0369_COMMAND_ProcessTypes101To108_ClickInSpellSymbolsArea_CPSE void commandProcessTypes101To108_clickInSpellSymbolsArea(CommandType cmdType); // @ F0369_COMMAND_ProcessTypes101To108_ClickInSpellSymbolsArea_CPSE
void f371_commandProcessType111To115_ClickInActionArea(int16 posX, int16 posY); // @ F0371_COMMAND_ProcessType111To115_ClickInActionArea_CPSE void commandProcessType111To115_ClickInActionArea(int16 posX, int16 posY); // @ F0371_COMMAND_ProcessType111To115_ClickInActionArea_CPSE
void f544_resetPressingEyeOrMouth(); // @ F0544_INPUT_ResetPressingEyeOrMouth void resetPressingEyeOrMouth(); // @ F0544_INPUT_ResetPressingEyeOrMouth
void f541_waitForMouseOrKeyActivity(); // @ F0541_INPUT_WaitForMouseOrKeyboardActivity void waitForMouseOrKeyActivity(); // @ F0541_INPUT_WaitForMouseOrKeyboardActivity
void f362_commandHighlightBoxEnable(int16 x1, int16 x2, int16 y1, int16 y2); // @ F0362_COMMAND_HighlightBoxEnable void commandHighlightBoxEnable(int16 x1, int16 x2, int16 y1, int16 y2); // @ F0362_COMMAND_HighlightBoxEnable
void f363_highlightBoxDisable(); // @ F0363_COMMAND_HighlightBoxDisable void highlightBoxDisable(); // @ F0363_COMMAND_HighlightBoxDisable
void f6_highlightScreenBox(int16 x1, int16 x2, int16 y1, int16 y2) { warning(false, "STUB METHOD: f6_highlightScreenBox"); } // @ F0006_MAIN_HighlightScreenBox void highlightScreenBox(int16 x1, int16 x2, int16 y1, int16 y2) { warning(false, "STUB METHOD: highlightScreenBox"); } // @ F0006_MAIN_HighlightScreenBox
KeyboardInput _primaryKeyboardInputInterface[7]; // @ G0458_as_Graphic561_PrimaryKeyboardInput_Interface KeyboardInput _primaryKeyboardInputInterface[7]; // @ G0458_as_Graphic561_PrimaryKeyboardInput_Interface
KeyboardInput _secondaryKeyboardInputMovement[19]; // @ G0459_as_Graphic561_SecondaryKeyboardInput_Movement KeyboardInput _secondaryKeyboardInputMovement[19]; // @ G0459_as_Graphic561_SecondaryKeyboardInput_Movement

View File

@ -3842,7 +3842,7 @@ void DisplayMan::f436_STARTEND_FadeToPalette(uint16* P0849_pui_Palette) {
} }
} }
_vm->delay(1); _vm->delay(1);
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
f508_buildPaletteChangeCopperList(_gK16_paletteFadeTemporary, _gK16_paletteFadeTemporary); f508_buildPaletteChangeCopperList(_gK16_paletteFadeTemporary, _gK16_paletteFadeTemporary);
} }
} }

View File

@ -104,7 +104,7 @@ void InventoryMan::f355_toggleInventory(ChampionIndex championIndex) {
if (_vm->indexToOrdinal(championIndex) == AL1102_ui_InventoryChampionOrdinal) { if (_vm->indexToOrdinal(championIndex) == AL1102_ui_InventoryChampionOrdinal) {
championIndex = k4_ChampionCloseInventory; championIndex = k4_ChampionCloseInventory;
} }
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
if (AL1102_ui_InventoryChampionOrdinal) { if (AL1102_ui_InventoryChampionOrdinal) {
_g432_inventoryChampionOrdinal = _vm->indexToOrdinal(kM1_ChampionNone); _g432_inventoryChampionOrdinal = _vm->indexToOrdinal(kM1_ChampionNone);
f334_closeChest(); f334_closeChest();
@ -114,16 +114,16 @@ void InventoryMan::f355_toggleInventory(ChampionIndex championIndex) {
_vm->_championMan->drawChampionState((ChampionIndex)_vm->ordinalToIndex(AL1102_ui_InventoryChampionOrdinal)); _vm->_championMan->drawChampionState((ChampionIndex)_vm->ordinalToIndex(AL1102_ui_InventoryChampionOrdinal));
} }
if (_vm->_championMan->_partyIsSleeping) { if (_vm->_championMan->_partyIsSleeping) {
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
return; return;
} }
if (championIndex == k4_ChampionCloseInventory) { if (championIndex == k4_ChampionCloseInventory) {
_vm->_eventMan->_g326_refreshMousePointerInMainLoop = true; _vm->_eventMan->_refreshMousePointerInMainLoop = true;
_vm->_menuMan->f395_drawMovementArrows(); _vm->_menuMan->f395_drawMovementArrows();
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
_vm->_eventMan->_g442_secondaryMouseInput = _vm->_eventMan->_secondaryMouseInputMovement; _vm->_eventMan->_secondaryMouseInput = _vm->_eventMan->_secondaryMouseInputMovement;
_vm->_eventMan->_g444_secondaryKeyboardInput = _vm->_eventMan->_secondaryKeyboardInputMovement; _vm->_eventMan->_secondaryKeyboardInput = _vm->_eventMan->_secondaryKeyboardInputMovement;
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
_vm->_displayMan->f98_drawFloorAndCeiling(); _vm->_displayMan->f98_drawFloorAndCeiling();
return; return;
} }
@ -161,11 +161,11 @@ void InventoryMan::f355_toggleInventory(ChampionIndex championIndex) {
} }
setFlag(L1103_ps_Champion->_attributes, k0x4000_ChampionAttributeViewport | k0x1000_ChampionAttributeStatusBox | k0x0800_ChampionAttributePanel | k0x0200_ChampionAttributeLoad | k0x0100_ChampionAttributeStatistics | k0x0080_ChampionAttributeNameTitle); setFlag(L1103_ps_Champion->_attributes, k0x4000_ChampionAttributeViewport | k0x1000_ChampionAttributeStatusBox | k0x0800_ChampionAttributePanel | k0x0200_ChampionAttributeLoad | k0x0100_ChampionAttributeStatistics | k0x0080_ChampionAttributeNameTitle);
_vm->_championMan->drawChampionState(championIndex); _vm->_championMan->drawChampionState(championIndex);
_vm->_eventMan->_g598_mousePointerBitmapUpdated = true; _vm->_eventMan->_mousePointerBitmapUpdated = true;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
_vm->_eventMan->_g442_secondaryMouseInput = _vm->_eventMan->_secondaryMouseInputChampionInventory; _vm->_eventMan->_secondaryMouseInput = _vm->_eventMan->_secondaryMouseInputChampionInventory;
_vm->_eventMan->_g444_secondaryKeyboardInput = nullptr; _vm->_eventMan->_secondaryKeyboardInput = nullptr;
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
} }
void InventoryMan::f354_drawStatusBoxPortrait(ChampionIndex championIndex) { void InventoryMan::f354_drawStatusBoxPortrait(ChampionIndex championIndex) {
@ -875,10 +875,10 @@ void InventoryMan::f351_drawChampionSkillsAndStatistics() {
void InventoryMan::f350_drawStopPressingMouth() { void InventoryMan::f350_drawStopPressingMouth() {
f347_drawPanel(); f347_drawPanel();
_vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView); _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
_vm->_eventMan->_g587_hideMousePointerRequestCount = 1; _vm->_eventMan->_hideMousePointerRequestCount = 1;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
} }
void InventoryMan::f353_drawStopPressingEye() { void InventoryMan::f353_drawStopPressingEye() {
@ -890,9 +890,9 @@ void InventoryMan::f353_drawStopPressingEye() {
if ((L1100_T_LeaderHandObject = _vm->_championMan->_leaderHandObject) != Thing::_none) { if ((L1100_T_LeaderHandObject = _vm->_championMan->_leaderHandObject) != Thing::_none) {
_vm->_objectMan->f34_drawLeaderObjectName(L1100_T_LeaderHandObject); _vm->_objectMan->f34_drawLeaderObjectName(L1100_T_LeaderHandObject);
} }
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
} }
void InventoryMan::f349_processCommand70_clickOnMouth() { void InventoryMan::f349_processCommand70_clickOnMouth() {
@ -930,15 +930,15 @@ void InventoryMan::f349_processCommand70_clickOnMouth() {
if (_g424_panelContent == k0_PanelContentFoodWaterPoisoned) { if (_g424_panelContent == k0_PanelContentFoodWaterPoisoned) {
return; return;
} }
_vm->_eventMan->_g597_ignoreMouseMovements = true; _vm->_eventMan->_ignoreMouseMovements = true;
_vm->_pressingMouth = true; _vm->_pressingMouth = true;
if (!_vm->_eventMan->isMouseButtonDown(k1_LeftMouseButton)) { if (!_vm->_eventMan->isMouseButtonDown(k1_LeftMouseButton)) {
_vm->_eventMan->_g597_ignoreMouseMovements = false; _vm->_eventMan->_ignoreMouseMovements = false;
_vm->_pressingMouth = false; _vm->_pressingMouth = false;
_vm->_stopPressingMouth = false; _vm->_stopPressingMouth = false;
} else { } else {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_eventMan->_g587_hideMousePointerRequestCount = 1; _vm->_eventMan->_hideMousePointerRequestCount = 1;
f345_drawPanelFoodWaterPoisoned(); f345_drawPanelFoodWaterPoisoned();
_vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView); _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
} }
@ -970,7 +970,7 @@ void InventoryMan::f349_processCommand70_clickOnMouth() {
L1081_B_RemoveObjectFromLeaderHand = true; L1081_B_RemoveObjectFromLeaderHand = true;
} }
} }
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
if (L1081_B_RemoveObjectFromLeaderHand) { if (L1081_B_RemoveObjectFromLeaderHand) {
_vm->_championMan->getObjectRemovedFromLeaderHand(); _vm->_championMan->getObjectRemovedFromLeaderHand();
} }
@ -1052,7 +1052,7 @@ void InventoryMan::f349_processCommand70_clickOnMouth() {
if (L1081_B_RemoveObjectFromLeaderHand) { if (L1081_B_RemoveObjectFromLeaderHand) {
for (L1086_ui_Counter = 5; --L1086_ui_Counter; _vm->delay(8)) { /* Animate mouth icon */ for (L1086_ui_Counter = 5; --L1086_ui_Counter; _vm->delay(8)) { /* Animate mouth icon */
_vm->_objectMan->f37_drawIconToScreen(k205_IconIndiceMouthOpen + !(L1086_ui_Counter & 0x0001), 56, 46); _vm->_objectMan->f37_drawIconToScreen(k205_IconIndiceMouthOpen + !(L1086_ui_Counter & 0x0001), 56, 46);
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
if (_vm->_engineShouldQuit) if (_vm->_engineShouldQuit)
return; return;
_vm->_displayMan->updateScreen(); _vm->_displayMan->updateScreen();
@ -1068,7 +1068,7 @@ void InventoryMan::f349_processCommand70_clickOnMouth() {
setFlag(L1083_ps_Champion->_attributes, k0x0800_ChampionAttributePanel); setFlag(L1083_ps_Champion->_attributes, k0x0800_ChampionAttributePanel);
} }
_vm->_championMan->drawChampionState((ChampionIndex)L1080_ui_ChampionIndex); _vm->_championMan->drawChampionState((ChampionIndex)L1080_ui_ChampionIndex);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
void InventoryMan::f348_adjustStatisticCurrentValue(Champion* champ, uint16 statIndex, int16 valueDelta) { void InventoryMan::f348_adjustStatisticCurrentValue(Champion* champ, uint16 statIndex, int16 valueDelta) {
@ -1092,18 +1092,18 @@ void InventoryMan::f348_adjustStatisticCurrentValue(Champion* champ, uint16 stat
} }
void InventoryMan::f352_processCommand71_clickOnEye() { void InventoryMan::f352_processCommand71_clickOnEye() {
_vm->_eventMan->_g597_ignoreMouseMovements = true; _vm->_eventMan->_ignoreMouseMovements = true;
_vm->_pressingEye = true; _vm->_pressingEye = true;
if (!_vm->_eventMan->isMouseButtonDown(k1_LeftMouseButton)) { if (!_vm->_eventMan->isMouseButtonDown(k1_LeftMouseButton)) {
_vm->_eventMan->_g597_ignoreMouseMovements = false; _vm->_eventMan->_ignoreMouseMovements = false;
_vm->_pressingEye = false; _vm->_pressingEye = false;
_vm->_stopPressingEye = false; _vm->_stopPressingEye = false;
return; return;
} }
_vm->_eventMan->f357_discardAllInput(); _vm->_eventMan->discardAllInput();
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
_vm->delay(8); _vm->delay(8);
f332_drawIconToViewport(k203_IconIndiceEyeLooking, 12, 13); f332_drawIconToViewport(k203_IconIndiceEyeLooking, 12, 13);
if (_vm->_championMan->_leaderEmptyHanded) { if (_vm->_championMan->_leaderEmptyHanded) {

View File

@ -165,7 +165,7 @@ LoadgameResponse DMEngine::loadgame(int16 slot) {
void DMEngine::saveGame() { void DMEngine::saveGame() {
_menuMan->f456_drawDisabledMenu(); _menuMan->f456_drawDisabledMenu();
_eventMan->f78_showMouse(); _eventMan->showMouse();
switch (getGameLanguage()) { // localized switch (getGameLanguage()) { // localized
default: default:
@ -242,13 +242,13 @@ void DMEngine::saveGame() {
if (saveAndPlayChoice == kSaveAndQuit) { if (saveAndPlayChoice == kSaveAndQuit) {
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
endGame(false); endGame(false);
} }
_restartGameAllowed = true; _restartGameAllowed = true;
_menuMan->f457_drawEnabledMenus(); _menuMan->f457_drawEnabledMenus();
_eventMan->f77_hideMouse(); _eventMan->hideMouse();
} }
Common::String DMEngine::getSavefileName(uint16 slot) { Common::String DMEngine::getSavefileName(uint16 slot) {

View File

@ -118,10 +118,10 @@ MenuMan::~MenuMan() {
} }
void MenuMan::f395_drawMovementArrows() { void MenuMan::f395_drawMovementArrows() {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->f21_blitToScreen(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k13_MovementArrowsIndice), _vm->_displayMan->f21_blitToScreen(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k13_MovementArrowsIndice),
&_vm->_displayMan->_boxMovementArrows, k48_byteWidth, kM1_ColorNoTransparency, 45); &_vm->_displayMan->_boxMovementArrows, k48_byteWidth, kM1_ColorNoTransparency, 45);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
void MenuMan::f388_clearActingChampion() { void MenuMan::f388_clearActingChampion() {
ChampionMan &cm = *_vm->_championMan; ChampionMan &cm = *_vm->_championMan;
@ -180,7 +180,7 @@ T0386006:
void MenuMan::f456_drawDisabledMenu() { void MenuMan::f456_drawDisabledMenu() {
if (!_vm->_championMan->_partyIsSleeping) { if (!_vm->_championMan->_partyIsSleeping) {
_vm->_eventMan->f363_highlightBoxDisable(); _vm->_eventMan->highlightBoxDisable();
_vm->_displayMan->_g578_useByteBoxCoordinates = false; _vm->_displayMan->_g578_useByteBoxCoordinates = false;
if (_vm->_inventoryMan->_g432_inventoryChampionOrdinal) { if (_vm->_inventoryMan->_g432_inventoryChampionOrdinal) {
if (_vm->_inventoryMan->_g424_panelContent == k4_PanelContentChest) { if (_vm->_inventoryMan->_g424_panelContent == k4_PanelContentChest) {
@ -191,7 +191,7 @@ void MenuMan::f456_drawDisabledMenu() {
} }
_vm->_displayMan->f136_shadeScreenBox(&boxSpellArea, k0_ColorBlack); _vm->_displayMan->f136_shadeScreenBox(&boxSpellArea, k0_ColorBlack);
_vm->_displayMan->f136_shadeScreenBox(&boxActionArea, k0_ColorBlack); _vm->_displayMan->f136_shadeScreenBox(&boxActionArea, k0_ColorBlack);
_vm->_eventMan->f67_setMousePointerToNormal(k0_pointerArrow); _vm->_eventMan->setMousePointerToNormal(k0_pointerArrow);
} }
} }
@ -255,7 +255,7 @@ void MenuMan::f387_drawActionArea() {
ChampionMan &champMan = *_vm->_championMan; ChampionMan &champMan = *_vm->_championMan;
TextMan &textMan = *_vm->_textMan; TextMan &textMan = *_vm->_textMan;
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
dispMan._g578_useByteBoxCoordinates = false; dispMan._g578_useByteBoxCoordinates = false;
dispMan.D24_fillScreenBox(boxActionArea, k0_ColorBlack); dispMan.D24_fillScreenBox(boxActionArea, k0_ColorBlack);
if (_g509_actionAreaContainsIcons) { if (_g509_actionAreaContainsIcons) {
@ -278,7 +278,7 @@ void MenuMan::f387_drawActionArea() {
k12_ActionNameMaximumLength, k200_heightScreen); k12_ActionNameMaximumLength, k200_heightScreen);
} }
} }
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_g508_refreshActionArea = false; _g508_refreshActionArea = false;
} }
@ -306,25 +306,25 @@ void MenuMan::f393_drawSpellAreaControls(ChampionIndex champIndex) {
int16 champHP1 = _vm->_championMan->_champions[1]._currHealth; int16 champHP1 = _vm->_championMan->_champions[1]._currHealth;
int16 champHP2 = _vm->_championMan->_champions[2]._currHealth; int16 champHP2 = _vm->_championMan->_champions[2]._currHealth;
int16 champHP3 = _vm->_championMan->_champions[3]._currHealth; int16 champHP3 = _vm->_championMan->_champions[3]._currHealth;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->D24_fillScreenBox(boxSpellAreaControls, k0_ColorBlack); _vm->_displayMan->D24_fillScreenBox(boxSpellAreaControls, k0_ColorBlack);
switch (champIndex) { switch (champIndex) {
case 0: case 0:
_vm->_eventMan->f6_highlightScreenBox(233, 277, 42, 49); _vm->_eventMan->highlightScreenBox(233, 277, 42, 49);
_vm->_textMan->f53_printToLogicalScreen(235, 48, k0_ColorBlack, k4_ColorCyan, champ->_name); _vm->_textMan->f53_printToLogicalScreen(235, 48, k0_ColorBlack, k4_ColorCyan, champ->_name);
if (_vm->_championMan->_partyChampionCount > 1) { if (_vm->_championMan->_partyChampionCount > 1) {
if (champHP1) { if (champHP1) {
_vm->_eventMan->f6_highlightScreenBox(280, 291, 42, 48); _vm->_eventMan->highlightScreenBox(280, 291, 42, 48);
} }
T0393002: T0393002:
if (_vm->_championMan->_partyChampionCount > 2) { if (_vm->_championMan->_partyChampionCount > 2) {
if (champHP2) { if (champHP2) {
_vm->_eventMan->f6_highlightScreenBox(294, 305, 42, 48); _vm->_eventMan->highlightScreenBox(294, 305, 42, 48);
} }
T0393003: T0393003:
if (_vm->_championMan->_partyChampionCount > 3) { if (_vm->_championMan->_partyChampionCount > 3) {
if (champHP3) { if (champHP3) {
_vm->_eventMan->f6_highlightScreenBox(308, 319, 42, 48); _vm->_eventMan->highlightScreenBox(308, 319, 42, 48);
} }
} }
} }
@ -332,38 +332,38 @@ T0393003:
break; break;
case 1: case 1:
if (champHP0) { if (champHP0) {
_vm->_eventMan->f6_highlightScreenBox(233, 244, 42, 48); _vm->_eventMan->highlightScreenBox(233, 244, 42, 48);
} }
_vm->_eventMan->f6_highlightScreenBox(247, 291, 42, 49); _vm->_eventMan->highlightScreenBox(247, 291, 42, 49);
_vm->_textMan->f53_printToLogicalScreen(249, 48, k0_ColorBlack, k4_ColorCyan, champ->_name); _vm->_textMan->f53_printToLogicalScreen(249, 48, k0_ColorBlack, k4_ColorCyan, champ->_name);
goto T0393002; goto T0393002;
case 2: case 2:
if (champHP0) { if (champHP0) {
_vm->_eventMan->f6_highlightScreenBox(233, 244, 42, 48); _vm->_eventMan->highlightScreenBox(233, 244, 42, 48);
} }
if (champHP1) { if (champHP1) {
_vm->_eventMan->f6_highlightScreenBox(247, 258, 42, 48); _vm->_eventMan->highlightScreenBox(247, 258, 42, 48);
} }
_vm->_eventMan->f6_highlightScreenBox(261, 305, 42, 49); _vm->_eventMan->highlightScreenBox(261, 305, 42, 49);
_vm->_textMan->f53_printToLogicalScreen(263, 48, k0_ColorBlack, k4_ColorCyan, champ->_name); _vm->_textMan->f53_printToLogicalScreen(263, 48, k0_ColorBlack, k4_ColorCyan, champ->_name);
goto T0393003; goto T0393003;
case 3: case 3:
if (champHP0) { if (champHP0) {
_vm->_eventMan->f6_highlightScreenBox(233, 244, 42, 48); _vm->_eventMan->highlightScreenBox(233, 244, 42, 48);
} }
if (champHP1) { if (champHP1) {
_vm->_eventMan->f6_highlightScreenBox(247, 258, 42, 48); _vm->_eventMan->highlightScreenBox(247, 258, 42, 48);
} }
if (champHP2) { if (champHP2) {
_vm->_eventMan->f6_highlightScreenBox(261, 272, 42, 48); _vm->_eventMan->highlightScreenBox(261, 272, 42, 48);
} }
_vm->_eventMan->f6_highlightScreenBox(275, 319, 42, 49); _vm->_eventMan->highlightScreenBox(275, 319, 42, 49);
_vm->_textMan->f53_printToLogicalScreen(277, 48, k0_ColorBlack, k4_ColorCyan, champ->_name); _vm->_textMan->f53_printToLogicalScreen(277, 48, k0_ColorBlack, k4_ColorCyan, champ->_name);
break; break;
default: default:
break; break;
} }
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
#define k2_SpellAreaAvailableSymbols 2 // @ C2_SPELL_AREA_AVAILABLE_SYMBOLS #define k2_SpellAreaAvailableSymbols 2 // @ C2_SPELL_AREA_AVAILABLE_SYMBOLS
@ -405,26 +405,26 @@ void MenuMan::f394_setMagicCasterAndDrawSpellArea(int16 champIndex) {
return; return;
} }
if (_vm->_championMan->_magicCasterChampionIndex == kM1_ChampionNone) { if (_vm->_championMan->_magicCasterChampionIndex == kM1_ChampionNone) {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->f21_blitToScreen(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k9_MenuSpellAreaBackground), &boxSpellArea, k48_byteWidth, kM1_ColorNoTransparency, 33); _vm->_displayMan->f21_blitToScreen(_vm->_displayMan->f489_getNativeBitmapOrGraphic(k9_MenuSpellAreaBackground), &boxSpellArea, k48_byteWidth, kM1_ColorNoTransparency, 33);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
if (champIndex == kM1_ChampionNone) { if (champIndex == kM1_ChampionNone) {
_vm->_championMan->_magicCasterChampionIndex = kM1_ChampionNone; _vm->_championMan->_magicCasterChampionIndex = kM1_ChampionNone;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->_g578_useByteBoxCoordinates = false; _vm->_displayMan->_g578_useByteBoxCoordinates = false;
_vm->_displayMan->D24_fillScreenBox(boxSpellArea, k0_ColorBlack); _vm->_displayMan->D24_fillScreenBox(boxSpellArea, k0_ColorBlack);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
return; return;
} }
L1213_ps_Champion = &_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex = (ChampionIndex)champIndex]; L1213_ps_Champion = &_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex = (ChampionIndex)champIndex];
f392_buildSpellAreaLine(k2_SpellAreaAvailableSymbols); f392_buildSpellAreaLine(k2_SpellAreaAvailableSymbols);
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
f393_drawSpellAreaControls((ChampionIndex)champIndex); f393_drawSpellAreaControls((ChampionIndex)champIndex);
_vm->_displayMan->f21_blitToScreen(_gK72_bitmapSpellAreaLine, &boxSpellAreaLine2, k48_byteWidth, kM1_ColorNoTransparency, 12); _vm->_displayMan->f21_blitToScreen(_gK72_bitmapSpellAreaLine, &boxSpellAreaLine2, k48_byteWidth, kM1_ColorNoTransparency, 12);
f392_buildSpellAreaLine(k3_SpellAreaChampionSymbols); f392_buildSpellAreaLine(k3_SpellAreaChampionSymbols);
_vm->_displayMan->f21_blitToScreen(_gK72_bitmapSpellAreaLine, &boxSpellAreaLine3, k48_byteWidth, kM1_ColorNoTransparency, 12); _vm->_displayMan->f21_blitToScreen(_gK72_bitmapSpellAreaLine, &boxSpellAreaLine3, k48_byteWidth, kM1_ColorNoTransparency, 12);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
void MenuMan::f457_drawEnabledMenus() { void MenuMan::f457_drawEnabledMenus() {
@ -434,7 +434,7 @@ void MenuMan::f457_drawEnabledMenus() {
if (_vm->_championMan->_partyIsSleeping) { if (_vm->_championMan->_partyIsSleeping) {
_vm->_eventMan->f379_drawSleepScreen(); _vm->_eventMan->drawSleepScreen();
_vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView); _vm->_displayMan->f97_drawViewport(k0_viewportNotDungeonView);
} else { } else {
AL1462_i_MagicCasterChampionIndex = _vm->_championMan->_magicCasterChampionIndex; AL1462_i_MagicCasterChampionIndex = _vm->_championMan->_magicCasterChampionIndex;
@ -452,7 +452,7 @@ void MenuMan::f457_drawEnabledMenus() {
_vm->_displayMan->f98_drawFloorAndCeiling(); _vm->_displayMan->f98_drawFloorAndCeiling();
f395_drawMovementArrows(); f395_drawMovementArrows();
} }
_vm->_eventMan->f69_setMousePointer(); _vm->_eventMan->setMousePointer();
} }
} }
@ -462,8 +462,8 @@ int16 MenuMan::f408_getClickOnSpellCastResult() {
L1260_ps_Champion = &_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex]; L1260_ps_Champion = &_vm->_championMan->_champions[_vm->_championMan->_magicCasterChampionIndex];
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_eventMan->f363_highlightBoxDisable(); _vm->_eventMan->highlightBoxDisable();
if ((L1259_i_SpellCastResult = f412_getChampionSpellCastResult(_vm->_championMan->_magicCasterChampionIndex)) != k3_spellCastFailureNeedsFlask) { if ((L1259_i_SpellCastResult = f412_getChampionSpellCastResult(_vm->_championMan->_magicCasterChampionIndex)) != k3_spellCastFailureNeedsFlask) {
L1260_ps_Champion->_symbols[0] = '\0'; L1260_ps_Champion->_symbols[0] = '\0';
f397_drawAvailableSymbols(L1260_ps_Champion->_symbolStep = 0); f397_drawAvailableSymbols(L1260_ps_Champion->_symbolStep = 0);
@ -471,7 +471,7 @@ int16 MenuMan::f408_getClickOnSpellCastResult() {
} else { } else {
L1259_i_SpellCastResult = k0_spellCastFailure; L1259_i_SpellCastResult = k0_spellCastFailure;
} }
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
return L1259_i_SpellCastResult; return L1259_i_SpellCastResult;
} }
@ -857,11 +857,11 @@ void MenuMan::f399_addChampionSymbol(int16 symbolIndex) {
L1225_ps_Champion->_symbols[L1222_ui_SymbolStep] = 96 + (L1222_ui_SymbolStep * 6) + symbolIndex; L1225_ps_Champion->_symbols[L1222_ui_SymbolStep] = 96 + (L1222_ui_SymbolStep * 6) + symbolIndex;
L1225_ps_Champion->_symbols[L1222_ui_SymbolStep + 1] = '\0'; L1225_ps_Champion->_symbols[L1222_ui_SymbolStep + 1] = '\0';
L1225_ps_Champion->_symbolStep = L1222_ui_SymbolStep = returnNextVal(L1222_ui_SymbolStep); L1225_ps_Champion->_symbolStep = L1222_ui_SymbolStep = returnNextVal(L1222_ui_SymbolStep);
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
f397_drawAvailableSymbols(L1222_ui_SymbolStep); f397_drawAvailableSymbols(L1222_ui_SymbolStep);
f398_drawChampionSymbols(L1225_ps_Champion); f398_drawChampionSymbols(L1225_ps_Champion);
_vm->_championMan->drawChampionState(_vm->_championMan->_magicCasterChampionIndex); _vm->_championMan->drawChampionState(_vm->_championMan->_magicCasterChampionIndex);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
} }
@ -875,10 +875,10 @@ void MenuMan::f400_deleteChampionSymbol() {
} }
L1228_ps_Champion->_symbolStep = L1226_ui_SymbolStep = returnPrevVal(L1228_ps_Champion->_symbolStep); L1228_ps_Champion->_symbolStep = L1226_ui_SymbolStep = returnPrevVal(L1228_ps_Champion->_symbolStep);
L1228_ps_Champion->_symbols[L1226_ui_SymbolStep] = '\0'; L1228_ps_Champion->_symbols[L1226_ui_SymbolStep] = '\0';
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
f397_drawAvailableSymbols(L1226_ui_SymbolStep); f397_drawAvailableSymbols(L1226_ui_SymbolStep);
f398_drawChampionSymbols(L1228_ps_Champion); f398_drawChampionSymbols(L1228_ps_Champion);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
bool MenuMan::f391_didClickTriggerAction(int16 actionListIndex) { bool MenuMan::f391_didClickTriggerAction(int16 actionListIndex) {
@ -1725,7 +1725,7 @@ void MenuMan::f385_drawActionDamage(int16 damage) {
const Box* L1180_ps_Box; const Box* L1180_ps_Box;
int16 L1643_i_Width; int16 L1643_i_Width;
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_displayMan->_g578_useByteBoxCoordinates = false; _vm->_displayMan->_g578_useByteBoxCoordinates = false;
_vm->_displayMan->D24_fillScreenBox(boxActionArea, k0_ColorBlack); _vm->_displayMan->D24_fillScreenBox(boxActionArea, k0_ColorBlack);
if (damage < 0) { if (damage < 0) {
@ -1791,6 +1791,6 @@ void MenuMan::f385_drawActionDamage(int16 damage) {
} while (damage /= 10); } while (damage /= 10);
_vm->_textMan->f53_printToLogicalScreen(AL1176_i_X, 100, k4_ColorCyan, k0_ColorBlack, &L1179_ac_String[AL1174_ui_CharacterIndex]); _vm->_textMan->f53_printToLogicalScreen(AL1176_i_X, 100, k4_ColorCyan, k0_ColorBlack, &L1179_ac_String[AL1174_ui_CharacterIndex]);
} }
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} }
} }

View File

@ -993,9 +993,9 @@ void Timeline::f254_timelineProcessEvent12_hideDamageReceived(uint16 champIndex)
return; return;
} }
if (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) { if (_vm->indexToOrdinal(champIndex) == _vm->_inventoryMan->_g432_inventoryChampionOrdinal) {
_vm->_eventMan->f78_showMouse(); _vm->_eventMan->showMouse();
_vm->_inventoryMan->f354_drawStatusBoxPortrait((ChampionIndex)champIndex); _vm->_inventoryMan->f354_drawStatusBoxPortrait((ChampionIndex)champIndex);
_vm->_eventMan->f77_hideMouse(); _vm->_eventMan->hideMouse();
} else { } else {
setFlag(L0663_ps_Champion->_attributes, k0x0080_ChampionAttributeNameTitle); setFlag(L0663_ps_Champion->_attributes, k0x0080_ChampionAttributeNameTitle);
_vm->_championMan->drawChampionState((ChampionIndex)champIndex); _vm->_championMan->drawChampionState((ChampionIndex)champIndex);