[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