[Scummvm-git-logs] scummvm master -> 75b50b99b47d563060cadb5494f302cb68e88351

AndywinXp noreply at scummvm.org
Fri Jun 3 15:52:35 UTC 2022


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:
75b50b99b4 SCUMM: v7-8: Remove all blast texts before loading a savestate


Commit: 75b50b99b47d563060cadb5494f302cb68e88351
    https://github.com/scummvm/scummvm/commit/75b50b99b47d563060cadb5494f302cb68e88351
Author: Andrea Boscarino (andrea.boscarino at musixmatch.com)
Date: 2022-06-03T17:51:56+02:00

Commit Message:
SCUMM: v7-8: Remove all blast texts before loading a savestate
This fixes an issue in COMI, in which bringing up the recipe book and then pulling it down
left the recipe texts on screen on the new room for several frames.

Changed paths:
    engines/scumm/saveload.cpp
    engines/scumm/scumm_v7.h


diff --git a/engines/scumm/saveload.cpp b/engines/scumm/saveload.cpp
index b7058e6b234..903af8499b8 100644
--- a/engines/scumm/saveload.cpp
+++ b/engines/scumm/saveload.cpp
@@ -544,6 +544,13 @@ bool ScummEngine::loadState(int slot, bool compat, Common::String &filename) {
 	sb = _screenB;
 	sh = _screenH;
 
+#ifdef ENABLE_SCUMM_7_8
+	// Remove any blast text leftovers
+	if (_game.version >= 7) {
+		((ScummEngine_v7 *)this)->removeBlastTexts();
+	}
+#endif
+
 	// Restore the virtual screens and force a fade to black.
 	initScreens(0, _screenHeight);
 
diff --git a/engines/scumm/scumm_v7.h b/engines/scumm/scumm_v7.h
index 31168eb4665..6f3919f6269 100644
--- a/engines/scumm/scumm_v7.h
+++ b/engines/scumm/scumm_v7.h
@@ -99,6 +99,7 @@ public:
 	void clearSubtitleQueue();
 	void CHARSET_1() override;
 	bool isSmushActive() { return _smushActive; }
+	void removeBlastTexts() override;
 
 protected:
 
@@ -131,7 +132,7 @@ protected:
 	void createTextRenderer(GlyphRenderer_v7 *gr) override;
 	void enqueueText(const byte *text, int x, int y, byte color, byte charset, TextStyleFlags flags);
 	void drawBlastTexts() override;
-	void removeBlastTexts() override;
+
 	void actorTalk(const byte *msg) override;
 	void translateText(const byte *text, byte *trans_buff) override;
 	void loadLanguageBundle() override;




More information about the Scummvm-git-logs mailing list