Exemple #1
0
 public void DeleteFiles(ISourcePortData sourcePort, FileType fileTypeID)
 {
     throw new NotImplementedException();
 }
Exemple #2
0
 public void DeleteStats(ISourcePortData sourcePort)
 {
     throw new NotImplementedException();
 }
Exemple #3
0
 public static List <IGameFile> GetAdditionalFiles(IDataSourceAdapter adapter, ISourcePortData sourcePort)
 {
     return(GetAdditionalFiles(adapter, sourcePort.SettingsFiles));
 }
 public void SetDataSource(ISourcePortData sourcePort)
 {
     sourcePortEdit1.SetDataSource(sourcePort);
     ctrlFiles.SetDataSource(Util.GetAdditionalFiles(m_adapter, sourcePort));
 }
Exemple #5
0
        public string GetLaunchParameters(LauncherPath gameFileDirectory, LauncherPath tempDirectory,
                                          IGameFile gameFile, ISourcePortData sourcePortData, bool isGameFileIwad)
        {
            ISourcePort   sourcePort = SourcePortUtil.CreateSourcePort(sourcePortData);
            StringBuilder sb         = new StringBuilder();

            List <IGameFile> loadFiles = AdditionalFiles.ToList();

            if (isGameFileIwad)
            {
                loadFiles.Remove(gameFile);
            }
            else if (!loadFiles.Contains(gameFile))
            {
                loadFiles.Add(gameFile);
            }

            if (IWad != null)
            {
                if (!AssertFile(gameFileDirectory.GetFullPath(), gameFile.FileName, "game file"))
                {
                    return(null);
                }
                if (!HandleGameFileIWad(IWad, sourcePort, sb, gameFileDirectory, tempDirectory))
                {
                    return(null);
                }
            }

            List <string> launchFiles = new List <string>();

            foreach (IGameFile loadFile in loadFiles)
            {
                if (!AssertFile(gameFileDirectory.GetFullPath(), loadFile.FileName, "game file"))
                {
                    return(null);
                }
                if (!HandleGameFile(loadFile, launchFiles, gameFileDirectory, tempDirectory, sourcePortData, true))
                {
                    return(null);
                }
            }

            string[] extensions = sourcePortData.SupportedExtensions.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            launchFiles = SortParameters(launchFiles, extensions).ToList();

            BuildLaunchString(sb, sourcePort, launchFiles);

            if (Map != null)
            {
                sb.Append(sourcePort.WarpParameter(new SpData(Map)));

                if (Skill != null)
                {
                    sb.Append(sourcePort.SkillParameter(new SpData(Skill)));
                }
            }

            if (Record)
            {
                RecordedFileName = Path.Combine(tempDirectory.GetFullPath(), Guid.NewGuid().ToString());
                sb.Append(sourcePort.RecordParameter(new SpData(RecordedFileName)));
            }

            if (PlayDemo && PlayDemoFile != null)
            {
                if (!AssertFile(PlayDemoFile, "", "demo file"))
                {
                    return(null);
                }
                sb.Append(sourcePort.PlayDemoParameter(new SpData(PlayDemoFile)));
            }

            if (ExtraParameters != null)
            {
                sb.Append(" " + ExtraParameters);
            }

            if (!string.IsNullOrEmpty(sourcePortData.ExtraParameters))
            {
                sb.Append(" " + sourcePortData.ExtraParameters);
            }

            IStatisticsReader statsReader = sourcePort.CreateStatisticsReader(gameFile, new IStatsData[] { });

            if (SaveStatistics && statsReader != null && !string.IsNullOrEmpty(statsReader.LaunchParameter))
            {
                sb.Append(" " + statsReader.LaunchParameter);
            }

            return(sb.ToString());
        }
 public void DeleteFiles(ISourcePortData sourcePort, FileType fileTypeID)
 {
     DataAccess.ExecuteNonQuery(string.Format("delete from Files where SourcePortID = {0} and FileTypeID = {1}", sourcePort.SourcePortID, (int)fileTypeID));
 }
 public CrispyDoomSourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
Exemple #8
0
        private void ShowLaunchParameters(GameFilePlayAdapter playAdapter, IGameFile gameFile, ISourcePortData sourcePort)
        {
            TextBoxForm form = new TextBoxForm
            {
                Text          = "Launch Parameters",
                StartPosition = FormStartPosition.CenterParent
            };

            string launchParameters = playAdapter.GetLaunchParameters(AppConfiguration.GameFileDirectory,
                                                                      AppConfiguration.TempDirectory, gameFile, sourcePort, IsGameFileIwad(gameFile));

            if (launchParameters != null)
            {
                launchParameters = launchParameters.Replace(@" -", string.Concat(Environment.NewLine, " -"));
                launchParameters = launchParameters.Replace("\" \"", string.Concat("\"", Environment.NewLine, " \""));
                if (launchParameters.StartsWith(Environment.NewLine))
                {
                    launchParameters = launchParameters.Substring(Environment.NewLine.Length);
                }
                string individualFiles = string.Empty;

                if (m_currentPlayForm.SpecificFiles != null && m_currentPlayForm.SpecificFiles.Length > 0)
                {
                    individualFiles = Environment.NewLine + string.Format("Selected Files: {0}", string.Join(", ", m_currentPlayForm.SpecificFiles));
                }

                string sourcePortParams = string.Empty;
                if (!string.IsNullOrEmpty(sourcePort.ExtraParameters))
                {
                    sourcePortParams = string.Concat(Environment.NewLine, Environment.NewLine, "Paramters from source port: ", sourcePort.ExtraParameters);
                }

                form.DisplayText = string.Concat(launchParameters, Environment.NewLine, Environment.NewLine,
                                                 string.Format("Supported Extensions: {0}", sourcePort.SupportedExtensions),
                                                 individualFiles,
                                                 sourcePortParams,
                                                 Environment.NewLine, Environment.NewLine,
                                                 "*** If files appear to be missing check the 'Select Individual Files' option and supported extensions options in the Source Port form of the selected source port.");
            }
            else
            {
                form.DisplayText = "Failed to generate launch parameters";
            }

            form.SelectDisplayText(0, 0);
            form.ShowDialog(this);
        }
