mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-14 05:38:56 +00:00
SHERLOCK: 3DO: Fix transparency for characters, and speech dialogs
This commit is contained in:
parent
09d3460780
commit
eae00fe6f9
@ -2105,7 +2105,7 @@ void ScalpelUserInterface::summonWindow(bool slideUp, int height) {
|
||||
Screen &screen = *_vm->_screen;
|
||||
|
||||
// Extract the window that's been drawn on the back buffer
|
||||
Surface tempSurface(SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT - height);
|
||||
Surface tempSurface(SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT - height, screen._backBuffer1.format);
|
||||
Common::Rect r(0, height, SHERLOCK_SCREEN_WIDTH, SHERLOCK_SCREEN_HEIGHT);
|
||||
tempSurface.SHblitFrom(screen._backBuffer1, Common::Point(0, 0), r);
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include "sherlock/surface.h"
|
||||
#include "sherlock/fonts.h"
|
||||
#include "sherlock/sherlock.h"
|
||||
|
||||
namespace Sherlock {
|
||||
|
||||
@ -34,6 +35,10 @@ BaseSurface::BaseSurface(int width_, int height_) : Graphics::Screen(width_, hei
|
||||
create(width_, height_);
|
||||
}
|
||||
|
||||
BaseSurface::BaseSurface(int width_, int height_, const Graphics::PixelFormat &pf) :
|
||||
Graphics::Screen(width_, height_, pf), Fonts() {
|
||||
}
|
||||
|
||||
void BaseSurface::writeString(const Common::String &str, const Common::Point &pt, uint overrideColor) {
|
||||
Fonts::writeString(this, str, pt, overrideColor);
|
||||
}
|
||||
@ -62,7 +67,7 @@ void BaseSurface::SHtransBlitFrom(const Graphics::Surface &src, const Common::Po
|
||||
Common::Rect destRect(pt.x, pt.y, pt.x + src.w * SCALE_THRESHOLD / scaleVal,
|
||||
pt.y + src.h * SCALE_THRESHOLD / scaleVal);
|
||||
|
||||
Graphics::Screen::transBlitFrom(src, srcRect, destRect, TRANSPARENCY,
|
||||
Graphics::Screen::transBlitFrom(src, srcRect, destRect, IS_3DO ? 0 : TRANSPARENCY,
|
||||
flipped, overrideColor);
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
* Constructor
|
||||
*/
|
||||
BaseSurface(int width, int height);
|
||||
BaseSurface(int width_, int height_, const Graphics::PixelFormat &pf);
|
||||
|
||||
/**
|
||||
* Draws a surface on this surface
|
||||
@ -122,6 +123,7 @@ protected:
|
||||
public:
|
||||
Surface() : BaseSurface() {}
|
||||
Surface(int width_, int height_) : BaseSurface(width_, height_) {}
|
||||
Surface(int width_, int height_, const Graphics::PixelFormat &pf) : BaseSurface(width_, height_, pf) {}
|
||||
};
|
||||
|
||||
} // End of namespace Sherlock
|
||||
|
Loading…
Reference in New Issue
Block a user