Example #1
0
        private void OpenAllDocuments(CTDocument.DocumentType type, string args)
        {
            switch (type)
            {
            case CTDocument.DocumentType.Table:
            {
                SortedSet <string> names = new SortedSet <string>();
                foreach (var file in System.IO.Directory.GetFiles("TableRaw"))
                {
                    if (!names.Contains(file))
                    {
                        names.Add(file);
                    }
                }
                foreach (var file in System.IO.Directory.GetFiles("TableFriendly"))
                {
                    if (!names.Contains(file))
                    {
                        names.Add(file);
                    }
                }

                foreach (var path in names)
                {
                    string[] filenameDots = path.Split('\\')[1].Split('.');
                    string   name         = string.Join(".", filenameDots, 0, filenameDots.Length - 1);
                    if (GetDocument(name) == null)
                    {
                        OpenDocument(CTDocument.DocumentType.Table, name, args);
                    }
                }
            }
            break;

            case CTDocument.DocumentType.TLK:
            {
                SortedSet <string> names = new SortedSet <string>();
                foreach (var file in System.IO.Directory.GetFiles("TLK"))
                {
                    if (!names.Contains(file))
                    {
                        names.Add(file);
                    }
                }

                foreach (var path in names)
                {
                    string[] filenameDots = path.Split('\\')[1].Split('.');
                    string   name         = string.Join(".", filenameDots, 0, filenameDots.Length - 1);
                    if (GetDocument(name) == null)
                    {
                        OpenDocument(CTDocument.DocumentType.TLK, name, args);
                    }
                }
            }
            break;
            }
        }
Example #2
0
        private void OpenDocument(CTDocument.DocumentType type, string name, string args = "")
        {
            if (name.ToLowerInvariant() == "all")
            {
                OpenAllDocuments(type, args);
                return;
            }

            switch (type)
            {
            case CTDocument.DocumentType.Table:
            {
                try
                {
                    CTDebug.Info("Opening Table: {0}", name);
                    _2da.TableDocument doc = new _2da.TableDocument(name);
                    if (args == "raw")
                    {
                        doc.LoadCompiled();
                    }
                    else if (args == "friendly")
                    {
                        doc.LoadFriendly();
                    }
                    else
                    {
                        doc.LoadNewest();
                    }
                    m_openDocuments.Add(name, doc);
                }
                catch (Exception e)
                {
                    CTDebug.Error("{0}: {1}", e.GetType().Name, e.Message);
                }
            }
            break;

            case CTDocument.DocumentType.TLK:
                if (name.ToLowerInvariant() != "dialog") // Don't open dialog.tlk as a document.
                {
                    CTDebug.Info("Opening TLK: {0}", name);
                    Tlk.TlkDocument doc = new Tlk.TlkDocument(name);
                    m_openDocuments.Add(name, doc);
                    m_tlkStack.AddTlkFile(doc);
                    doc.LoadCompiled();
                }
                break;
            }
        }