[Scummvm-git-logs] scummvm master -> fc6254b2d5e81a0a2a3573fdbfbf68681823c926

dreammaster noreply at scummvm.org
Wed Oct 22 10:44:33 UTC 2025


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

Summary:
fc6254b2d5 BAGEL: Cache boardgame thumbnail for use in savegames


Commit: fc6254b2d5e81a0a2a3573fdbfbf68681823c926
    https://github.com/scummvm/scummvm/commit/fc6254b2d5e81a0a2a3573fdbfbf68681823c926
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2025-10-22T03:44:06-07:00

Commit Message:
BAGEL: Cache boardgame thumbnail for use in savegames

Changed paths:
    engines/bagel/hodjnpodj/hodjnpodj.cpp
    engines/bagel/hodjnpodj/hodjnpodj.h
    engines/bagel/hodjnpodj/metagame/gtl/gtlfrm.cpp
    engines/bagel/metaengine.cpp
    engines/bagel/metaengine.h


diff --git a/engines/bagel/hodjnpodj/hodjnpodj.cpp b/engines/bagel/hodjnpodj/hodjnpodj.cpp
index 6e59d565b8d..bba91cc9fbc 100644
--- a/engines/bagel/hodjnpodj/hodjnpodj.cpp
+++ b/engines/bagel/hodjnpodj/hodjnpodj.cpp
@@ -48,6 +48,7 @@ HodjNPodjEngine::HodjNPodjEngine(OSystem *syst, const ADGameDescription *gameDes
 }
 
 HodjNPodjEngine::~HodjNPodjEngine() {
+	_boardgameThumbnail.free();
 }
 
 Common::Error HodjNPodjEngine::run() {
diff --git a/engines/bagel/hodjnpodj/hodjnpodj.h b/engines/bagel/hodjnpodj/hodjnpodj.h
index c6713d647c9..5a67aab21d1 100644
--- a/engines/bagel/hodjnpodj/hodjnpodj.h
+++ b/engines/bagel/hodjnpodj/hodjnpodj.h
@@ -40,6 +40,7 @@ protected:
 public:
 	Common::String _gameId;
 	Metagame::CBfcMgr _bfcMgr;
+	Graphics::Surface _boardgameThumbnail;
 
 public:
 	HodjNPodjEngine(OSystem *syst, const ADGameDescription *gameDesc);
diff --git a/engines/bagel/hodjnpodj/metagame/gtl/gtlfrm.cpp b/engines/bagel/hodjnpodj/metagame/gtl/gtlfrm.cpp
index 3d17e9afdf9..9aa95281a6c 100644
--- a/engines/bagel/hodjnpodj/metagame/gtl/gtlfrm.cpp
+++ b/engines/bagel/hodjnpodj/metagame/gtl/gtlfrm.cpp
@@ -19,6 +19,7 @@
  *
  */
 
+#include "graphics/thumbnail.h"
 #include "bagel/hodjnpodj/metagame/gtl/gtl.h"
 #include "bagel/hodjnpodj/metagame/bgen/stdafx.h"
 #include "bagel/hodjnpodj/metagame/gtl/init.h"
@@ -266,6 +267,9 @@ void CGtlFrame::ShowOptions(CPalette *pPalette) {
 	CMetaOptDlg cOptionsDlg((CWnd*)this, pPalette);
 	int         nOptionsReturn = 0;
 
+	// Create a thumbnail of the current boardgame in case player saves the game
+	Graphics::createThumbnail(g_engine->_boardgameThumbnail);
+
 	cOptionsDlg.SetInitialOptions(lpMetaGameStruct);    // Sets the private members
 	nOptionsReturn = cOptionsDlg.DoModal();
 	if (nOptionsReturn == 1) {
diff --git a/engines/bagel/metaengine.cpp b/engines/bagel/metaengine.cpp
index 9527cd74b01..e61d57840b9 100644
--- a/engines/bagel/metaengine.cpp
+++ b/engines/bagel/metaengine.cpp
@@ -203,6 +203,18 @@ Common::KeymapArray BagelMetaEngine::initKeymaps(Bagel::KeybindingMode mode, boo
 	return keymapArray;
 }
 
+void BagelMetaEngine::getSavegameThumbnail(Graphics::Surface &thumb) {
+	Bagel::HodjNPodj::HodjNPodjEngine *engine =
+		dynamic_cast<Bagel::HodjNPodj::HodjNPodjEngine *>(g_engine);
+
+	if (engine) {
+		Graphics::Surface &newThumb = engine->_boardgameThumbnail;
+		thumb.copyFrom(newThumb);
+	} else {
+		MetaEngine::getSavegameThumbnail(thumb);
+	}
+}
+
 #if PLUGIN_ENABLED_DYNAMIC(BAGEL)
 	REGISTER_PLUGIN_DYNAMIC(BAGEL, PLUGIN_TYPE_ENGINE, BagelMetaEngine);
 #else
diff --git a/engines/bagel/metaengine.h b/engines/bagel/metaengine.h
index 01417c36c20..a7cd52c4290 100644
--- a/engines/bagel/metaengine.h
+++ b/engines/bagel/metaengine.h
@@ -64,6 +64,8 @@ public:
 
 	const ADExtraGuiOptionsMap *getAdvancedExtraGuiOptions() const override;
 
+	void getSavegameThumbnail(Graphics::Surface &thumb) override;
+
 	/**
 	 * Initialize keymaps
 	 */




More information about the Scummvm-git-logs mailing list