[Scummvm-git-logs] scummvm master -> fa815cc92af339fefa76da902e716f28ba863973
sev-
noreply at scummvm.org
Tue Jul 19 21:47:11 UTC 2022
This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8ee1fcbcb8 GRAPHICS: MACGUI: Implemented debug method for printing WM mode
8b17ee5272 GRAPHICS: MACGUI: Properly load desktop tile if requested
1cd3b914e1 DIRECTOR: Fix desktop mode
76a2c77854 DIRECTOR: Fix quirk for kidsbox
fa815cc92a DIRECTOR: Remove unnecessary global constants
Commit: 8ee1fcbcb8236c5a00f65c7e6f668621cf48b467
https://github.com/scummvm/scummvm/commit/8ee1fcbcb8236c5a00f65c7e6f668621cf48b467
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-07-19T23:46:57+02:00
Commit Message:
GRAPHICS: MACGUI: Implemented debug method for printing WM mode
Changed paths:
graphics/macgui/macwindowmanager.cpp
graphics/macgui/macwindowmanager.h
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 92b04203f39..abde8e9126e 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -1360,4 +1360,49 @@ void MacWindowManager::setEngineRedrawCallback(void *engine, void (*redrawCallba
_redrawEngineCallback = redrawCallback;
}
+void MacWindowManager::printWMMode(int debuglevel) {
+ Common::String out;
+
+ if (_mode & kWMModeNoDesktop)
+ out += "kWMModeNoDesktop";
+ else
+ out += "!kWMModeNoDesktop";
+
+ if (_mode & kWMModeAutohideMenu)
+ out += " kWMModeAutohideMenu";
+
+ if (_mode & kWMModalMenuMode)
+ out += " kWMModalMenuMode";
+
+ if (_mode & kWMModeForceBuiltinFonts)
+ out += " kWMModeForceBuiltinFonts";
+
+ if (_mode & kWMModeUnicode)
+ out += " kWMModeUnicode";
+
+ if (_mode & kWMModeManualDrawWidgets)
+ out += " kWMModeManualDrawWidgets";
+
+ if (_mode & kWMModeFullscreen)
+ out += " kWMModeFullscreen";
+ else
+ out += " !kWMModeFullscreen";
+
+ if (_mode & kWMModeButtonDialogStyle)
+ out += " kWMModeButtonDialogStyle";
+
+ if (_mode & kWMMode32bpp)
+ out += " kWMMode32bpp";
+ else
+ out += " !kWMMode32bpp";
+
+ if (_mode & kWMNoScummVMWallpaper)
+ out += " kWMNoScummVMWallpaper";
+
+ if (_mode & kWMModeWin95)
+ out += " kWMModeWin95";
+
+ debug(debuglevel, "WM mode: %s", out.c_str());
+}
+
} // End of namespace Graphics
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index 8f5e8c81d20..29e6df0ac1e 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -298,6 +298,8 @@ public:
void clearWidgetRefs(MacWidget *widget);
+ void printWMMode(int debuglevel = 0);
+
private:
void replaceCursorType(MacCursorType type);
Commit: 8b17ee5272d8c205fd17a5c8dbae8fd8018a639f
https://github.com/scummvm/scummvm/commit/8b17ee5272d8c205fd17a5c8dbae8fd8018a639f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-07-19T23:46:57+02:00
Commit Message:
GRAPHICS: MACGUI: Properly load desktop tile if requested
Changed paths:
graphics/macgui/macwindowmanager.cpp
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index abde8e9126e..53ca2a712a1 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -167,7 +167,7 @@ MacWindowManager::MacWindowManager(uint32 mode, MacPatterns *patterns, Common::L
_mouseDown = false;
_hoveredWidget = nullptr;
- _mode = mode;
+ _mode = 0;
_language = language;
_menu = 0;
@@ -251,7 +251,7 @@ MacWindowManager::~MacWindowManager() {
void MacWindowManager::setDesktopMode(uint32 mode) {
if (!(mode & Graphics::kWMNoScummVMWallpaper)) {
- if (_mode & Graphics::kWMNoScummVMWallpaper)
+ if (!_mode || (_mode & Graphics::kWMNoScummVMWallpaper))
loadDesktop();
} else if (_desktopBmp) {
_desktopBmp->free();
Commit: 1cd3b914e1786589692ecb3693f52e5f750843a8
https://github.com/scummvm/scummvm/commit/1cd3b914e1786589692ecb3693f52e5f750843a8
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-07-19T23:46:57+02:00
Commit Message:
DIRECTOR: Fix desktop mode
Changed paths:
engines/director/director.cpp
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 9c6ab12e2eb..021faab0064 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -89,7 +89,8 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_wmWidth = 1024;
_wmHeight = 768;
- _wm = new Graphics::MacWindowManager(_wmMode, &_director3QuickDrawPatterns, getLanguage());
+
+ _wm = nullptr;
_gameDataDir = Common::FSNode(ConfMan.get("path"));
@@ -126,8 +127,6 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_surface = nullptr;
_tickBaseline = 0;
-
- gameQuirks(_gameDescription->desc.gameId, _gameDescription->desc.platform);
}
DirectorEngine::~DirectorEngine() {
@@ -181,9 +180,15 @@ Common::Error DirectorEngine::run() {
if (debugChannelSet(-1, kDebug32bpp))
_wmMode |= Graphics::kWMMode32bpp;
- _wm->setDesktopMode(_wmMode);
+ _wm = new Graphics::MacWindowManager(_wmMode, &_director3QuickDrawPatterns, getLanguage());
_wm->setEngine(this);
+ gameQuirks(_gameDescription->desc.gameId, _gameDescription->desc.platform);
+
+ _wm->setDesktopMode(_wmMode);
+
+ _wm->printWMMode();
+
_pixelformat = _wm->_pixelformat;
debug("Director pixelformat is: %s", _pixelformat.toString().c_str());
Commit: 76a2c77854d2572d2f838b9a191eb9af345c3245
https://github.com/scummvm/scummvm/commit/76a2c77854d2572d2f838b9a191eb9af345c3245
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-07-19T23:46:58+02:00
Commit Message:
DIRECTOR: Fix quirk for kidsbox
Changed paths:
engines/director/game-quirks.cpp
diff --git a/engines/director/game-quirks.cpp b/engines/director/game-quirks.cpp
index 3b808cafa93..1fa1ad1f624 100644
--- a/engines/director/game-quirks.cpp
+++ b/engines/director/game-quirks.cpp
@@ -29,7 +29,7 @@ static void quirkKidsBox() {
// 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::kWMModeDesktop;
+ g_director->_wmMode &= !Graphics::kWMModeNoDesktop;
// Game runs in 640x480; clipping it to this size ensures the main
// game window takes up the full screen, and only the splash is windowed.
g_director->_wmWidth = 640;
Commit: fa815cc92af339fefa76da902e716f28ba863973
https://github.com/scummvm/scummvm/commit/fa815cc92af339fefa76da902e716f28ba863973
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-07-19T23:46:58+02:00
Commit Message:
DIRECTOR: Remove unnecessary global constants
Changed paths:
engines/director/director.cpp
engines/director/director.h
diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 021faab0064..1677aaf7e74 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -85,7 +85,7 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
_version = getDescriptionVersion();
_fixStageSize = false;
_fixStageRect = Common::Rect();
- _wmMode = debugChannelSet(-1, kDebugDesktop) ? kWMModeDesktop : kWMModeFullscreen;
+ _wmMode = 0;
_wmWidth = 1024;
_wmHeight = 768;
@@ -177,6 +177,12 @@ Common::Error DirectorEngine::run() {
_currentPalette = nullptr;
+ // we run mac-style menus | and we will redraw all widgets
+ _wmMode = Graphics::kWMModalMenuMode | Graphics::kWMModeManualDrawWidgets;
+
+ if (!debugChannelSet(-1, kDebugDesktop))
+ _wmMode |= Graphics::kWMModeFullscreen | Graphics::kWMModeNoDesktop;
+
if (debugChannelSet(-1, kDebug32bpp))
_wmMode |= Graphics::kWMMode32bpp;
diff --git a/engines/director/director.h b/engines/director/director.h
index 21d4f844575..d576a014a49 100644
--- a/engines/director/director.h
+++ b/engines/director/director.h
@@ -55,10 +55,6 @@ class ManagedSurface;
namespace Director {
-const uint32 kWMModeDesktop = Graphics::kWMModalMenuMode | Graphics::kWMModeManualDrawWidgets;
-const uint32 kWMModeFullscreen = Graphics::kWMModalMenuMode | Graphics::kWMModeNoDesktop
- | Graphics::kWMModeManualDrawWidgets | Graphics::kWMModeFullscreen;
-
class Archive;
class Cast;
class DirectorSound;
More information about the Scummvm-git-logs
mailing list