Esempio n. 1
0
        public ScummEngine7(GameSettings game, IGraphicsManager graphicsManager, IInputManager inputManager, IMixer mixer)
            : base(game, graphicsManager, inputManager, mixer)
        {
            if (Game.GameId == GameId.Dig && (Game.Features.HasFlag(GameFeatures.Demo)))
            {
                _smushFrameRate = 15;
            }
            else
            {
                _smushFrameRate = (Game.GameId == GameId.FullThrottle) ? 10 : 12;
            }

            for (int i = 0; i < _subtitleQueue.Length; i++)
            {
                _subtitleQueue[i] = new SubtitleText();
            }

            int dimuseTempo = 10;

            MusicEngine = IMuseDigital = new IMuseDigital(this, mixer, dimuseTempo);
            IMuseDigital.SetAudioNames(ResourceManager.AudioNames);

            // Create FT INSANE object
            if (Game.GameId == GameId.FullThrottle)
            {
                Insane = new Insane.Insane(this);
            }

            SmushMixer  = new SmushMixer(Mixer);
            SmushPlayer = new SmushPlayer(this);
        }
Esempio n. 2
0
 protected internal override void HandleSound()
 {
     base.HandleSound();
     if (IMuseDigital != null)
     {
         IMuseDigital.FlushTracks();
         // In CoMI and the Dig the full (non-demo) version invoke IMuseDigital::refreshScripts
         if ((Game.GameId == GameId.Dig || Game.GameId == GameId.CurseOfMonkeyIsland) && !(Game.Features.HasFlag(GameFeatures.Demo)))
         {
             IMuseDigital.RefreshScripts();
         }
     }
     if (SmushMixer != null)
     {
         SmushMixer.Flush();
     }
 }