mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-07 11:27:44 +00:00
MYST3: Allow the widescreen mod to work in windowed mode
This commit is contained in:
parent
8aaa2606a6
commit
f5319ce6e6
@ -188,7 +188,16 @@ Renderer *createRenderer(OSystem *system) {
|
||||
|
||||
bool fullscreen = ConfMan.getBool("fullscreen");
|
||||
bool isAccelerated = matchingRendererType != Graphics::kRendererTypeTinyGL;
|
||||
system->setupScreen(Renderer::kOriginalWidth, Renderer::kOriginalHeight, fullscreen, isAccelerated);
|
||||
|
||||
uint width;
|
||||
uint height = Renderer::kOriginalHeight;
|
||||
if (ConfMan.getBool("widescreen_mod")) {
|
||||
width = Renderer::kOriginalWidth * Renderer::kOriginalHeight / Renderer::kFrameHeight;
|
||||
} else {
|
||||
width = Renderer::kOriginalWidth;
|
||||
}
|
||||
|
||||
system->setupScreen(width, height, fullscreen, isAccelerated);
|
||||
|
||||
#if defined(USE_OPENGL)
|
||||
// Check the OpenGL context actually supports shaders
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include "engines/myst3/cursor.h"
|
||||
#include "engines/myst3/database.h"
|
||||
#include "engines/myst3/scene.h"
|
||||
#include "engines/myst3/state.h"
|
||||
|
||||
namespace Myst3 {
|
||||
@ -296,7 +297,11 @@ Common::Rect Inventory::getPosition() const {
|
||||
Common::Rect frame;
|
||||
if (_vm->isWideScreenModEnabled()) {
|
||||
frame = Common::Rect(screen.width(), Renderer::kBottomBorderHeight);
|
||||
frame.translate(0, screen.height() - frame.height());
|
||||
|
||||
Common::Rect scenePosition = _vm->_scene->getPosition();
|
||||
int16 top = CLIP<int16>(screen.height() - frame.height(), 0, scenePosition.bottom);
|
||||
|
||||
frame.translate(0, top);
|
||||
} else {
|
||||
frame = Common::Rect(screen.width(), screen.height() * Renderer::kBottomBorderHeight / Renderer::kOriginalHeight);
|
||||
frame.translate(screen.left, screen.top + screen.height() * (Renderer::kTopBorderHeight + Renderer::kFrameHeight) / Renderer::kOriginalHeight);
|
||||
|
@ -22,6 +22,7 @@
|
||||
|
||||
#include "engines/myst3/subtitles.h"
|
||||
#include "engines/myst3/myst3.h"
|
||||
#include "engines/myst3/scene.h"
|
||||
#include "engines/myst3/state.h"
|
||||
|
||||
#include "common/archive.h"
|
||||
@ -535,7 +536,11 @@ Common::Rect Subtitles::getPosition() const {
|
||||
|
||||
if (_vm->isWideScreenModEnabled()) {
|
||||
frame = Common::Rect(screen.width(), Renderer::kBottomBorderHeight);
|
||||
frame.translate(0, screen.height() - frame.height());
|
||||
|
||||
Common::Rect scenePosition = _vm->_scene->getPosition();
|
||||
int16 top = CLIP<int16>(screen.height() - frame.height(), 0, scenePosition.bottom);
|
||||
|
||||
frame.translate(0, top);
|
||||
} else {
|
||||
frame = Common::Rect(screen.width(), screen.height() * Renderer::kBottomBorderHeight / Renderer::kOriginalHeight);
|
||||
frame.translate(screen.left, screen.top + screen.height() * (Renderer::kTopBorderHeight + Renderer::kFrameHeight) / Renderer::kOriginalHeight);
|
||||
|
Loading…
x
Reference in New Issue
Block a user