Exemple #9
0
        public static List <IFileData> CreateFileAssociation(IWin32Window parent, IDataSourceAdapter adapter, LauncherPath directory, FileType type, IGameFile gameFile, ISourcePortData sourcePort)
        {
            List <IFileData> fileDataList = new List <IFileData>();
            OpenFileDialog   dialog       = new OpenFileDialog();

            if (dialog.ShowDialog(parent) == DialogResult.OK)
            {
                FileDetailsEditForm detailsForm = new FileDetailsEditForm();
                detailsForm.Initialize(adapter);
                detailsForm.StartPosition = FormStartPosition.CenterParent;

                foreach (string file in dialog.FileNames)
                {
                    detailsForm.Description = Path.GetFileName(file);
                    if (sourcePort != null)
                    {
                        detailsForm.SourcePort = sourcePort;
                    }

                    if (detailsForm.ShowDialog(parent) == DialogResult.OK && detailsForm.SourcePort != null)
                    {
                        FileInfo  fi       = new FileInfo(file);
                        IFileData fileData = CreateNewFileDataSource(detailsForm, fi, type, gameFile);

                        fi.CopyTo(Path.Combine(directory.GetFullPath(), fileData.FileName));

                        adapter.InsertFile(fileData);
                        var fileSearch = adapter.GetFiles(gameFile, FileType.Demo).FirstOrDefault(x => x.FileName == fileData.FileName);
                        if (fileSearch != null)
                        {
                            fileData = fileSearch;
                        }
                        fileDataList.Add(fileData);
                    }
                    else if (detailsForm.SourcePort == null)
                    {
                        MessageBox.Show(parent, "A source port must be selected.", "Error", MessageBoxButtons.OK);
                    }
                }
            }

            return(fileDataList);
        }
Exemple #10
0
 public FdwlSourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
 public EternitySourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
Exemple #12
0
 private bool SaveStatisticsSupported(ISourcePortData sourcePort)
 {
     return(SourcePortUtil.CreateSourcePort(sourcePort).StatisticsSupported());
 }
 public void UpdateDataSource(ISourcePortData sourcePort)
 {
     sourcePortEdit1.UpdateDataSource(sourcePort);
     sourcePort.SettingsFiles = ctrlFiles.GetAdditionalFilesString();
 }
 private static ISaveGameReader CreateSaveGameReader(ISourcePortData sourcePort, FileInfo fi)
 {
     return(SourcePortUtil.CreateSourcePort(sourcePort).CreateSaveGameReader(fi));
 }
 public WoofSourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
 public ZDoomSourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
 public ChocolateDoomSourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
Exemple #18
0
 public GenericSourcePort(ISourcePortData sourcePortData)
 {
     m_sourcePortData = sourcePortData;
 }
 public DoomsdaySourcePort(ISourcePortData sourcePortData)
     : base(sourcePortData)
 {
 }
Exemple #20
0
 public UtilityHandler(IWin32Window parent, AppConfiguration config, ISourcePortData utility)
 {
     m_parent  = parent;
     m_config  = config;
     m_utility = utility;
 }
        private List <IGameFile> GetAdditionalFiles(AddFilesType type, IGameFile gameIwad, ISourcePortData sourcePort)
        {
            switch (type)
            {
            case AddFilesType.IWAD:
                if (gameIwad != null)
                {
                    var ret = Util.GetAdditionalFiles(m_adapter, gameIwad).Except(Util.GetSourcePortAdditionalFiles(m_adapter, gameIwad)).ToList();
                    ret.Remove(gameIwad);
                    return(ret);
                }
                break;

            case AddFilesType.SourcePort:
                if (sourcePort != null)
                {
                    return(Util.GetAdditionalFiles(m_adapter, sourcePort));
                }
                break;
            }
            return(new List <IGameFile>());
        }
 public void DeleteStats(ISourcePortData sourcePort)
 {
     DataAccess.ExecuteNonQuery(string.Format("delete from Stats where SourcePortID = {0}", sourcePort.SourcePortID));
 }
Exemple #23
0
 public void UpdateSourcePort(ISourcePortData sourcePort)
 {
     throw new NotImplementedException();
 }
Exemple #24
0
        private List <IGameFile> GetAdditionalFiles(AddFilesType type, IGameFile gameIwad, ISourcePortData sourcePort)
        {
            switch (type)
            {
            case AddFilesType.IWAD:
                if (gameIwad != null)
                {
                    return(Util.GetAdditionalFiles(m_adapter, (GameFile)gameIwad));
                }
                break;

            case AddFilesType.SourcePort:
                if (sourcePort != null)
                {
                    return(Util.GetAdditionalFiles(m_adapter, sourcePort));
                }
                break;
            }
            return(new List <IGameFile>());
        }
Exemple #25
0
 private bool LoadLatestSaveSupported(ISourcePortData sourcePort)
 {
     return(SourcePortUtil.CreateSourcePort(sourcePort).LoadSaveGameSupported());
 }