[Scummvm-git-logs] scummvm master -> 04f7e8d1c254b13a259740b75b5bbbe47a6d680d

djsrv dservilla at gmail.com
Fri Jul 31 20:44:03 UTC 2020


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:
d4c825b089 GRAPHICS: Allow using Mac WM best color in 9patch
313f4bda00 GRAPHICS: MACGUI: Fix MacWindowBorder::hasOffsets
6189a36d12 GRAPHICS: MACGUI: Add border types
2f1736892a GRAPHICS: MACGUI: Properly update border dims
04f7e8d1c2 DIRECTOR: Set window border types


Commit: d4c825b08903a9ec361054225aa5af3afb0a7ed7
    https://github.com/scummvm/scummvm/commit/d4c825b08903a9ec361054225aa5af3afb0a7ed7
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00

Commit Message:
GRAPHICS: Allow using Mac WM best color in 9patch

Changed paths:
    graphics/macgui/macwindow.cpp
    graphics/macgui/macwindowborder.cpp
    graphics/macgui/macwindowborder.h
    graphics/nine_patch.cpp
    graphics/nine_patch.h


diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index f80459435e..34963c9c23 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -255,7 +255,7 @@ void MacWindow::drawBorderFromSurface(ManagedSurface *g) {
 	inside.moveTo(_macBorder.getOffset().left, _macBorder.getOffset().top);
 	g->fillRect(inside, kColorGreen);
 
-	_macBorder.blitBorderInto(_borderSurface, _active);
+	_macBorder.blitBorderInto(*g, _active, _wm);
 }
 
 void MacWindow::drawSimpleBorder(ManagedSurface *g) {
diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp
index 50fccd3577..995df01d33 100644
--- a/graphics/macgui/macwindowborder.cpp
+++ b/graphics/macgui/macwindowborder.cpp
@@ -84,7 +84,7 @@ Common::Rect &MacWindowBorder::getOffset() {
 	return _borderOffsets;
 }
 
-void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) {
+void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active, MacWindowManager *wm) {
 
 	TransparentSurface srf;
 	NinePatchBitmap *src = active ? _activeBorder : _inactiveBorder;
@@ -104,7 +104,7 @@ void MacWindowBorder::blitBorderInto(ManagedSurface &destination, bool active) {
 	byte palette[kColorCount * 3];
 	g_system->getPaletteManager()->grabPalette(palette, 0, kColorCount);
 
-	src->blit(srf, 0, 0, srf.w, srf.h, palette, kColorCount);
+	src->blit(srf, 0, 0, srf.w, srf.h, NULL, 0, wm);
 	destination.transBlitFrom(srf, kColorGreen2);
 	srf.free();
 }
diff --git a/graphics/macgui/macwindowborder.h b/graphics/macgui/macwindowborder.h
index 330e407460..bfe6f25100 100644
--- a/graphics/macgui/macwindowborder.h
+++ b/graphics/macgui/macwindowborder.h
@@ -98,8 +98,9 @@ public:
 	 * It automatically resizes the border to fit the given surface.
 	 * @param destination The surface we want to blit into.
 	 * @param active True if we want to blit the active border, false otherwise.
+	 * @param wm The window manager.
 	 */
-	void blitBorderInto(ManagedSurface &destination, bool active);
+	void blitBorderInto(ManagedSurface &destination, bool active, MacWindowManager *wm);
 
 private:
 
diff --git a/graphics/nine_patch.cpp b/graphics/nine_patch.cpp
index 155fc39ea9..dc1940c4d0 100644
--- a/graphics/nine_patch.cpp
+++ b/graphics/nine_patch.cpp
@@ -47,6 +47,7 @@
 #include "common/array.h"
 #include "graphics/transparent_surface.h"
 #include "graphics/nine_patch.h"
+#include "graphics/macgui/macwindowmanager.h"
 
 #include "graphics/managed_surface.h"
 
@@ -207,7 +208,7 @@ bad_bitmap:
 	}
 }
 
