Esempio n. 1
0
        public FormNewBIGEntry(BIGBank bank)
        {
            InitializeComponent();

            myBank = bank;

            for (int i = 0; i < myBank.EntryCount; ++i)
            {
                comboBoxTemplates.Items.Add(
                    myBank.get_Entries(i).DevSymbolName);
            }

            comboBoxTemplates.SelectedIndex = 0;
        }
Esempio n. 2
0
        private void addEntryToolStripMenuItem_Click(object sender, EventArgs e)
        {
            BIGBank bank = (BIGBank)treeView.SelectedNode.Tag;

            AssetEntry entry = CreateEntry(bank);

            if (entry != null)
            {
                bank.AddEntry(entry);

                treeView.SelectedNode = AddToTree(
                    treeView.SelectedNode, entry.DevSymbolName, entry);
            }
        }
        private void FindModified(BIGBank bank, Progress progress)
        {
            progress.Begin(bank.EntryCount);

            for (int j = 0; j < bank.EntryCount; ++j)
            {
                AssetEntry entry = bank.get_Entries(j);

                if (entry.Modified)
                {
                    myObjects.Add(
                        FileDatabase.Instance.GetContentObject(entry));
                }

                progress.Update();
            }

            progress.End();
        }
Esempio n. 4
0
        protected virtual AssetEntry CreateEntry(BIGBank bank)
        {
            FormNewBIGEntry form = new FormNewBIGEntry(bank);

            AssetEntry entry = null;

            if (form.ShowDialog() == DialogResult.OK)
            {
                entry = new AssetEntry(
                    form.SymbolName,
                    bank.GetNewID(),
                    form.Template.Type,
                    bank);

                entry.SubHeader = form.Template.SubHeader;
                entry.Data      = form.Template.Data;
            }

            form.Dispose();
            form = null;

            return(entry);
        }
Esempio n. 5
0
        protected override AssetEntry CreateEntry(BIGBank bank)
        {
            FormOpenTexture form = new FormOpenTexture();

            AssetEntry entry = null;

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                GfxTexture texture;

                try
                {
                    texture = new GfxTexture(form.FileName, form.Format);
                }
                catch (Exception ex)
                {
                    FormMain.Instance.ErrorMessage(ex.Message);
                    return(null);
                }

                string name = Path.GetFileNameWithoutExtension(form.FileName);

                name.Replace(' ', '_');
                name.Replace('-', '_');
                name.Replace('.', '_');
                name = name.ToUpper();

                FormTextBox textForm = new FormTextBox();

                textForm.Text            = "New Texture";
                textForm.labelInput.Text = "Texture Symbol Name:";

                while (true)
                {
                    textForm.textBoxInput.Text = name;

                    if (textForm.ShowDialog() == DialogResult.OK)
                    {
                        if (bank.FindEntryBySymbolName(
                                textForm.textBoxInput.Text) != null)
                        {
                            FormMain.Instance.ErrorMessage(
                                "Symbol already exists. Try again.");
                        }
                        else
                        {
                            name = textForm.textBoxInput.Text;
                            break;
                        }
                    }
                }

                textForm.Dispose();

                entry = new AssetEntry(
                    name,
                    bank.GetNewID(),
                    0,
                    bank);

                texture.ApplyToEntry(entry);
            }

            form.Dispose();

            return(entry);
        }
Esempio n. 6
0
        /// <summary>
        /// Convert a game asset into a ContentObject.
        /// </summary>
        /// <param name="o"></param>
        /// <returns></returns>
        public ContentObject GetContentObject(object o)
        {
            if (o.GetType() == typeof(AssetEntry))
            {
                AssetEntry entry = (AssetEntry)o;

                ContentType ctype = ContentType.Unknown;

                if (entry.Bank.GetType() == typeof(BIGBank))
                {
                    BIGBank b = (BIGBank)entry.Bank;

                    if (b.Name ==
                        Settings.GetString("Banks", "Graphics"))
                    {
                        ctype = ContentType.Graphics;
                    }
                    else if (b.Name ==
                             Settings.GetString("Banks", "Text"))
                    {
                        ctype = ContentType.Text;
                    }
                    else if (b.Name ==
                             Settings.GetString("Banks", "Textures"))
                    {
                        ctype = ContentType.MainTextures;
                    }
                    else if (b.Name ==
                             Settings.GetString("Banks", "GUITextures"))
                    {
                        ctype = ContentType.GUITextures;
                    }
                    else if (b.Name ==
                             Settings.GetString("Banks", "FrontEndTextures"))
                    {
                        ctype = ContentType.FrontEndTextures;
                    }
                }

                return(new ContentObject(
                           entry.DevSymbolName,
                           entry,
                           ctype));
            }
            else if (o.GetType() == typeof(BINEntry))
            {
                if (!AutoLoadObjects())
                {
                    return(null);
                }

                BINEntry entry = (BINEntry)o;

                ContentType ctype = ContentType.Objects;

                if (Objects.GetEntryByName(entry.Name) != null)
                {
                    ctype = ContentType.Objects;
                }
                else if (entry.Definition == "CCutsceneDef")
                {
                    ctype = ContentType.Scripts;
                }

                return(new ContentObject(
                           entry.Name,
                           entry,
                           ctype));
            }

            return(null);
        }