[Scummvm-git-logs] scummvm master -> 01133310c4c909333b5ebc1c0a78b701e5932312

sev- sev at scummvm.org
Fri Jan 27 10:18:08 CET 2017


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
01133310c4 GRAPHICS: Overload loadFonts() method in MacResMnager


Commit: 01133310c4c909333b5ebc1c0a78b701e5932312
    https://github.com/scummvm/scummvm/commit/01133310c4c909333b5ebc1c0a78b701e5932312
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-27T10:15:54+01:00

Commit Message:
GRAPHICS: Overload loadFonts() method in MacResMnager

Changed paths:
    engines/director/resource.cpp
    graphics/macgui/macfontmanager.cpp
    graphics/macgui/macfontmanager.h


diff --git a/engines/director/resource.cpp b/engines/director/resource.cpp
index f2a44d5..cb870d2 100644
--- a/engines/director/resource.cpp
+++ b/engines/director/resource.cpp
@@ -219,13 +219,7 @@ void DirectorEngine::loadSharedCastsFrom(Common::String filename) {
 	if (shardcst->hasResource(MKTAG('F', 'O', 'N', 'D'), -1)) {
 		debug("Shared cast has fonts. Loading....");
 
-		Common::File file;
-
-		if (!file.open(filename)) {
-			warning("Oops, cannot open file");
-		} else {
-			_wm->_fontMan->loadFontsFromStream(&file);
-		}
+		_wm->_fontMan->loadFonts(filename);
 	}
 
 	castScore->loadConfig(*shardcst->getResource(MKTAG('V','W','C','F'), 1024));
diff --git a/graphics/macgui/macfontmanager.cpp b/graphics/macgui/macfontmanager.cpp
index 9d66e49..1b664d5 100644
--- a/graphics/macgui/macfontmanager.cpp
+++ b/graphics/macgui/macfontmanager.cpp
@@ -158,7 +158,7 @@ void MacFontManager::loadFonts() {
 	for (Common::ArchiveMemberList::iterator it = list.begin(); it != list.end(); ++it) {
 		Common::SeekableReadStream *stream = dat->createReadStreamForMember((*it)->getName());
 
-		loadFontsFromStream(stream);
+		loadFonts(stream);
 	}
 
 	_builtInFonts = false;
@@ -166,12 +166,25 @@ void MacFontManager::loadFonts() {
 	delete dat;
 }
 
-void MacFontManager::loadFontsFromStream(Common::SeekableReadStream *stream) {
-	Common::MacResManager *fontFile = new Common::MacResManager();
+void MacFontManager::loadFonts(Common::SeekableReadStream *stream) {
+	Common::MacResManager fontFile;
 
-	if (!fontFile->loadFromMacBinary(*stream))
+	if (!fontFile.loadFromMacBinary(*stream))
 		return;
 
+	loadFonts(&fontFile);
+}
+
+void MacFontManager::loadFonts(const Common::String &fileName) {
+	Common::MacResManager fontFile;
+
+	if (!fontFile.open(fileName))
+		return;
+
+	loadFonts(&fontFile);
+}
+
+void MacFontManager::loadFonts(Common::MacResManager *fontFile) {
 	Common::MacResIDArray fonds = fontFile->getResIDArray(MKTAG('F','O','N','D'));
 	if (fonds.size() > 0) {
 		for (Common::Array<uint16>::iterator iterator = fonds.begin(); iterator != fonds.end(); ++iterator) {
@@ -222,8 +235,6 @@ void MacFontManager::loadFontsFromStream(Common::SeekableReadStream *stream) {
 			delete fond;
 		}
 	}
-
-	delete fontFile;
 }
 
 const Font *MacFontManager::getFont(MacFont macFont) {
diff --git a/graphics/macgui/macfontmanager.h b/graphics/macgui/macfontmanager.h
index 6d6122e..2743f8b 100644
--- a/graphics/macgui/macfontmanager.h
+++ b/graphics/macgui/macfontmanager.h
@@ -27,6 +27,7 @@
 
 namespace Common {
 	class SeekableReadStream;
+	class MacResManager;
 }
 
 namespace Graphics {
@@ -126,7 +127,9 @@ public:
 	const char *getFontName(MacFont &font);
 	int getFontIdByName(Common::String name);
 
-	void loadFontsFromStream(Common::SeekableReadStream *stream);
+	void loadFonts(Common::SeekableReadStream *stream);
+	void loadFonts(const Common::String &fileName);
+	void loadFonts(Common::MacResManager *fontFile);
 
 private:
 	void loadFontsBDF();





More information about the Scummvm-git-logs mailing list