diff options
| -rw-r--r-- | engines/voyeur/events.cpp | 4 | ||||
| -rw-r--r-- | engines/voyeur/files.cpp | 2 | ||||
| -rw-r--r-- | engines/voyeur/files.h | 6 | ||||
| -rw-r--r-- | engines/voyeur/graphics.cpp | 13 | ||||
| -rw-r--r-- | engines/voyeur/voyeur.cpp | 14 | 
5 files changed, 23 insertions, 16 deletions
diff --git a/engines/voyeur/events.cpp b/engines/voyeur/events.cpp index bc69ea4f42..7f8f55f9aa 100644 --- a/engines/voyeur/events.cpp +++ b/engines/voyeur/events.cpp @@ -81,7 +81,7 @@ void EventsManager::sWaitFlip() {  	for (uint idx = 0; idx < viewPorts.size(); ++idx) {  		ViewPortResource &viewPort = *viewPorts[idx]; -		if (_vm->_graphicsManager._saveBack && (viewPort._flags & 0x40)) { +		if (_vm->_graphicsManager._saveBack && (viewPort._flags & DISPFLAG_40)) {  			Common::Rect *clipPtr = _vm->_graphicsManager._clipPtr;  			_vm->_graphicsManager._clipPtr = &viewPort._clipRect; @@ -91,7 +91,7 @@ void EventsManager::sWaitFlip() {  			_vm->_graphicsManager._clipPtr = clipPtr;  			viewPort._rectListCount[viewPort._pageIndex] = 0;  			viewPort._rectListPtr[viewPort._pageIndex]->clear(); -			viewPort._flags &= 0xFFBF; +			viewPort._flags &= ~DISPFLAG_40;  		}  	}  } diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 335255d3e5..035162bd2b 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -691,7 +691,7 @@ PictureResource::PictureResource(int flags, int select, int pick, int onOff,  }  PictureResource::~PictureResource() { -	delete _imgData; +	delete[] _imgData;  }  /*------------------------------------------------------------------------*/ diff --git a/engines/voyeur/files.h b/engines/voyeur/files.h index 4d8b86f9a6..77b53ccdef 100644 --- a/engines/voyeur/files.h +++ b/engines/voyeur/files.h @@ -201,6 +201,12 @@ public:  	byte *fload(const Common::String &filename, int *size = NULL);  }; +enum DisplayFlag { DISPFLAG_1 = 1, DISPFLAG_2 = 2, DISPFLAG_4 = 4, DISPFLAG_8 = 8,  +	DISPFLAG_10 = 0x10, DISPFLAG_20 = 0x20, DISPFLAG_40 = 0x40, DISPFLAG_80 = 0x80, +	DISPFLAG_100 = 0x100, DISPFLAG_200 = 0x200, DISPFLAG_400 = 0x400,  +	DISPFLAG_800 = 0x800, DISPFLAG_1000 = 0x1000, DISPFLAG_2000 = 0x2000, +	DISPFLAG_4000 = 0x4000, DISPFLAG_VIEWPORT = 0x8000 }; +  class DisplayResource {  public:  	uint16 _flags; diff --git a/engines/voyeur/graphics.cpp b/engines/voyeur/graphics.cpp index 9eacda86c2..b4443a2743 100644 --- a/engines/voyeur/graphics.cpp +++ b/engines/voyeur/graphics.cpp @@ -148,11 +148,11 @@ void GraphicsManager::sDrawPic(DisplayResource *srcDisplay, DisplayResource *des  	PictureResource *srcPic = (PictureResource *)srcDisplay;  	PictureResource *destPic = (PictureResource *)destDisplay; -	if (srcDisplay->_flags & 0x8000) { +	if (srcDisplay->_flags & DISPFLAG_VIEWPORT) {  		// A viewport was passed, not a picture  		srcPic = ((ViewPortResource *)srcDisplay)->_currentPic;  	} -	if (destDisplay->_flags & 0x8000) { +	if (destDisplay->_flags & DISPFLAG_VIEWPORT) {  		destViewPort = (ViewPortResource *)destDisplay;  		destPic = destViewPort->_currentPic;  	} @@ -465,7 +465,7 @@ void GraphicsManager::fillPic(DisplayResource *display, byte onOff) {   * Queues the given picture for display   */  void GraphicsManager::sDisplayPic(PictureResource *pic) { -	if (pic->_flags & 8) { +	if (pic->_flags & DISPFLAG_8) {  		_vm->_eventsManager._intPtr.field2A = READ_LE_UINT32(pic->_imgData) >> _sImageShift;  	} @@ -481,8 +481,9 @@ void GraphicsManager::flipPage() {  	bool flipFlag = false;  	for (uint idx = 0; idx < viewPorts.size(); ++idx) { -		if (viewPorts[idx]->_flags & 0x20) { -			if ((viewPorts[idx]->_flags & 9) == 9) { +		if (viewPorts[idx]->_flags & DISPFLAG_20) { +			if ((viewPorts[idx]->_flags & (DISPFLAG_8 || DISPFLAG_1))  +					== (DISPFLAG_8 || DISPFLAG_1)) {  				if (_planeSelect == idx)  					sDisplayPic(viewPorts[idx]->_currentPic);  				flipFlag = true; @@ -500,7 +501,7 @@ void GraphicsManager::flipPage() {  			assert(viewPort._pageIndex < 2);  			viewPort._currentPic = viewPort._pages[viewPort._pageIndex]; -			viewPort._flags = (viewPort._flags & 0xFFF7) | 0x40; +			viewPort._flags = (viewPort._flags & ~DISPFLAG_8) | DISPFLAG_40;  		}  	}  } diff --git a/engines/voyeur/voyeur.cpp b/engines/voyeur/voyeur.cpp index 3dec56fe6c..a8a072ef86 100644 --- a/engines/voyeur/voyeur.cpp +++ b/engines/voyeur/voyeur.cpp @@ -164,7 +164,7 @@ void VoyeurEngine::doHeadTitle() {  void VoyeurEngine::showConversionScreen() {  	_graphicsManager._backgroundPage = _bVoy->boltEntry(0x502)._picResource;  	(*_graphicsManager._vPort)->setupViewPort(); -	(*_graphicsManager._vPort)->_flags |= 8; +	(*_graphicsManager._vPort)->_flags |= DISPFLAG_8;  	_graphicsManager.flipPage();  	_eventsManager.sWaitFlip(); @@ -187,7 +187,7 @@ void VoyeurEngine::showConversionScreen() {  	if (shouldQuit())  		return; -	(*_graphicsManager._vPort)->_flags |= 8; +	(*_graphicsManager._vPort)->_flags |= DISPFLAG_8;  	_graphicsManager.flipPage();  	_eventsManager.sWaitFlip(); @@ -231,7 +231,7 @@ bool VoyeurEngine::doLock() {  		(*_graphicsManager._vPort)->setupViewPort();  		_graphicsManager._backColors->startFade(); -		(*_graphicsManager._vPort)->_flags |= 8; +		(*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8;  		_graphicsManager.flipPage();  		_eventsManager.sWaitFlip(); @@ -257,7 +257,7 @@ bool VoyeurEngine::doLock() {  		bool breakFlag = false;  		while (!breakFlag && !shouldQuit()) {  			(*_graphicsManager._vPort)->setupViewPort(); -			(*_graphicsManager._vPort)->_flags |= 8; +			(*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8;  			_graphicsManager.flipPage();  			_eventsManager.sWaitFlip(); @@ -268,7 +268,7 @@ bool VoyeurEngine::doLock() {  			_graphicsManager._fontPtr->_justifyHeight = 97;  			(*_graphicsManager._vPort)->drawText(playString); -			(*_graphicsManager._vPort)->_flags |= 8; +			(*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8;  			_graphicsManager.flipPage();  			_eventsManager.sWaitFlip(); @@ -296,7 +296,7 @@ bool VoyeurEngine::doLock() {  					// TODO: Check is the mouse cursor being manually drawn here? I so, refactor  					_graphicsManager.sDrawPic(srcPic, *_graphicsManager._vPort, mousePos); -					(*_graphicsManager._vPort)->_flags |= 8; +					(*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8;  					_graphicsManager.flipPage();  					_eventsManager.sWaitFlip(); @@ -354,7 +354,7 @@ bool VoyeurEngine::doLock() {  		}  		_graphicsManager.fillPic(*_graphicsManager._vPort); -		(*_graphicsManager._vPort)->_flags |= 8; +		(*_graphicsManager._vPort)->_parent->_flags |= DISPFLAG_8;  		_graphicsManager.flipPage();  		_eventsManager.sWaitFlip();  		_graphicsManager.resetPalette();  | 
