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"); }
private void Copy() { TreeNode SelectedNode = ActorTreeView.SelectedNode; if (ActorTreeView.SelectedNode.Text.Equals("Extra Data")) { ActorExtraData ExtraData = (SelectedNode.Tag as ActorExtraData); clipboard = ExtraData; } }
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; } } } }
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; } }