diff options
| author | Johannes Schickel | 2013-08-03 02:41:16 +0200 | 
|---|---|---|
| committer | Johannes Schickel | 2013-08-03 04:02:52 +0200 | 
| commit | aca802bd701e0043040e82f0fd61d9cf9ff3ab95 (patch) | |
| tree | 1de99397c299f6138308fdb8e9a6f029263564ac | |
| parent | ccaf4d865c46402f9e5d800956c414fd134b5dc9 (diff) | |
| download | scummvm-rg350-aca802bd701e0043040e82f0fd61d9cf9ff3ab95.tar.gz scummvm-rg350-aca802bd701e0043040e82f0fd61d9cf9ff3ab95.tar.bz2 scummvm-rg350-aca802bd701e0043040e82f0fd61d9cf9ff3ab95.zip | |
PEGASUS: Take advantage of Surface::getPixels.
| -rw-r--r-- | engines/pegasus/cursor.cpp | 6 | ||||
| -rw-r--r-- | engines/pegasus/graphics.cpp | 2 | ||||
| -rw-r--r-- | engines/pegasus/neighborhood/caldoria/caldoria.cpp | 4 | ||||
| -rw-r--r-- | engines/pegasus/pegasus.cpp | 10 | ||||
| -rw-r--r-- | engines/pegasus/transition.cpp | 2 | 
5 files changed, 12 insertions, 12 deletions
| diff --git a/engines/pegasus/cursor.cpp b/engines/pegasus/cursor.cpp index dcf6749620..ad0d2c2d7d 100644 --- a/engines/pegasus/cursor.cpp +++ b/engines/pegasus/cursor.cpp @@ -85,9 +85,9 @@ void Cursor::setCurrentFrameIndex(int32 index) {  			if (_info[index].surface->format.bytesPerPixel == 1) {  				CursorMan.replaceCursorPalette(_info[index].palette, 0, _info[index].colorCount); -				CursorMan.replaceCursor(_info[index].surface->getBasePtr(0, 0), _info[index].surface->w, _info[index].surface->h, _info[index].hotspot.x, _info[index].hotspot.y, 0); +				CursorMan.replaceCursor(_info[index].surface->getPixels(), _info[index].surface->w, _info[index].surface->h, _info[index].hotspot.x, _info[index].hotspot.y, 0);  			} else { -				CursorMan.replaceCursor(_info[index].surface->getBasePtr(0, 0), _info[index].surface->w, _info[index].surface->h, _info[index].hotspot.x, _info[index].hotspot.y, _info[index].surface->format.RGBToColor(0xFF, 0xFF, 0xFF), false, &_info[index].surface->format); +				CursorMan.replaceCursor(_info[index].surface->getPixels(), _info[index].surface->w, _info[index].surface->h, _info[index].hotspot.x, _info[index].hotspot.y, _info[index].surface->format.RGBToColor(0xFF, 0xFF, 0xFF), false, &_info[index].surface->format);  			}  			((PegasusEngine *)g_engine)->_gfx->markCursorAsDirty(); @@ -203,7 +203,7 @@ void Cursor::loadCursorImage(CursorInfo &cursorInfo) {  	// PixMap data  	if (pixMap.pixelSize == 8) {  		cursorInfo.surface->create(pixMap.rowBytes, pixMap.bounds.height(), Graphics::PixelFormat::createFormatCLUT8()); -		cicnStream->read(cursorInfo.surface->getBasePtr(0, 0), pixMap.rowBytes * pixMap.bounds.height()); +		cicnStream->read(cursorInfo.surface->getPixels(), pixMap.rowBytes * pixMap.bounds.height());  		// While this looks sensible, it actually doesn't work for some cursors  		// (ie. the 'can grab' hand) diff --git a/engines/pegasus/graphics.cpp b/engines/pegasus/graphics.cpp index ee7e7bd9cc..5475108abd 100644 --- a/engines/pegasus/graphics.cpp +++ b/engines/pegasus/graphics.cpp @@ -318,7 +318,7 @@ void GraphicsManager::shakeTheWorld(TimeValue duration, TimeScale scale) {  	}  	if (lastOffset.x != 0 || lastOffset.y != 0) { -		g_system->copyRectToScreen((byte *)oldScreen.getBasePtr(0, 0), oldScreen.pitch, 0, 0, 640, 480); +		g_system->copyRectToScreen((byte *)oldScreen.getPixels(), oldScreen.pitch, 0, 0, 640, 480);  		g_system->updateScreen();  	} diff --git a/engines/pegasus/neighborhood/caldoria/caldoria.cpp b/engines/pegasus/neighborhood/caldoria/caldoria.cpp index 76954afa2b..0b3e1ee040 100644 --- a/engines/pegasus/neighborhood/caldoria/caldoria.cpp +++ b/engines/pegasus/neighborhood/caldoria/caldoria.cpp @@ -200,7 +200,7 @@ void Caldoria::start() {  		const Graphics::Surface *frame = pullbackMovie->decodeNextFrame();  		assert(frame);  		assert(frame->format == g_system->getScreenFormat()); -		g_system->copyRectToScreen((const byte *)frame->getBasePtr(0, 0), frame->pitch, 64, 112, frame->w, frame->h); +		g_system->copyRectToScreen((const byte *)frame->getPixels(), frame->pitch, 64, 112, frame->w, frame->h);  		_vm->_gfx->doFadeInSync(kTwoSeconds * kFifteenTicksPerSecond, kFifteenTicksPerSecond);  		bool saveAllowed = _vm->swapSaveAllowed(false); @@ -216,7 +216,7 @@ void Caldoria::start() {  				frame = pullbackMovie->decodeNextFrame();  				if (frame) { -					g_system->copyRectToScreen((const byte *)frame->getBasePtr(0, 0), frame->pitch, 64, 112, frame->w, frame->h); +					g_system->copyRectToScreen((const byte *)frame->getPixels(), frame->pitch, 64, 112, frame->w, frame->h);  					g_system->updateScreen();  				}  			} diff --git a/engines/pegasus/pegasus.cpp b/engines/pegasus/pegasus.cpp index 83abe4a894..3bd29ce8dd 100644 --- a/engines/pegasus/pegasus.cpp +++ b/engines/pegasus/pegasus.cpp @@ -313,7 +313,7 @@ void PegasusEngine::runIntro() {  				const Graphics::Surface *frame = video->decodeNextFrame();  				if (frame) { -					_system->copyRectToScreen((const byte *)frame->getBasePtr(0, 0), frame->pitch, 0, 0, frame->w, frame->h); +					_system->copyRectToScreen((const byte *)frame->getPixels(), frame->pitch, 0, 0, frame->w, frame->h);  					_system->updateScreen();  				}  			} @@ -1367,7 +1367,7 @@ bool PegasusEngine::playMovieScaled(Video::VideoDecoder *video, uint16 x, uint16  				if (frame->w <= 320 && frame->h <= 240) {  					drawScaledFrame(frame, x, y);  				} else { -					_system->copyRectToScreen((const byte *)frame->getBasePtr(0, 0), frame->pitch, x, y, frame->w, frame->h); +					_system->copyRectToScreen((const byte *)frame->getPixels(), frame->pitch, x, y, frame->w, frame->h);  					_system->updateScreen();  				}  			} @@ -2270,11 +2270,11 @@ void PegasusEngine::drawScaledFrame(const Graphics::Surface *frame, uint16 x, ui  	scaledFrame.create(frame->w * 2, frame->h * 2, frame->format);  	if (frame->format.bytesPerPixel == 2) -		scaleFrame<uint16>((const uint16 *)frame->getBasePtr(0, 0), (uint16 *)scaledFrame.getBasePtr(0, 0), frame->w, frame->h, frame->pitch); +		scaleFrame<uint16>((const uint16 *)frame->getPixels(), (uint16 *)scaledFrame.getPixels(), frame->w, frame->h, frame->pitch);  	else -		scaleFrame<uint32>((const uint32 *)frame->getBasePtr(0, 0), (uint32 *)scaledFrame.getBasePtr(0, 0), frame->w, frame->h, frame->pitch); +		scaleFrame<uint32>((const uint32 *)frame->getPixels(), (uint32 *)scaledFrame.getPixels(), frame->w, frame->h, frame->pitch); -	_system->copyRectToScreen((byte *)scaledFrame.getBasePtr(0, 0), scaledFrame.pitch, x, y, scaledFrame.w, scaledFrame.h); +	_system->copyRectToScreen((byte *)scaledFrame.getPixels(), scaledFrame.pitch, x, y, scaledFrame.w, scaledFrame.h);  	_system->updateScreen();  	scaledFrame.free();  } diff --git a/engines/pegasus/transition.cpp b/engines/pegasus/transition.cpp index 37ea38147e..b736b115ee 100644 --- a/engines/pegasus/transition.cpp +++ b/engines/pegasus/transition.cpp @@ -70,7 +70,7 @@ void ScreenFader::setFaderValue(const int32 value) {  	if (value != getFaderValue()) {  		Fader::setFaderValue(value); -		if (_screen->getBasePtr(0, 0)) { +		if (_screen->getPixels()) {  			// The original game does a gamma fade here using the Mac API. In order to do  			// that, it would require an immense amount of CPU processing. This does a  			// linear fade instead, which looks fairly well, IMO. | 
