internal void StopTalk()
{
Sound.StopTalkSound();
_haveMsg = 0;
_talkDelay = 0;
var act = TalkingActor;
if (act != 0 && act < 0x80)
{
var a = Actors[act];
if ((Game.Version >= 7 && !_string[0].NoTalkAnim) || (Game.Version <= 6 && a.IsInCurrentRoom && _useTalkAnims))
{
a.RunTalkScript(a.TalkStopFrame);
_useTalkAnims = false;
}
if (Game.Version <= 7)
{
TalkingActor = 0xFF;
}
}
if (Game.GameId == GameId.Dig || _game.GameId == GameId.CurseOfMonkeyIsland)
{
TalkingActor = 0;
Variables[VariableHaveMessage.Value] = 0;
}
_keepText = false;
if (Game.Version >= 7)
{
((ScummEngine7)this).ClearSubtitleQueue();
}
else if (_game.Platform == Platform.FMTowns)
{
TownsRestoreCharsetBg();
}
else
{
RestoreCharsetBg();
}
}