void DreamWebEngine::inventory() { if (_vars._manDead == 1 || _vars._watchingTime != 0) { blank(); return; } commandOnlyCond(32, 239); if (_mouseButton == _oldButton) return; if (!(_mouseButton & 1)) // only on left mouse button return; _timeCount = 0; _pointerMode = 0; _inMapArea = 0; animPointer(); createPanel(); showPanel(); examIcon(); showMan(); showExit(); underTextLine(); _pickUp = 0; _invOpen = 2; openInv(); readMouse(); showPointer(); workToScreen(); delPointer(); _openedOb = 255; examineOb(false); }
void DreamWebEngine::talk() { _talkPos = 0; _inMapArea = 0; _character = _command; createPanel(); showPanel(); showMan(); showExit(); underTextLine(); convIcons(); startTalk(); _commandType = 255; readMouse(); showPointer(); workToScreen(); RectWithCallback<DreamWebEngine> talkList[] = { { 273,320,157,198,&DreamWebEngine::getBack1 }, { 240,290,2,44,&DreamWebEngine::moreTalk }, { 0,320,0,200,&DreamWebEngine::blank }, { 0xFFFF,0,0,0,0 } }; do { delPointer(); readMouse(); animPointer(); showPointer(); vSync(); dumpPointer(); dumpTextLine(); _getBack = 0; checkCoords(talkList); if (_quitRequested) break; } while (!_getBack); if (_talkPos >= 4) _personData->b7 |= 128; redrawMainScrn(); workToScreenM(); if (_speechLoaded) { cancelCh1(); _volumeDirection = -1; _volumeTo = 0; } }
bool DreamWebEngine::hangOnPQ() { _getBack = 0; RectWithCallback<DreamWebEngine> quitList[] = { { 273,320,157,198,&DreamWebEngine::getBack1 }, { 0,320,0,200,&DreamWebEngine::blank }, { 0xFFFF,0,0,0,0 } }; uint16 speechFlag = 0; do { delPointer(); readMouse(); animPointer(); showPointer(); vSync(); dumpPointer(); dumpTextLine(); checkCoords(quitList); if (_getBack == 1 || _quitRequested) { // Quit conversation delPointer(); _pointerMode = 0; cancelCh1(); return true; } if (_speechLoaded && _channel1Playing == 255) { speechFlag++; if (speechFlag == 40) break; } } while (!_mouseButton || _oldButton); delPointer(); _pointerMode = 0; return false; }