[Scummvm-git-logs] scummvm master -> 1008f64d7478b97259fd309b34eff2a3a846cf6b
sev-
sev at scummvm.org
Fri Nov 12 15:14:55 UTC 2021
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:
1008f64d74 GUI: Added support for multiple icon archives
Commit: 1008f64d7478b97259fd309b34eff2a3a846cf6b
https://github.com/scummvm/scummvm/commit/1008f64d7478b97259fd309b34eff2a3a846cf6b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2021-11-12T16:14:19+01:00
Commit Message:
GUI: Added support for multiple icon archives
Changed paths:
gui/gui-manager.cpp
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index affa379f72..f36c266438 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -108,9 +108,32 @@ GuiManager::~GuiManager() {
delete _theme;
}
+struct ArchiveMemberListBackComparator {
+ bool operator()(const Common::ArchiveMemberPtr &a, const Common::ArchiveMemberPtr &b) {
+ return a->getName() > b->getName();
+ }
+};
void GuiManager::initIconsSet() {
Common::Archive *dat;
+ if (ConfMan.hasKey("iconspath")) {
+ Common::FSDirectory *iconDir = new Common::FSDirectory(ConfMan.get("iconspath"));
+ Common::ArchiveMemberList iconFiles;
+
+ iconDir->listMatchingMembers(iconFiles, "gui-icons*.dat");
+ Common::sort(iconFiles.begin(), iconFiles.end(), ArchiveMemberListBackComparator());
+
+ for (Common::ArchiveMemberList::iterator ic = iconFiles.begin(); ic != iconFiles.end(); ++ic) {
+ debug(2, "GUI: Loaded icon file: %s", (*ic)->getName().c_str());
+
+ dat = Common::makeZipArchive((*ic)->createReadStream());
+
+ if (dat) {
+ _iconsSet.add((*ic)->getName(), dat);
+ }
+ }
+ }
+
const char fname[] = "gui-icons.dat";
Common::String path;
Common::FSNode *fs = nullptr;
@@ -147,6 +170,8 @@ void GuiManager::initIconsSet() {
_iconsSet.add(path, dat);
+ debug(2, "GUI: Loaded icon file: %s", path.c_str());
+
delete fs;
}
More information about the Scummvm-git-logs
mailing list