Ejemplo n.º 1
0
 //
 //Edit current project
 public Form6()
 {
     InitializeComponent();
     settingsFile = ProjectSettings.getProjectSettingsFile(Form1.currentProject);
     settings     = ProjectSettings.getProjectSettings(Form1.currentProject);
     populateForm();
 }
Ejemplo n.º 2
0
 //
 //Edit project from folder
 public Form6(string project)
 {
     InitializeComponent();
     project      = project.Remove(project.LastIndexOf("\\"));
     settingsFile = ProjectSettings.getProjectSettingsFile(project);
     settings     = ProjectSettings.getProjectSettings(project);
     populateForm();
 }
Ejemplo n.º 3
0
        //
        //Show naming dialog
        public string showPakNamePrompt(string text, bool folder = false)
        {
            Form3 pakPrompt = new Form3();

            pakPrompt.Text = text;
            if (!folder)
            {
                string project = getCurrentProjectRoot();
                if (project != null)
                {
                    project = project.Remove(project.LastIndexOf("\\"));
                    List <KeyValuePair <string, string> > settings = ProjectSettings.getProjectSettings(project);
                    string author  = "";
                    string modName = "";
                    string version = "";
                    if (settings[0].Value != "")
                    {
                        author = settings[0].Value + ".";
                    }
                    if (settings[1].Value != "")
                    {
                        modName = settings[1].Value;
                    }
                    if (settings[2].Value == "true")
                    {
                        if (File.Exists(project + "\\_" + author + modName + "." + settings[3].Value + ".pak"))
                        {
                            if (settings[3].Value.Contains("."))
                            {
                                string[] versionSplit = settings[3].Value.Split(new char[] { '.' });
                                string   version1     = versionSplit[0];
                                string   version2     = versionSplit[1];
                                int      vers2        = Convert.ToInt16(version2) + 1;
                                version = "." + version1 + "." + vers2.ToString();
                            }
                            else
                            {
                                version = ".0.1";
                            }
                        }
                        else
                        {
                            version = "." + settings[3].Value;
                        }
                    }
                    string filename = author + modName + version;
                    if (!string.IsNullOrWhiteSpace(filename))
                    {
                        pakPrompt.textBox1.Text = "_" + filename;
                    }
                }
            }
            return(pakPrompt.ShowDialog() == DialogResult.OK ? pakPrompt.textBox1.Text : null);
        }
Ejemplo n.º 4
0
        //
        //pack all files in current directory with psarctool
        private void packModToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string path = getCurrentProjectRoot();

            if (path == null)
            {
                return;
            }
            List <string> entriesAll = new List <string>(Directory.GetFileSystemEntries(path, "*", SearchOption.AllDirectories));

            foreach (string entry in entriesAll.ToList())
            {
                if (Properties.Settings.Default.pakEXML)
                {
                    if (!entry.ToUpper().Contains(".EXML") && !entry.ToUpper().Contains(".MBIN") && !entry.ToUpper().Contains(".PC") && !entry.ToUpper().Contains(".BIN") && !entry.ToUpper().Contains(".TTC") && !entry.ToUpper().Contains(".TTF") && !entry.ToUpper().Contains(".DDS") && !entry.ToUpper().Contains(".FNT") && !entry.ToUpper().Contains(".H") && !entry.ToUpper().Contains(".GLSL") && !entry.ToUpper().Contains(".SQS") && !entry.ToUpper().Contains(".TXT") && !entry.ToUpper().Contains(".CSV") && !entry.ToUpper().Contains(".WEM") && !entry.ToUpper().Contains(".BNK") && !entry.ToUpper().Contains(".XML") && !entry.ToUpper().Contains(".JSON"))
                    {
                        entriesAll.Remove(entry);
                    }
                }
                else
                {
                    if (!entry.ToUpper().Contains(".MBIN") && !entry.ToUpper().Contains(".PC") && !entry.ToUpper().Contains(".BIN") && !entry.ToUpper().Contains(".TTC") && !entry.ToUpper().Contains(".TTF") && !entry.ToUpper().Contains(".DDS") && !entry.ToUpper().Contains(".FNT") && !entry.ToUpper().Contains(".H") && !entry.ToUpper().Contains(".GLSL") && !entry.ToUpper().Contains(".SQS") && !entry.ToUpper().Contains(".TXT") && !entry.ToUpper().Contains(".CSV") && !entry.ToUpper().Contains(".WEM") && !entry.ToUpper().Contains(".BNK") && !entry.ToUpper().Contains(".XML") && !entry.ToUpper().Contains(".JSON"))
                    {
                        entriesAll.Remove(entry);
                    }
                }

                FileAttributes attr = File.GetAttributes(entry);
                if (attr.HasFlag(FileAttributes.Directory))
                {
                    entriesAll.Remove(entry);
                }
            }

            IList <string> entries = entriesAll as IList <string>;

            string pakName = showPakNamePrompt("Name your PAK File");

            if (pakName != null && entries.Any())
            {
                Functions.Create(entries, pakName, path);

                string project = getCurrentProjectRoot();
                if (project != null)
                {
                    project = project.Remove(project.LastIndexOf("\\"));
                    List <KeyValuePair <string, string> > settings = ProjectSettings.getProjectSettings(project);
                    if (settings[2].Value == "true")
                    {
                        string author         = settings[0].Value;
                        string modName        = settings[1].Value;
                        string versionControl = settings[2].Value;
                        string version        = settings[3].Value;

                        if (File.Exists(project + "\\_" + author + "." + modName + "." + version + ".pak"))
                        {
                            if (version.Contains("."))
                            {
                                string[] versionSplit = version.Split(new char[] { '.' });
                                string   version1     = versionSplit[0];
                                string   version2     = versionSplit[1];
                                int      vers2        = Convert.ToInt16(version2) + 1;
                                version = version1 + "." + vers2.ToString();
                            }
                            else
                            {
                                version = "0.1";
                            }
                        }
                        ProjectSettings.saveProjectSettings(ProjectSettings.getProjectSettingsFile(project), author, modName, versionControl, version);
                    }
                }

                //File.WriteAllLines(path + pakName + ".PAKFILES.txt", entries);
                listViewFill(path.Remove(path.LastIndexOf("\\")), listView2, textBox2);
                setStatus("Packed " + pakName);
            }
            else
            {
                setStatus("Nothing to pack!");
            }
        }