NScumm.Scumm.Sound.SetupSound C# (CSharp) Метод

SetupSound() публичный Метод

public SetupSound ( ) : void
Результат void
        public void SetupSound()
        {
            SetupSfxFile();

            if (vm.Game.GameId == GameId.FullThrottle)
            {
                vm.Variables[vm.VariableVoiceBundleLoaded.Value] = string.IsNullOrEmpty(_sfxFilename) ? 0 : 1;
            }
        }

Usage Example

Пример #1
0
        protected void ResetScummVarsCore()
        {
            if (Game.Version <= 6)
            {
                // VAR_SOUNDCARD modes
                // 0 PC Speaker
                // 1 Tandy
                // 2 CMS
                // 3 AdLib
                // 4 Roland
                switch (Sound.MusicType)
                {
                case MusicDriverTypes.None:
                case MusicDriverTypes.PCSpeaker:
                    Variables[VariableSoundcard.Value] = 0;
                    break;

                case MusicDriverTypes.PCjr:
                    Variables[VariableSoundcard.Value] = 1;
                    break;

                case MusicDriverTypes.CMS:
                    Variables[VariableSoundcard.Value] = 2;
                    break;

                case MusicDriverTypes.AdLib:
                    Variables[VariableSoundcard.Value] = 3;
                    break;

                case MusicDriverTypes.Midi:
                    Variables[VariableSoundcard.Value] = 4;
                    break;

                default:
                    if ((Game.GameId == GameId.Monkey1 && Game.Variant == "EGA") || (Game.GameId == GameId.Monkey1 && Game.Variant == "VGA") ||
                        (Game.GameId == GameId.Loom && Game.Version == 3))        /*&&  (_game.platform == Common::kPlatformDOS)*/
                    {
                        Variables[VariableSoundcard.Value] = 4;
                    }
                    else
                    {
                        Variables[VariableSoundcard.Value] = 3;
                    }
                    break;
                }

                if (Game.Platform == Platform.FMTowns)
                {
                    Variables[VariableVideoMode.Value] = 42;
                }
                // Value only used by the Macintosh version of Indiana Jones and the Last Crusade
                else if (Game.Platform == Platform.Macintosh && Game.Version == 3)
                {
                    Variables[VariableVideoMode.Value] = 50;
                }
                // Value only used by the Amiga version of Monkey Island 2
                else if (Game.Platform == Platform.Amiga)
                {
                    Variables[VariableVideoMode.Value] = 82;
                }
                else
                {
                    Variables[VariableVideoMode.Value] = 19;
                }

                if ((Game.Platform == Platform.Macintosh) && Game.IsOldBundle)
                {
                    // Set screen size for the Macintosh version of Indy3/Loom
                    Variables[39] = 320;
                }
                if (Game.Platform == Platform.DOS && Game.GameId == GameId.Loom && Game.Version == 3)
                {
                    // Set number of sound resources
                    Variables[39] = 80;
                }
                if (Game.GameId == GameId.Loom || Game.Version >= 4)
                {
                    Variables[VariableHeapSpace.Value] = 1400;
                }

                if (Game.Version >= 4)
                {
                    Variables[VariableFixedDisk.Value] = 1;
                }

                if (Game.Version >= 5)
                {
                    Variables[VariableInputMode.Value] = 3;
                }
                if (Game.Version == 6)
                {
                    Variables[VariableV6EMSSpace.Value] = 10000;
                }
            }

            if (VariableVoiceMode.HasValue)
            {
                Variables[VariableVoiceMode.Value] = (int)VoiceMode.VoiceAndText;
            }

            if (VariableRoomWidth.HasValue && VariableRoomHeight.HasValue)
            {
                Variables[VariableRoomWidth.Value]  = ScreenWidth;
                Variables[VariableRoomHeight.Value] = ScreenHeight;
            }

            if (VariableDebugMode.HasValue)
            {
                Variables[VariableDebugMode.Value] = (DebugMode ? 1 : 0);
            }

            if (VariableFadeDelay.HasValue)
            {
                Variables[VariableFadeDelay.Value] = 3;
            }

            Variables[VariableCharIncrement.Value] = 4;
            TalkingActor = 0;

            if (Game.Version >= 5 && Game.Version <= 7)
            {
                Sound.SetupSound();
            }
        }