public void ReadFromFile(BinaryReader reader)
        {
            int    poolLength = reader.ReadInt32();
            string pool       = new string(reader.ReadChars(poolLength));

            int hashesLength = reader.ReadInt32();

            definitions = new ActorDefinition[hashesLength];

            for (int i = 0; i != hashesLength; i++)
            {
                definitions[i] = new ActorDefinition(reader);
                int pos = definitions[i].NamePos;
                definitions[i].name = pool.Substring(pos, pool.IndexOf('\0', pos) - pos);
            }

            unkSector = new ActorExtraData(reader);

            items = new ActorItem[unkSector.ItemCount];

            for (int i = 0; i != unkSector.ItemCount; i++)
            {
                items[i] = new ActorItem(reader);
            }

            unk16 = reader.ReadInt32();

            //if (unk16 != 0)
            //throw new Exception("UNK16 is not 0. Message Greavesy with this message and the name of the SDS you tried to read");
        }
Exemple #2
0
        private void Copy()
        {
            TreeNode SelectedNode = ActorTreeView.SelectedNode;

            if (ActorTreeView.SelectedNode.Text.Equals("Extra Data"))
            {
                ActorExtraData ExtraData = (SelectedNode.Tag as ActorExtraData);
                clipboard = ExtraData;
            }
        }
Exemple #3
0
        private void Paste()
        {
            if (clipboard is ActorExtraData)
            {
                ActorExtraData           ExtraData    = (clipboard as ActorExtraData);
                IActorExtraDataInterface NewExtraData = ActorFactory.CreateDuplicateExtraData(ExtraData.BufferType, ExtraData.Data);

                TreeNode SelectedNode = ActorTreeView.SelectedNode;
                if (ActorTreeView.SelectedNode.Text.Equals("Extra Data"))
                {
                    ActorExtraData ExistingExtraData = (SelectedNode.Tag as ActorExtraData);
                    if (ExtraData.BufferType == ExistingExtraData.BufferType)
                    {
                        ExistingExtraData.Data = NewExtraData;
                    }
                }
            }
        }
Exemple #4
0
        private void Paste()
        {
            if (clipboard is ActorExtraData)
            {
                ActorExtraData           ExtraData    = (clipboard as ActorExtraData);
                IActorExtraDataInterface NewExtraData = ActorFactory.CreateDuplicateExtraData(ExtraData.BufferType, ExtraData.Data);

                TreeNode SelectedNode = ActorTreeView.SelectedNode;
                if (ActorTreeView.SelectedNode.Text.Equals("Extra Data"))
                {
                    ActorExtraData ExistingExtraData = (SelectedNode.Tag as ActorExtraData);
                    if (ExtraData.BufferType == ExistingExtraData.BufferType)
                    {
                        ExistingExtraData.Data = NewExtraData;
                    }
                }

                Text          = Language.GetString("$ACTOR_EDITOR_TITLE") + "*";
                bIsFileEdited = true;
            }
        }