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.
This commit is contained in:
parent
085130c6da
commit
75b50b99b4
2 changed files with 9 additions and 1 deletions
|
@ -544,6 +544,13 @@ bool ScummEngine::loadState(int slot, bool compat, Common::String &filename) {
|
||||||
sb = _screenB;
|
sb = _screenB;
|
||||||
sh = _screenH;
|
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.
|
// Restore the virtual screens and force a fade to black.
|
||||||
initScreens(0, _screenHeight);
|
initScreens(0, _screenHeight);
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,7 @@ public:
|
||||||
void clearSubtitleQueue();
|
void clearSubtitleQueue();
|
||||||
void CHARSET_1() override;
|
void CHARSET_1() override;
|
||||||
bool isSmushActive() { return _smushActive; }
|
bool isSmushActive() { return _smushActive; }
|
||||||
|
void removeBlastTexts() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -131,7 +132,7 @@ protected:
|
||||||
void createTextRenderer(GlyphRenderer_v7 *gr) override;
|
void createTextRenderer(GlyphRenderer_v7 *gr) override;
|
||||||
void enqueueText(const byte *text, int x, int y, byte color, byte charset, TextStyleFlags flags);
|
void enqueueText(const byte *text, int x, int y, byte color, byte charset, TextStyleFlags flags);
|
||||||
void drawBlastTexts() override;
|
void drawBlastTexts() override;
|
||||||
void removeBlastTexts() override;
|
|
||||||
void actorTalk(const byte *msg) override;
|
void actorTalk(const byte *msg) override;
|
||||||
void translateText(const byte *text, byte *trans_buff) override;
|
void translateText(const byte *text, byte *trans_buff) override;
|
||||||
void loadLanguageBundle() override;
|
void loadLanguageBundle() override;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue