void AGOSEngine::o_doClassIcons() { // 126: do class icons Item *item = getNextItemPtr(); uint num = getVarOrByte(); uint a = getVarOrByte(); mouseOff(); if (getGameType() == GType_ELVIRA1) drawIconArray(num, item, 0, a); else drawIconArray(num, item, 0, 1 << a); mouseOn(); }
void AGOSEngine::o_restoreIcons() { // 137 uint num = getVarOrByte(); WindowBlock *window = _windowArray[num & 7]; if (window->iconPtr) drawIconArray(num, window->iconPtr->itemRef, window->iconPtr->line, window->iconPtr->classMask); }
void AGOSEngine_Feeble::checkUp(WindowBlock *window) { uint16 j, k; if (((_variableArray[31] - _variableArray[30]) == 40) && (_variableArray[31] > 52)) { k = (((_variableArray[31] / 52) - 2) % 3); j = k * 6; if (!isBoxDead(j + 201)) { uint index = getWindowNum(window); drawIconArray(index, window->iconPtr->itemRef, 0, window->iconPtr->classMask); animate(4, 9, k + 34, 0, 0, 0); } } if ((_variableArray[31] - _variableArray[30]) == 76) { k = ((_variableArray[31] / 52) % 3); j = k * 6; if (isBoxDead(j + 201)) { animate(4, 9, k + 31, 0, 0, 0); undefineBox(j + 201); undefineBox(j + 202); undefineBox(j + 203); undefineBox(j + 204); undefineBox(j + 205); undefineBox(j + 206); } _variableArray[31] -= 52; _iOverflow = 1; } }
void AGOSEngine::o_doIcons() { // 114 Item *item = getNextItemPtr(); uint num = getVarOrByte(); mouseOff(); drawIconArray(num, item, 0, 0); mouseOn(); }
void AGOSEngine::inventoryUp(WindowBlock *window) { if (window->iconPtr->line == 0) return; mouseOff(); uint index = getWindowNum(window); drawIconArray(index, window->iconPtr->itemRef, window->iconPtr->line - 1, window->iconPtr->classMask); mouseOn(); }
void AGOSEngine::tidyIconArray(uint i) { WindowBlock *window; if (_fcsData2[i]) { mouseOff(); window = _windowArray[i]; drawIconArray(i, window->iconPtr->itemRef, window->iconPtr->line, window->iconPtr->classMask); _fcsData2[i] = 0; mouseOn(); } }
void AGOSEngine::itemChildrenChanged(Item *item) { int i; WindowBlock *window; if (_noParentNotify) return; mouseOff(); for (i = 0; i != 8; i++) { window = _windowArray[i]; if (window && window->iconPtr && window->iconPtr->itemRef == item) { if (_fcsData1[i]) { _fcsData2[i] = true; } else { _fcsData2[i] = false; drawIconArray(i, item, window->iconPtr->line, window->iconPtr->classMask); } } } mouseOn(); }
void AGOSEngine_Feeble::checkDown(WindowBlock *window) { uint16 j, k; if (((_variableArray[31] - _variableArray[30]) == 24) && (_iOverflow == 1)) { uint index = getWindowNum(window); drawIconArray(index, window->iconPtr->itemRef, 0, window->iconPtr->classMask); k = ((_variableArray[31] / 52) % 3); animate(4, 9, k + 25, 0, 0, 0); _variableArray[31] += 52; } if (((_variableArray[31] - _variableArray[30]) == 40) && (_variableArray[30] > 52)) { k = (((_variableArray[31] / 52) + 1) % 3); j = k * 6; if (isBoxDead(j + 201)) { animate(4, 9, k + 28, 0, 0, 0); undefineBox(j + 201); undefineBox(j + 202); undefineBox(j + 203); undefineBox(j + 204); undefineBox(j + 205); undefineBox(j + 206); } } }
void AGOSEngine::inventoryDown(WindowBlock *window) { mouseOff(); uint index = getWindowNum(window); drawIconArray(index, window->iconPtr->itemRef, window->iconPtr->line + 1, window->iconPtr->classMask); mouseOn(); }