[Scummvm-git-logs] scummvm master -> 0c282ef7564311cb1db082dee4af1bce8c44fe5e

neuromancer neuromancer at users.noreply.github.com
Sun Sep 12 15:20:07 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
0c282ef756 PRIVATE: reduced and improved PS3 specific code


Commit: 0c282ef7564311cb1db082dee4af1bce8c44fe5e
    https://github.com/scummvm/scummvm/commit/0c282ef7564311cb1db082dee4af1bce8c44fe5e
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2021-09-12T17:09:17+02:00

Commit Message:
PRIVATE: reduced and improved PS3 specific code

Changed paths:
    engines/private/private.cpp


diff --git a/engines/private/private.cpp b/engines/private/private.cpp
index 4d3d2d339c..8ac9cff728 100644
--- a/engines/private/private.cpp
+++ b/engines/private/private.cpp
@@ -1242,6 +1242,9 @@ void PrivateEngine::loadImage(const Common::String &name, int x, int y) {
 #ifdef PLAYSTATION3
 	const byte *palette = decodePalette(name);
 	g_system->getPaletteManager()->setPalette(palette, 0, 256);
+
+	if (_mode == 0 && surf->getPixel(0, 0) != _transparentColor)
+		_compositeSurface->clear(surf->getPixel(0, 0));
 #endif
 	_compositeSurface->transBlitFrom(*surf, _origin + Common::Point(x, y), _transparentColor);
 	surf->free();
@@ -1291,32 +1294,6 @@ void PrivateEngine::drawMask(Graphics::Surface *surf) {
 	_compositeSurface->transBlitFrom(*surf, _origin, _transparentColor);
 }
 
-#ifdef PLAYSTATION3
-
-void PrivateEngine::drawScreen() {
-	Graphics::ManagedSurface *surface = _compositeSurface;
-	const Graphics::Surface *frame;
-	if (_videoDecoder && !_videoDecoder->isPaused()) {
-		frame = _videoDecoder->decodeNextFrame();
-		Common::Point center((_screenW - _videoDecoder->getWidth()) / 2, (_screenH - _videoDecoder->getHeight()) / 2);
-		surface->rawBlitFrom(*frame, Common::Rect(0, 0, frame->w, frame->h), center, (const uint32*) _videoDecoder->getPalette());
-		if (_videoDecoder->getPalette() != nullptr)
-			g_system->getPaletteManager()->setPalette(_videoDecoder->getPalette(), 0, 256);
-
-	}
-
-	if (_mode == 1) {
-		drawScreenFrame();
-	}
-
-	Common::Rect w(_origin.x, _origin.y, _screenW - _origin.x, _screenH - _origin.y);
-	Graphics::Surface sa = surface->getSubArea(w);
-	g_system->copyRectToScreen(sa.getPixels(), sa.pitch, _origin.x, _origin.y, sa.w, sa.h);
-	g_system->updateScreen();
-}
-
-#else
-
 void PrivateEngine::drawScreen() {
 	Graphics::ManagedSurface *surface = _compositeSurface;
 	if (_videoDecoder && !_videoDecoder->isPaused()) {
@@ -1324,6 +1301,11 @@ void PrivateEngine::drawScreen() {
 		Graphics::Surface *cframe = frame->convertTo(_pixelFormat, _videoDecoder->getPalette());
 		Common::Point center((_screenW - _videoDecoder->getWidth()) / 2, (_screenH - _videoDecoder->getHeight()) / 2);
 		surface->blitFrom(*cframe, center);
+#ifdef PLAYSTATION3
+		if (_videoDecoder->getPalette() != nullptr)
+			g_system->getPaletteManager()->setPalette(_videoDecoder->getPalette(), 0, 256);
+#endif
+
 		cframe->free();
 		delete cframe;
 	}
@@ -1338,8 +1320,6 @@ void PrivateEngine::drawScreen() {
 	g_system->updateScreen();
 }
 
-#endif
-
 bool PrivateEngine::getRandomBool(uint p) {
 	uint r = _rnd->getRandomNumber(100);
 	return (r <= p);




More information about the Scummvm-git-logs mailing list