-void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette, int numColors) {
+void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette, int numColors, MacWindowManager *wm) {
 	/* don't draw bitmaps that are smaller than the fixed area */
 	if (dw < _h._fix || dh < _v._fix)
 		return;
@@ -231,7 +232,7 @@ void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, in
 
 	/* Handle CLUT8 */
 	if (target.format.bytesPerPixel == 1) {
-		if (!palette)
+		if (!palette && !wm)
 			error("NinePatchBitmap::blit(): Trying to blit into a surface with 8bpp, you need a palette.");
 
 		Surface *srf = new Surface();
@@ -244,11 +245,24 @@ void NinePatchBitmap::blit(Graphics::Surface &target, int dx, int dy, int dw, in
 		// recalculated when the palette changes.
 		_cached_colors.clear();
 
-		for (uint i = 0; i < srf->w; ++i) {
-			for (uint j = 0; j < srf->h; ++j) {
-				uint32 color = *(uint32*)srf->getBasePtr(i, j);
-				if (color > 0) {
-					*((byte *)target.getBasePtr(i, j)) = closestGrayscale(color, palette, numColors);
+		if (palette) {
+			for (uint i = 0; i < srf->w; ++i) {
+				for (uint j = 0; j < srf->h; ++j) {
+					uint32 color = *(uint32*)srf->getBasePtr(i, j);
+					if (color > 0) {
+						*((byte *)target.getBasePtr(i, j)) = closestGrayscale(color, palette, numColors);
+					}
+				}
+			}
+		} else {
+			for (uint i = 0; i < srf->w; ++i) {
+				for (uint j = 0; j < srf->h; ++j) {
+					uint32 color = *(uint32*)srf->getBasePtr(i, j);
+					byte r, g, b;
+					_bmp->format.colorToRGB(color, r, g, b);
+					if (color > 0) {
+						*((byte *)target.getBasePtr(i, j)) = wm->findBestColor(r, g, b);
+					}
 				}
 			}
 		}
diff --git a/graphics/nine_patch.h b/graphics/nine_patch.h
index d341919baa..b45c92f09e 100644
--- a/graphics/nine_patch.h
+++ b/graphics/nine_patch.h
@@ -54,6 +54,7 @@ namespace Graphics {
 
 struct TransparentSurface;
 struct Surface;
+struct MacWindowManager;
 
 struct NinePatchMark {
 	int offset;
@@ -88,7 +89,7 @@ public:
 	NinePatchBitmap(Graphics::TransparentSurface *bmp, bool owns_bitmap);
 	~NinePatchBitmap();
 
-	void blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette = NULL, int numColors = 0);
+	void blit(Graphics::Surface &target, int dx, int dy, int dw, int dh, byte *palette = NULL, int numColors = 0, MacWindowManager *wm = NULL);
 	void blitClip(Graphics::Surface &target, Common::Rect clip, int dx, int dy, int dw, int dh);
 
 	int getWidth() { return _width; }


Commit: 313f4bda00c8e77862123a8314928a3e81bdb658
    https://github.com/scummvm/scummvm/commit/313f4bda00c8e77862123a8314928a3e81bdb658
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00

Commit Message:
GRAPHICS: MACGUI: Fix MacWindowBorder::hasOffsets

Changed paths:
    graphics/macgui/macwindowborder.cpp


diff --git a/graphics/macgui/macwindowborder.cpp b/graphics/macgui/macwindowborder.cpp
index 995df01d33..c12df9a64b 100644
--- a/graphics/macgui/macwindowborder.cpp
+++ b/graphics/macgui/macwindowborder.cpp
@@ -66,7 +66,8 @@ void MacWindowBorder::addInactiveBorder(TransparentSurface *source) {
 }
 
 bool MacWindowBorder::hasOffsets() {
-	return _borderOffsets.isValidRect();
+	return _borderOffsets.left > -1 && _borderOffsets.right > -1
+		&& _borderOffsets.top > -1 && _borderOffsets.bottom > -1;
 }
 
 void MacWindowBorder::setOffsets(int left, int right, int top, int bottom) {


Commit: 6189a36d12114ee205b46c7d9cd1ffa11ee1a04d
    https://github.com/scummvm/scummvm/commit/6189a36d12114ee205b46c7d9cd1ffa11ee1a04d
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00

Commit Message:
GRAPHICS: MACGUI: Add border types

Changed paths:
  A devtools/create_macgui/RoundClose_act.bmp
  A devtools/create_macgui/RoundClose_inac.bmp
  A devtools/create_macgui/StandardCloseZoom_act.bmp
  A devtools/create_macgui/StandardCloseZoom_inac.bmp
  A devtools/create_macgui/StandardClose_act.bmp
  A devtools/create_macgui/StandardClose_inac.bmp
  A devtools/create_macgui/Standard_act.bmp
  A devtools/create_macgui/Standard_inac.bmp
  A devtools/create_macgui/ThickNoTitle_act.bmp
  A devtools/create_macgui/ThickNoTitle_inac.bmp
  A devtools/create_macgui/ThickZoom_act.bmp
  A devtools/create_macgui/ThickZoom_inac.bmp
  A devtools/create_macgui/Thick_act.bmp
  A devtools/create_macgui/Thick_inac.bmp
  A devtools/create_macgui/ThinNoTitleShadow_act.bmp
  A devtools/create_macgui/ThinNoTitleShadow_inac.bmp
  A devtools/create_macgui/ThinNoTitle_act.bmp
  A devtools/create_macgui/ThinNoTitle_inac.bmp
  A devtools/create_macgui/create_macgui.sh
  A graphics/macgui/datafiles.cpp
    graphics/macgui/macwindow.cpp
    graphics/macgui/macwindow.h
    graphics/macgui/macwindowmanager.cpp
    graphics/macgui/macwindowmanager.h
    graphics/module.mk


diff --git a/devtools/create_macgui/RoundClose_act.bmp b/devtools/create_macgui/RoundClose_act.bmp
new file mode 100644
index 0000000000..aee9dfbc3e
Binary files /dev/null and b/devtools/create_macgui/RoundClose_act.bmp differ
diff --git a/devtools/create_macgui/RoundClose_inac.bmp b/devtools/create_macgui/RoundClose_inac.bmp
new file mode 100644
index 0000000000..6408a2c85d
Binary files /dev/null and b/devtools/create_macgui/RoundClose_inac.bmp differ
diff --git a/devtools/create_macgui/StandardCloseZoom_act.bmp b/devtools/create_macgui/StandardCloseZoom_act.bmp
new file mode 100644
index 0000000000..e307103f6b
Binary files /dev/null and b/devtools/create_macgui/StandardCloseZoom_act.bmp differ
diff --git a/devtools/create_macgui/StandardCloseZoom_inac.bmp b/devtools/create_macgui/StandardCloseZoom_inac.bmp
new file mode 100644
index 0000000000..fc54b8352e
Binary files /dev/null and b/devtools/create_macgui/StandardCloseZoom_inac.bmp differ
diff --git a/devtools/create_macgui/StandardClose_act.bmp b/devtools/create_macgui/StandardClose_act.bmp
new file mode 100644
index 0000000000..b18fdd321a
Binary files /dev/null and b/devtools/create_macgui/StandardClose_act.bmp differ
diff --git a/devtools/create_macgui/StandardClose_inac.bmp b/devtools/create_macgui/StandardClose_inac.bmp
new file mode 100644
index 0000000000..ca54f5af02
Binary files /dev/null and b/devtools/create_macgui/StandardClose_inac.bmp differ
diff --git a/devtools/create_macgui/Standard_act.bmp b/devtools/create_macgui/Standard_act.bmp
new file mode 100644
index 0000000000..b9d2d0f873
Binary files /dev/null and b/devtools/create_macgui/Standard_act.bmp differ
diff --git a/devtools/create_macgui/Standard_inac.bmp b/devtools/create_macgui/Standard_inac.bmp
new file mode 100644
index 0000000000..c574e27e61
Binary files /dev/null and b/devtools/create_macgui/Standard_inac.bmp differ
diff --git a/devtools/create_macgui/ThickNoTitle_act.bmp b/devtools/create_macgui/ThickNoTitle_act.bmp
new file mode 100644
index 0000000000..997c0cea85
Binary files /dev/null and b/devtools/create_macgui/ThickNoTitle_act.bmp differ
diff --git a/devtools/create_macgui/ThickNoTitle_inac.bmp b/devtools/create_macgui/ThickNoTitle_inac.bmp
new file mode 100644
index 0000000000..dabdeb9f38
Binary files /dev/null and b/devtools/create_macgui/ThickNoTitle_inac.bmp differ
diff --git a/devtools/create_macgui/ThickZoom_act.bmp b/devtools/create_macgui/ThickZoom_act.bmp
new file mode 100644
index 0000000000..47a8d42757
Binary files /dev/null and b/devtools/create_macgui/ThickZoom_act.bmp differ
diff --git a/devtools/create_macgui/ThickZoom_inac.bmp b/devtools/create_macgui/ThickZoom_inac.bmp
new file mode 100644
index 0000000000..8d4c1746f6
Binary files /dev/null and b/devtools/create_macgui/ThickZoom_inac.bmp differ
diff --git a/devtools/create_macgui/Thick_act.bmp b/devtools/create_macgui/Thick_act.bmp
new file mode 100644
index 0000000000..7c0bd82e6c
Binary files /dev/null and b/devtools/create_macgui/Thick_act.bmp differ
diff --git a/devtools/create_macgui/Thick_inac.bmp b/devtools/create_macgui/Thick_inac.bmp
new file mode 100644
index 0000000000..3e51069c90
Binary files /dev/null and b/devtools/create_macgui/Thick_inac.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitleShadow_act.bmp b/devtools/create_macgui/ThinNoTitleShadow_act.bmp
new file mode 100644
index 0000000000..e8fa4d44a7
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitleShadow_act.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitleShadow_inac.bmp b/devtools/create_macgui/ThinNoTitleShadow_inac.bmp
new file mode 100644
index 0000000000..e8fa4d44a7
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitleShadow_inac.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitle_act.bmp b/devtools/create_macgui/ThinNoTitle_act.bmp
new file mode 100644
index 0000000000..8f73ea07db
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitle_act.bmp differ
diff --git a/devtools/create_macgui/ThinNoTitle_inac.bmp b/devtools/create_macgui/ThinNoTitle_inac.bmp
new file mode 100644
index 0000000000..8f73ea07db
Binary files /dev/null and b/devtools/create_macgui/ThinNoTitle_inac.bmp differ
diff --git a/devtools/create_macgui/create_macgui.sh b/devtools/create_macgui/create_macgui.sh
new file mode 100755
index 0000000000..44b4116c51
--- /dev/null
+++ b/devtools/create_macgui/create_macgui.sh
@@ -0,0 +1,8 @@
+printf "Creating border file...\n"
+
+zip -r macgui.zip *.bmp
+mv macgui.zip macgui.dat
+
+echo done
+
+ls -l macgui.dat
diff --git a/graphics/macgui/datafiles.cpp b/graphics/macgui/datafiles.cpp
new file mode 100644
index 0000000000..8d3fe6a93d
--- /dev/null
+++ b/graphics/macgui/datafiles.cpp
@@ -0,0 +1,118 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+/*
+ * Based on MacVenture engine, based on
+ * WebVenture (c) 2010, Sean Kasun
+ * https://github.com/mrkite/webventure, http://seancode.com/webventure/
+ *
+ * Used with explicit permission from the author
+ */
+
+#include "graphics/macgui/macwindowmanager.h"
+
+#include "common/archive.h"
+#include "common/unzip.h"
+
+namespace Graphics {
+
+#define MACGUI_DATA_BUNDLE Common::String("macgui.dat")
+
+struct BorderName {
+	byte type;
+	const char *name;
+	int lo;
+	int ro;
+	int to;
+	int bo;
+};
+
+static const BorderName borders[] = {
+	{0x00, "StandardClose",		1, 2, 20, 2},
+	{0x01, "ThickNoTitle",		5, 5, 5, 5},
+	{0x02, "ThinNoTitle",		1, 1, 1, 1},
+	{0x03, "ThinNoTitleShadow",	1, 3, 1, 3},
+	{0x04, "StandardClose",		1, 2, 20, 2},
+	{0x05, "Thick",				5, 5, 20, 5},
+	{0x06, "ThinNoTitle",		1, 1, 1, 1},
+	{0x07, "ThinNoTitleShadow",	1, 3, 1, 3},
+	{0x08, "StandardCloseZoom",	1, 2, 20, 2},
+	{0x09, "ThickZoom",			5, 5, 20, 5},
+	{0x0A, "ThinNoTitle",		1, 1, 1, 1},
+	{0x0B, "ThinkNoTitleShadow", 1, 3, 1, 3},
+	{0x0C, "StandardCloseZoom",	1, 2, 20, 2},
+	{0x0D, "ThickZoom",			5, 5, 20, 5},
+	{0x0E, "ThinNoTitle",		1, 1, 1, 1},
+	{0x0F, "ThinNoTitleShadow", 1, 3, 1, 3},
+	{0x10, "RoundClose",		1, 1, 19, 6},
+	{0xFF, "No type",			-1, -1, -1, -1}
+};
+
+Common::String windowTypeName(byte windowType) {
+	int i = 0;
+	while (borders[i].type != 0xFF) {
+		if (borders[i].type == windowType) {
+			return borders[i].name;
+		}
+		i++;
+	}
+	return "ThinNoTitle";
+}
+
+void MacWindowManager::loadDataBundle() {
+	_dataBundle = Common::makeZipArchive(MACGUI_DATA_BUNDLE);
+	if (!_dataBundle) {
+		warning("MACGUI: Couldn't load data bundle '%s'.", MACGUI_DATA_BUNDLE.c_str());
+	}
+}
+
+Common::Rect MacWindowManager::getBorderOffsets(byte windowType) {
+	int i = 0;
+	while (borders[i].type != 0xFF) {
+		if (borders[i].type == windowType) {
+			Common::Rect offsets;
+			offsets.left = borders[i].lo;
+			offsets.right = borders[i].ro;
+			offsets.top = borders[i].to;
+			offsets.bottom = borders[i].bo;
+			return offsets;
+		}
+		i++;
+	}
+	return Common::Rect(-1, -1, -1, -1);
+}
+
+Common::SeekableReadStream *MacWindowManager::getBorderFile(byte windowType, bool isActive) {
+	if (!_dataBundle)
+		return NULL;
+
+	Common::String filename = windowTypeName(windowType);
+	filename += (isActive ? "_act.bmp" : "_inac.bmp");
+	if (!_dataBundle->hasFile(filename)) {
+		warning("Missing border file '%s' in data bundle", filename.c_str());
+		return NULL;
+	}
+
+	return _dataBundle->createReadStreamForMember(filename);
+}
+
+} // End of namespace Graphics
diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index 34963c9c23..b76dc9339d 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -67,6 +67,7 @@ MacWindow::MacWindow(int id, bool scrollable, bool resizable, bool editable, Mac
 
 	_closeable = false;
 
+	_borderType = -1;
 	_borderWidth = kBorderWidth;
 
 	_titleVisible = true;
@@ -580,4 +581,25 @@ bool MacWindow::processEvent(Common::Event &event) {
 		return false;
 }
 
+void MacWindow::setBorderType(int borderType) {
+	_borderType = borderType;
+	if (borderType < 0) {
+		disableBorder();
+	} else {
+		Common::Rect offsets = _wm->getBorderOffsets(borderType);
+	
+		Common::SeekableReadStream *activeFile = _wm->getBorderFile(borderType, true);
+		if (activeFile) {
+			loadBorder(*activeFile, true, offsets.left, offsets.right, offsets.top, offsets.bottom);
+			delete activeFile;
+		}
+
+		Common::SeekableReadStream *inactiveFile = _wm->getBorderFile(borderType, false);
+		if (inactiveFile) {
+			loadBorder(*inactiveFile, false, offsets.left, offsets.right, offsets.top, offsets.bottom);
+			delete inactiveFile;
+		}
+	}
+}
+
 } // End of namespace Graphics
diff --git a/graphics/macgui/macwindow.h b/graphics/macgui/macwindow.h
index cf8fb1be62..1e99965389 100644
--- a/graphics/macgui/macwindow.h
+++ b/graphics/macgui/macwindow.h
@@ -293,6 +293,17 @@ public:
 	 */
 	void setCloseable(bool closeable);
 
+	/**
+	 * Mutator to change the border type.
+	 * @param borderType Border type.
+	 */
+	void setBorderType(int borderType);
+	/**
+	 * Accessor to get the border type.
+	 * @return Border type.
+	 */
+	int getBorderType() { return _borderType; };
+
 private:
 	void prepareBorderSurface(ManagedSurface *g);
 	void drawSimpleBorder(ManagedSurface *g);
@@ -339,6 +350,8 @@ private:
 
 	Common::String _title;
 	bool _titleVisible;
+
+	int _borderType;
 };
 
 
diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 729235688a..29baec33ef 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -196,6 +196,8 @@ MacWindowManager::MacWindowManager(uint32 mode, MacPatterns *patterns) {
 	CursorMan.replaceCursorPalette(palette, 0, ARRAYSIZE(palette) / 3);
 	CursorMan.replaceCursor(macCursorArrow, 11, 16, 1, 1, 3);
 	CursorMan.showMouse(true);
+
+	loadDataBundle();
 }
 
 MacWindowManager::~MacWindowManager() {
diff --git a/graphics/macgui/macwindowmanager.h b/graphics/macgui/macwindowmanager.h
index e4b56aefca..80d89f4866 100644
--- a/graphics/macgui/macwindowmanager.h
+++ b/graphics/macgui/macwindowmanager.h
@@ -33,6 +33,10 @@
 
 #include "engines/engine.h"
 
+namespace Common {
+class Archive;
+}
+
 namespace Graphics {
 
 namespace MacGUIConstants {
@@ -283,6 +287,10 @@ public:
 
 	void removeMarked();
 
+	void loadDataBundle();
+	Common::Rect getBorderOffsets(byte windowType);
+	Common::SeekableReadStream *getBorderFile(byte windowType, bool isActive);
+
 public:
 	MacFontManager *_fontMan;
 	uint32 _mode;
@@ -344,6 +352,8 @@ private:
 
 	Common::Array<ZoomBox *> _zoomBoxes;
 	Common::HashMap<uint32, uint> _colorHash;
+
+	Common::Archive *_dataBundle;
 };
 
 } // End of namespace Graphics
diff --git a/graphics/module.mk b/graphics/module.mk
index 142a2aab21..27cf06927e 100644
--- a/graphics/module.mk
+++ b/graphics/module.mk
@@ -14,6 +14,7 @@ MODULE_OBJS := \
 	fonts/winfont.o \
 	larryScale.o \
 	maccursor.o \
+	macgui/datafiles.o \
 	macgui/macbutton.o \
 	macgui/macfontmanager.o \
 	macgui/macmenu.o \


Commit: 2f1736892acd90f2e4c5afc5df11652d1fe32b30
    https://github.com/scummvm/scummvm/commit/2f1736892acd90f2e4c5afc5df11652d1fe32b30
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00

Commit Message:
GRAPHICS: MACGUI: Properly update border dims

Changed paths:
    graphics/macgui/macwindow.cpp


diff --git a/graphics/macgui/macwindow.cpp b/graphics/macgui/macwindow.cpp
index b76dc9339d..492aed6621 100644
--- a/graphics/macgui/macwindow.cpp
+++ b/graphics/macgui/macwindow.cpp
@@ -390,13 +390,11 @@ void MacWindow::setBorder(Graphics::TransparentSurface *surface, bool active, in
 	else
 		_macBorder.addInactiveBorder(surface);
 
-	if (!_macBorder.hasOffsets()) {
-		if (lo + ro + to + bo > -4) { // Checking against default -1
-			_macBorder.setOffsets(lo, ro, to, bo);
-		}
+	if (lo + ro + to + bo > -4) { // Checking against default -1
+		_macBorder.setOffsets(lo, ro, to, bo);
 	}
 
-	updateInnerDims();
+	updateOuterDims();
 }
 
 void MacWindow::setCloseable(bool closeable) {


Commit: 04f7e8d1c254b13a259740b75b5bbbe47a6d680d
    https://github.com/scummvm/scummvm/commit/04f7e8d1c254b13a259740b75b5bbbe47a6d680d
Author: djsrv (dservilla at gmail.com)
Date: 2020-07-31T16:38:37-04:00

Commit Message:
DIRECTOR: Set window border types

Changed paths:
    engines/director/director.cpp
    engines/director/lingo/lingo-builtins.cpp


diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 8ec235a211..f606dd5b8b 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -154,7 +154,9 @@ Common::Error DirectorEngine::run() {
 	_mainStage = new Stage(_wm->getNextId(), false, false, false, _wm, this);
 	*_mainStage->_refCount += 1;
 
-	if (!debugChannelSet(-1, kDebugDesktop))
+	if (debugChannelSet(-1, kDebugDesktop))
+		_mainStage->setBorderType(3);
+	else
 		_mainStage->disableBorder();
 
 	_surface = new Graphics::ManagedSurface;
diff --git a/engines/director/lingo/lingo-builtins.cpp b/engines/director/lingo/lingo-builtins.cpp
index 17d82cdbb2..41855b4f99 100644
--- a/engines/director/lingo/lingo-builtins.cpp
+++ b/engines/director/lingo/lingo-builtins.cpp
@@ -2333,6 +2333,7 @@ void LB::b_window(int nargs) {
 	window->setTitle(windowName);
 	window->resize(1, 1, true);
 	window->setVisible(false, true);
+	window->setBorderType(0);
 	wm->addWindowInitialized(window);
 	windowList->push_back(window);
 	g_lingo->push(window);




More information about the Scummvm-git-logs mailing list