diff options
| -rw-r--r-- | engines/scumm/dialogs.cpp | 13 | ||||
| -rw-r--r-- | engines/scumm/dialogs.h | 2 | 
2 files changed, 13 insertions, 2 deletions
diff --git a/engines/scumm/dialogs.cpp b/engines/scumm/dialogs.cpp index e552785fff..fb3f217ee6 100644 --- a/engines/scumm/dialogs.cpp +++ b/engines/scumm/dialogs.cpp @@ -349,6 +349,9 @@ void SaveLoadChooser::handleScreenChanged() {  		_time->clearFlags(GUI::WIDGET_INVISIBLE);  		_playtime->clearFlags(GUI::WIDGET_INVISIBLE); +		_fillR = g_gui.evaluator()->getVar("scummsaveload_thumbnail.fillR"); +		_fillG = g_gui.evaluator()->getVar("scummsaveload_thumbnail.fillG"); +		_fillB = g_gui.evaluator()->getVar("scummsaveload_thumbnail.fillB");  		updateInfos();  	} else {  		_container->setFlags(GUI::WIDGET_INVISIBLE); @@ -365,9 +368,15 @@ void SaveLoadChooser::updateInfos() {  	int selItem = _list->getSelected();  	Graphics::Surface *thumb;  	thumb = _vm->loadThumbnailFromSlot(_saveMode ? selItem + 1 : selItem); -	_gfxWidget->setGfx(thumb); -	if (thumb) + +	if (thumb) { +		_gfxWidget->setGfx(thumb); +		_gfxWidget->useAlpha(256);  		thumb->free(); +	} else { +		_gfxWidget->setGfx(-1, -1, _fillR, _fillG, _fillB); +	} +  	delete thumb;  	_gfxWidget->draw(); diff --git a/engines/scumm/dialogs.h b/engines/scumm/dialogs.h index 339b890558..48a84ddfbd 100644 --- a/engines/scumm/dialogs.h +++ b/engines/scumm/dialogs.h @@ -64,6 +64,8 @@ protected:  	GUI::ContainerWidget	*_container;  	ScummEngine			*_vm; +	uint8 _fillR, _fillG, _fillB; +  	void updateInfos();  public:  	SaveLoadChooser(const String &title, const String &buttonLabel, bool saveMode, ScummEngine *engine);  | 
