Esempio n. 1
0
        private void LoadFile(string filePath)
        {
            var tdf = new TDF();

            tdf.Load(filePath);
            _tdfConverter = new TDFDictionaryConverter(tdf);
            try
            {
                _tdfConverter.GetColumnDefinitions(filePath);
            }
            catch (Exception)
            {
                /* ignored */
            }
            _openFileInfo = new FileInfo(filePath);
            Text          = $@"{_openFileInfo.Name} - TDF Viewer";

            LoadFile();
        }
Esempio n. 2
0
        private void fileTreeView_AfterSelect(object sender, TreeViewEventArgs e)
        {
            SelectedNode = e.Node;

            bool isTDF = SelectedNode.Tag is AGTFile && (SelectedNode.Tag as AGTFile).Name.Contains(".tdf");

            tdfToolStripMenuItem.Enabled = isTDF;

            tdfGridView.Rows.Clear();
            tdfGridView.Columns.Clear();
            ActiveTDF = null;

            if (!(SelectedNode.Tag is ArchiveFile))
            {
                return;
            }

            SelectedFile = SelectedNode.Tag as ArchiveFile;
            ActiveTDF    = isTDF ? TDF.Load((SelectedFile as AGTFile).Decompress(), tdfGridView) : null;
        }
Esempio n. 3
0
 public void loadGame(int SlotID)
 {
     if (FileBase.FileExist("Data/SaveData/Slot_" + (SlotID + 1) + ".tdf"))
     {
         Slots[SlotID] = TDF.Load("Data/SaveData/Slot_" + (SlotID + 1) + ".tdf");//TDF.LoadGZ
         var playerComp = GetComponent().player.GetComponent <Player>();
         var pos        = TDF.GetValueOfBlock(Slots[SlotID], "Game", "PlayerPos").Split(","[0]);
         var posX       = float.Parse(pos[0]);
         var posY       = float.Parse(pos[1]);
         var posZ       = float.Parse(pos[2]);
         player.position = new Vector3(posX, posY, posZ);
         var rot  = TDF.GetValueOfBlock(Slots[SlotID], "Game", "PlayerRot").Split(","[0]);
         var rotX = float.Parse(rot[0]);
         var rotY = float.Parse(rot[1]);
         var rotZ = float.Parse(rot[2]);
         playerComp.rotation = new Vector3(rotX, rotY, rotZ);
         player.rotation     = Quaternion.Euler(new Vector3(0, rotY, 0));
         Health = int.Parse(TDF.GetValueOfBlock(Slots[SlotID], "Game", "PlayerHealth"));
     }
     player.GetComponent <Player>().Move = true;
     SaveMenu.gameObject.SetActive(false);
     LoadMenu.gameObject.SetActive(false);
 }
Esempio n. 4
0
        private void LoadFile(string filePath)
        {
            saveToolStripMenuItem.Enabled   = true;
            saveAsToolStripMenuItem.Enabled = true;
            closeToolStripMenuItem.Enabled  = true;

            _openFileInfo = new FileInfo(filePath);
            Text          = $@"TDF Viewer ({_openFileInfo.Name})";

            listView1.Columns.Clear();
            listView1.Columns.Add("Row");
            listView1.Items.Clear();

            statusStripLabel1.Text          = $@"Loading file {_openFileInfo.Name}";
            statusStripProgressBar1.Visible = true;

            _tdfFile = new TDF();
            _tdfFile.Load(filePath);

            listView1.BeginUpdate();
            var columnDefFile = "ColumnDefinitions/ColumnDef_" + Path.GetFileNameWithoutExtension(_openFileInfo.Name) +
                                ".txt";

            if (File.Exists(columnDefFile))
            {
                var colNames = File.ReadLines(columnDefFile).ToList();
                if (colNames.Count != _tdfFile.Header.Col)
                {
                    Debug.WriteLine("Definition column size mismatch");
                    columnDefFile = "ColumnDefinitions/ColumnDef_" +
                                    Path.GetFileNameWithoutExtension(_openFileInfo.Name) + "KR.txt";
                    if (File.Exists(columnDefFile))
                    {
                        colNames = File.ReadLines(columnDefFile).ToList();
                        if (colNames.Count != _tdfFile.Header.Col)
                        {
                            if (colNames.Count > _tdfFile.Header.Col)
                            {
                                MessageBox.Show(@"Column Definition file contains more columns than file itself!",
                                                @"Column Definition size mismatch", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                            }
                            Debug.WriteLine("Definition (KR) column size mismatch");
                        }
                        else
                        {
                            Text = $@"TDF Viewer (KR: {_openFileInfo.Name})";
                        }
                    }
                    else
                    {
                        if (colNames.Count > _tdfFile.Header.Col)
                        {
                            MessageBox.Show(@"Column Definition file contains more columns than file itself!",
                                            @"Column Definition size mismatch", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        }
                    }
                }
                else
                {
                    Text = $@"TDF Viewer (US: {_openFileInfo.Name})";
                }

                for (var col = 0; col < _tdfFile.Header.Col; col++)
                {
                    listView1.Columns.Add(col < colNames.Count ? colNames[col] : col.ToString());
                }
            }
            else
            {
                for (var col = 0; col < _tdfFile.Header.Col; col++)
                {
                    listView1.Columns.Add(col.ToString());
                }
            }

            // TODO: Async loading :)?
            using (var reader = new BinaryReaderExt(new MemoryStream(_tdfFile.ResTable)))
            {
                for (var row = 0; row < _tdfFile.Header.Row; row++)
                {
                    var lvi = new ListViewItem
                    {
                        Text = row.ToString()
                    };

                    for (var col = 0; col < _tdfFile.Header.Col; col++)
                    {
                        lvi.SubItems.Add(reader.ReadUnicode());
                    }
                    listView1.Items.Add(lvi);
                }
            }
            listView1.EndUpdate();

            statusStripLabel1.Text =
                $@"File (v{_tdfFile.Version.Major}.{_tdfFile.Version.Minor} - {(int) _tdfFile.Header.Date.Month}/{
                        (int) _tdfFile.Header.Date.Day
                    }/{_tdfFile.Header.Date.Year}) loaded with {_tdfFile.Header.Row} rows and {
                        _tdfFile.Header.Col
                    } cols!";
            statusStripProgressBar1.Visible = false;
        }