public void Load(int id) { string filename, path; var directory = ServiceLocator.FileStorage.GetDirectoryName(_vm.Settings.Game.Path); LoadSubtitles(id); // For the PSX version, we'll try the PlayStation stream files if (SystemVars.Platform == Core.IO.Platform.PSX) { _vm.GraphicsManager.PixelFormat = PixelFormat.Rgb16; // The demo uses the normal file names filename = (SystemVars.IsDemo ? SequenceList[id] : SequenceListPsx[id]) + ".str"; _decoder = new PsxStreamDecoder(_vm.Mixer, CDSpeed.CD2x, _vm.GraphicsManager.PixelFormat); } else { filename = $"{SequenceList[id]}.smk"; _decoder = new SmackerDecoder(_vm.Mixer); } path = ScummHelper.LocatePath(directory, filename); var stream = ServiceLocator.FileStorage.OpenFileRead(path); _decoder.LoadStream(stream); _decoder.Start(); }