[Scummvm-git-logs] scummvm master -> 5b96eb6bff9a35f5867f31c586d26bf58a429900
sev-
sev at scummvm.org
Fri Aug 14 08:47:48 UTC 2020
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
571ce913e1 DIRECTOR: Do not use hardcoded pixel format
e5e82d4cf6 DIRECTOR: Copy over PixelFormat from the WM for simpler access
66f5aadf4e DIRECTOR: Do not set palette in 32bpp mode
ee3e1e3af5 GRAPHICS: MACGUI: More 32bpp enhancements
e2055ddb5d DIRECTOR: Convert video to 32bpp when requested
5b96eb6bff DIRECTOR: Blit >8bpp videos in 32bpp mode
Commit: 571ce913e18623f623256e5c3345f2ab52b70c7d
https://github.com/scummvm/scummvm/commit/571ce913e18623f623256e5c3345f2ab52b70c7d
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-14T10:47:33+02:00
Commit Message:
DIRECTOR: Do not use hardcoded pixel format
Changed paths:
engines/director/movie.cpp
diff --git a/engines/director/movie.cpp b/engines/director/movie.cpp
index 58852ae06f..6049f7116b 100644
--- a/engines/director/movie.cpp
+++ b/engines/director/movie.cpp
@@ -126,10 +126,7 @@ bool Movie::loadArchive() {
_vm->_wm->_screenDims = Common::Rect(windowWidth, windowHeight);
recenter = true;
- if (debugChannelSet(-1, kDebug32bpp))
- initGraphics(windowWidth, windowHeight, new Graphics::PixelFormat(4, 8, 8, 8, 8, 24, 16, 8, 0));
- else
- initGraphics(windowWidth, windowHeight);
+ initGraphics(windowWidth, windowHeight, &_vm->_wm->_pixelformat);
}
}
Commit: e5e82d4cf698fd56d35fdf6d468e950b8401dd72
https://github.com/scummvm/scummvm/commit/e5e82d4cf698fd56d35fdf6d468e950b8401dd72
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-14T10:47:33+02:00
Commit Message:
DIRECTOR: Copy over PixelFormat from the WM for simpler access
Changed paths:
engines/director/director.cpp
engines/director/director.h
engines/director/images.cpp
engines/director/movie.cpp
engines/director/transitions.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index bedb17208a..bb1906fc2a 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -163,6 +163,7 @@ Common::Error DirectorEngine::run() {
_wm = new Graphics::MacWindowManager(wmMode, &_director3QuickDrawPatterns);
_wm->setEngine(this);
+ _pixelformat = _wm->_pixelformat;
_stage = new Window(_wm->getNextId(), false, false, false, _wm, this, true);
*_stage->_refCount += 1;
diff --git a/engines/director/director.h b/engines/director/director.h
index 44c87bf4eb..3c4a54bc94 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -23,15 +23,15 @@
#ifndef DIRECTOR_DIRECTOR_H
#define DIRECTOR_DIRECTOR_H
-#include "common/rect.h"
-#include "common/str-array.h"
#include "common/file.h"
-
#include "common/hashmap.h"
-#include "engines/engine.h"
-
#include "common/hash-ptr.h"
#include "common/hash-str.h"
+#include "common/rect.h"
+#include "common/str-array.h"
+
+#include "engines/engine.h"
+#include "graphics/pixelformat.h"
#include "director/types.h"
#include "director/util.h"
@@ -224,6 +224,7 @@ public:
public:
RandomState _rnd;
Graphics::MacWindowManager *_wm;
+ Graphics::PixelFormat _pixelformat;
public:
int _colorDepth;
diff --git a/engines/director/images.cpp b/engines/director/images.cpp
index c77794e0da..c274f80819 100644
--- a/engines/director/images.cpp
+++ b/engines/director/images.cpp
@@ -112,25 +112,8 @@ BITDDecoder::BITDDecoder(int w, int h, uint16 bitsPerPixel, uint16 pitch, const
pitch = w;
}
- Graphics::PixelFormat pf = Graphics::PixelFormat::createFormatCLUT8();
- switch (bitsPerPixel) {
- case 2:
- break;
- case 4:
- break;
- case 8:
- break;
- case 16:
- break;
- case 32:
- //pf = Graphics::PixelFormat::PixelFormat(bitsPerPixel / 8, 8, 8, 8, 8, 24, 16, 8, 0);
- break;
- default:
- break;
- }
-
// HACK: Create a padded surface by adjusting w after create()
- _surface->create(pitch, h, pf);
+ _surface->create(pitch, h, g_director->_pixelformat);
_surface->w = w;
_palette = palette;
diff --git a/engines/director/movie.cpp b/engines/director/movie.cpp
index 6049f7116b..160281a223 100644
--- a/engines/director/movie.cpp
+++ b/engines/director/movie.cpp
@@ -126,7 +126,7 @@ bool Movie::loadArchive() {
_vm->_wm->_screenDims = Common::Rect(windowWidth, windowHeight);
recenter = true;
- initGraphics(windowWidth, windowHeight, &_vm->_wm->_pixelformat);
+ initGraphics(windowWidth, windowHeight, &_vm->_pixelformat);
}
}
diff --git a/engines/director/transitions.cpp b/engines/director/transitions.cpp
index 34dd76cf1e..8052e21410 100644
--- a/engines/director/transitions.cpp
+++ b/engines/director/transitions.cpp
@@ -156,11 +156,11 @@ void Window::playTransition(uint16 transDuration, uint8 transArea, uint8 transCh
t.duration = 250;
// Cache a copy of the frame before the transition.
- Graphics::ManagedSurface currentFrame(Graphics::ManagedSurface(_composeSurface->w, _composeSurface->h, _wm->_pixelformat));
+ Graphics::ManagedSurface currentFrame(Graphics::ManagedSurface(_composeSurface->w, _composeSurface->h, g_director->_pixelformat));
currentFrame.copyFrom(*_composeSurface);
// If a transition is being played, render the frame after the transition.
- Graphics::ManagedSurface nextFrame(Graphics::ManagedSurface(_composeSurface->w, _composeSurface->h, _wm->_pixelformat));
+ Graphics::ManagedSurface nextFrame(Graphics::ManagedSurface(_composeSurface->w, _composeSurface->h, g_director->_pixelformat));
Common::Rect clipRect;
if (t.area) {
Commit: 66f5aadf4e62e0559a1731d49f6e445a5bfa934f
https://github.com/scummvm/scummvm/commit/66f5aadf4e62e0559a1731d49f6e445a5bfa934f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-14T10:47:33+02:00
Commit Message:
DIRECTOR: Do not set palette in 32bpp mode
Changed paths:
engines/director/graphics.cpp
diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 65053b2907..a9cf04927d 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -788,7 +788,10 @@ bool DirectorEngine::setPalette(int id) {
}
void DirectorEngine::setPalette(byte *palette, uint16 count) {
- _system->getPaletteManager()->setPalette(palette, 0, count);
+ // Pass the palette to OSystem only for 8bpp mode
+ if (_pixelformat.bytesPerPixel == 1)
+ _system->getPaletteManager()->setPalette(palette, 0, count);
+
_currentPalette = palette;
_currentPaletteLength = count;
Commit: ee3e1e3af50133c00aaf5e42ad12d57687895714
https://github.com/scummvm/scummvm/commit/ee3e1e3af50133c00aaf5e42ad12d57687895714
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-14T10:47:33+02:00
Commit Message:
GRAPHICS: MACGUI: More 32bpp enhancements
Changed paths:
graphics/macgui/macwidget.cpp
diff --git a/graphics/macgui/macwidget.cpp b/graphics/macgui/macwidget.cpp
index 4367fd5427..321e9daeb9 100644
--- a/graphics/macgui/macwidget.cpp
+++ b/graphics/macgui/macwidget.cpp
@@ -43,7 +43,7 @@ MacWidget::MacWidget(MacWidget *parent, int x, int y, int w, int h, MacWindowMan
if (parent)
parent->_children.push_back(this);
- _composeSurface = new ManagedSurface(_dims.width(), _dims.height());
+ _composeSurface = new ManagedSurface(_dims.width(), _dims.height(), _wm->_pixelformat);
_composeSurface->clear(_bgcolor);
_active = false;
Commit: e2055ddb5db73425b205cf39c1ef168fbdf855f3
https://github.com/scummvm/scummvm/commit/e2055ddb5db73425b205cf39c1ef168fbdf855f3
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-14T10:47:33+02:00
Commit Message:
DIRECTOR: Convert video to 32bpp when requested
Changed paths:
engines/director/castmember.cpp
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 587db32a68..94fd6665fd 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -320,7 +320,13 @@ Graphics::MacWidget *DigitalVideoCastMember::createWidget(Common::Rect &bbox, Ch
if (frame->format.bytesPerPixel != 1) {
warning("STUB: video >8bpp");
} else {
- widget->getSurface()->blitFrom(*frame);
+ if (g_director->_pixelformat.bytesPerPixel == 1) {
+ widget->getSurface()->blitFrom(*frame);
+ } else {
+ const Graphics::Surface *surf = frame->convertTo(g_director->_pixelformat, g_director->getPalette());
+ widget->getSurface()->blitFrom(*surf);
+ delete surf;
+ }
}
}
Commit: 5b96eb6bff9a35f5867f31c586d26bf58a429900
https://github.com/scummvm/scummvm/commit/5b96eb6bff9a35f5867f31c586d26bf58a429900
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-14T10:47:33+02:00
Commit Message:
DIRECTOR: Blit >8bpp videos in 32bpp mode
Changed paths:
engines/director/castmember.cpp
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 94fd6665fd..5ac43685f1 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -318,7 +318,10 @@ Graphics::MacWidget *DigitalVideoCastMember::createWidget(Common::Rect &bbox, Ch
if (frame) {
if (frame->format.bytesPerPixel != 1) {
- warning("STUB: video >8bpp");
+ if (g_director->_pixelformat.bytesPerPixel == 1)
+ warning("STUB: video >8bpp");
+ else
+ widget->getSurface()->blitFrom(*frame);
} else {
if (g_director->_pixelformat.bytesPerPixel == 1) {
widget->getSurface()->blitFrom(*frame);
More information about the Scummvm-git-logs
mailing list