[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