[Scummvm-git-logs] scummvm master -> 95f7d681c52589292830dd1256ca1904b3721573
sev-
noreply at scummvm.org
Tue Jul 5 23:47:21 UTC 2022
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
3fdc914754 DIRECTOR: promote wmMode to instance variable
d99da56120 DIRECTOR: check _wmMode for desktop
a2d4dfa4a1 DIRECTOR: add Kids Box quirk
95f7d681c5 DIRECTOR: move gameQuirks to end of constructor
Commit: 3fdc914754c67b7d919aba214a82e1395357b918
https://github.com/scummvm/scummvm/commit/3fdc914754c67b7d919aba214a82e1395357b918
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2022-07-06T01:47:16+02:00
Commit Message:
DIRECTOR: promote wmMode to instance variable
Changed paths:
engines/director/director.cpp
engines/director/director.h
engines/director/lingo/lingo-the.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index e7ed56c9f5c..7ba538b3060 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -49,11 +49,6 @@
namespace Director {
-const uint32 wmModeDesktop = Graphics::kWMModalMenuMode | Graphics::kWMModeManualDrawWidgets;
-const uint32 wmModeFullscreen = Graphics::kWMModalMenuMode | Graphics::kWMModeNoDesktop
- | Graphics::kWMModeManualDrawWidgets | Graphics::kWMModeFullscreen;
-uint32 wmMode = 0;
-
DirectorEngine *g_director;
DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gameDesc) : Engine(syst), _gameDescription(gameDesc) {
@@ -90,6 +85,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_version = getDescriptionVersion();
_fixStageSize = false;
_fixStageRect = Common::Rect();
+ _wmMode = debugChannelSet(-1, kDebugDesktop) ? wmModeDesktop : wmModeFullscreen;
_wm = nullptr;
@@ -178,12 +174,10 @@ Common::Error DirectorEngine::run() {
_currentPalette = nullptr;
- wmMode = debugChannelSet(-1, kDebugDesktop) ? wmModeDesktop : wmModeFullscreen;
-
if (debugChannelSet(-1, kDebug32bpp))
- wmMode |= Graphics::kWMMode32bpp;
+ _wmMode |= Graphics::kWMMode32bpp;
- _wm = new Graphics::MacWindowManager(wmMode, &_director3QuickDrawPatterns, getLanguage());
+ _wm = new Graphics::MacWindowManager(_wmMode, &_director3QuickDrawPatterns, getLanguage());
_wm->setEngine(this);
_pixelformat = _wm->_pixelformat;
diff --git a/engines/director/director.h b/engines/director/director.h
index 9e82a6baaf4..bb336d90489 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -55,6 +55,10 @@ class ManagedSurface;
namespace Director {
+const uint32 wmModeDesktop = Graphics::kWMModalMenuMode | Graphics::kWMModeManualDrawWidgets;
+const uint32 wmModeFullscreen = Graphics::kWMModalMenuMode | Graphics::kWMModeNoDesktop
+ | Graphics::kWMModeManualDrawWidgets | Graphics::kWMModeFullscreen;
+
class Archive;
class Cast;
class DirectorSound;
@@ -235,6 +239,7 @@ public:
const DirectorGameDescription *_gameDescription;
Common::FSNode _gameDataDir;
CastMemberID *_clipBoard;
+ uint32 _wmMode;
private:
byte *_currentPalette;
@@ -323,7 +328,6 @@ struct DirectorPlotData {
extern DirectorEngine *g_director;
extern Debugger *g_debugger;
-extern uint32 wmMode;
} // End of namespace Director
diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index cdcf3c30b8f..c2dd875e550 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -999,9 +999,9 @@ void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
break;
case kTheButtonStyle:
if (d.asInt())
- g_director->_wm->_mode = Director::wmMode | Graphics::kWMModeButtonDialogStyle;
+ g_director->_wm->_mode = g_director->_wmMode | Graphics::kWMModeButtonDialogStyle;
else
- g_director->_wm->_mode = Director::wmMode;
+ g_director->_wm->_mode = g_director->_wmMode;
break;
case kTheCast:
setTheCast(id, field, d);
Commit: d99da561201ef860063b37fba03c9f602eef4d82
https://github.com/scummvm/scummvm/commit/d99da561201ef860063b37fba03c9f602eef4d82
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2022-07-06T01:47:16+02:00
Commit Message:
DIRECTOR: check _wmMode for desktop
Changed paths:
engines/director/director.cpp
engines/director/director.h
engines/director/movie.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 7ba538b3060..0187642b4c2 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -187,7 +187,7 @@ Common::Error DirectorEngine::run() {
_stage = new Window(_wm->getNextId(), false, false, false, _wm, this, true);
*_stage->_refCount += 1;
- if (!debugChannelSet(-1, kDebugDesktop))
+ if (!desktopEnabled())
_stage->disableBorder();
_surface = new Graphics::ManagedSurface(1, 1);
@@ -319,4 +319,8 @@ Common::String DirectorEngine::getStartupPath() const {
return _options.startupPath;
}
+bool DirectorEngine::desktopEnabled() {
+ return !(_wmMode & Graphics::kWMModeNoDesktop);
+}
+
} // End of namespace Director
diff --git a/engines/director/director.h b/engines/director/director.h
index bb336d90489..5d687e9f41f 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -204,6 +204,8 @@ public:
Archive *createArchive();
+ bool desktopEnabled();
+
// events.cpp
bool processEvents(bool captureClick = false);
void processEventQUIT();
diff --git a/engines/director/movie.cpp b/engines/director/movie.cpp
index 676de2fddc4..2ac41aa2dd4 100644
--- a/engines/director/movie.cpp
+++ b/engines/director/movie.cpp
@@ -150,8 +150,8 @@ bool Movie::loadArchive() {
// TODO: Add more options for desktop dimensions
if (_window == _vm->getStage()) {
- uint16 windowWidth = debugChannelSet(-1, kDebugDesktop) ? 1024 : _movieRect.width();
- uint16 windowHeight = debugChannelSet(-1, kDebugDesktop) ? 768 : _movieRect.height();
+ uint16 windowWidth = g_director->desktopEnabled() ? 1024 : _movieRect.width();
+ uint16 windowHeight = g_director->desktopEnabled() ? 768 : _movieRect.height();
if (_vm->_wm->_screenDims.width() != windowWidth || _vm->_wm->_screenDims.height() != windowHeight) {
_vm->_wm->resizeScreen(windowWidth, windowHeight);
recenter = true;
@@ -160,7 +160,7 @@ bool Movie::loadArchive() {
}
}
- if (recenter && debugChannelSet(-1, kDebugDesktop))
+ if (recenter && g_director->desktopEnabled())
_window->center(g_director->_centerStage);
_window->setStageColor(_stageColor, true);
Commit: a2d4dfa4a159c87d90809fef5252603ac244851e
https://github.com/scummvm/scummvm/commit/a2d4dfa4a159c87d90809fef5252603ac244851e
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2022-07-06T01:47:16+02:00
Commit Message:
DIRECTOR: add Kids Box quirk
Changed paths:
engines/director/game-quirks.cpp
diff --git a/engines/director/game-quirks.cpp b/engines/director/game-quirks.cpp
index 3391d38d49b..1c84c6ff31d 100644
--- a/engines/director/game-quirks.cpp
+++ b/engines/director/game-quirks.cpp
@@ -23,6 +23,14 @@
namespace Director {
+static void quirkKidsBox() {
+ // Kids Box opens with a 320x150 splash screen before switching to
+ // a full screen 640x480 game window. If desktop mode is off, ScummVM
+ // will pick a game window that fits the splash screen and then try
+ // to squish the full size game window into it.
+ g_director->_wmMode = Director::wmModeDesktop;
+}
+
static void quirkLzone() {
SearchMan.addSubDirectoryMatching(g_director->_gameDataDir, "win_data", 0, 2);
}
@@ -47,6 +55,7 @@ struct Quirk {
Common::Platform platform;
void (*quirk)();
} quirks[] = {
+ { "kidsbox", Common::kPlatformMacintosh, &quirkKidsBox },
{ "lzone", Common::kPlatformWindows, &quirkLzone },
{ "mediaband", Common::kPlatformUnknown, &quirkMediaband },
{ "warlock", Common::kPlatformUnknown, &quirkWarlock },
Commit: 95f7d681c52589292830dd1256ca1904b3721573
https://github.com/scummvm/scummvm/commit/95f7d681c52589292830dd1256ca1904b3721573
Author: Misty De Meo (mistydemeo at gmail.com)
Date: 2022-07-06T01:47:16+02:00
Commit Message:
DIRECTOR: move gameQuirks to end of constructor
Changed paths:
engines/director/director.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 0187642b4c2..b3e8ab82fe7 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -96,8 +96,6 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
SearchMan.addSubDirectoryMatching(_gameDataDir, directoryGlob);
}
- gameQuirks(_gameDescription->desc.gameId, _gameDescription->desc.platform);
-
if (debugChannelSet(-1, kDebug32bpp))
_colorDepth = 32;
else
@@ -124,6 +122,8 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_surface = nullptr;
_tickBaseline = 0;
+
+ gameQuirks(_gameDescription->desc.gameId, _gameDescription->desc.platform);
}
DirectorEngine::~DirectorEngine() {
More information about the Scummvm-git-logs
mailing list