public void UpdateInstance(int index) { Twinsanity.Instance INST = (Twinsanity.Instance)twinsanityEditorForm.LevelData.Get_Item(TwinsanityEditorForm.CalculateIndexes(twinsanityEditorForm.TreeView1.Nodes[0].Nodes[IISIndex].Nodes[6].Nodes[index])); Twinsanity.GameObjects Objects = (Twinsanity.GameObjects)twinsanityEditorForm.LevelData.Item[1]._Item[0]; Twinsanity.GameObject GO = null; for (int i = 0; i <= Objects._Item.Length - 1; i++) { if (Objects._Item[i].ID == INST.ObjectID) { GO = (Twinsanity.GameObject)Objects._Item[i]; break; } } if (!(GO == null)) this.Text = "Object " + GO.Name + " (ID: " + GO.ID.ToString() + ")"; else this.Text = "Object is not defined"; InstanceID.Text = INST.ID.ToString(); ObjectID.Text = INST.ObjectID.ToString(); InstanceX.Text = INST.X.ToString(); InstanceY.Text = INST.Y.ToString(); InstanceZ.Text = INST.Z.ToString(); RotationX.Value = INST.RX; RotationY.Value = INST.RY; RotationZ.Value = INST.RZ; UpdateRotations(); Flags.Text = INST.UnkI32.ToString(); Satan.Text = INST.AfterOID.ToString(); Some.Items.Clear(); Floats.Items.Clear(); Integers.Items.Clear(); for (int i = 0; i <= INST.UnkI321Number - 1; i++) Some.Items.Add(INST.UnkI321[i]); for (int i = 0; i <= INST.UnkI322Number - 1; i++) Floats.Items.Add(INST.UnkI322[i]); for (int i = 0; i <= INST.UnkI323Number - 1; i++) Integers.Items.Add(INST.UnkI323[i]); Position.Items.Clear(); Path.Items.Clear(); Instance.Items.Clear(); for (int i = 0; i <= INST.Size1 - 1; i++) Position.Items.Add(INST.Something1[i]); for (int i = 0; i <= INST.Size2 - 1; i++) Path.Items.Add(INST.Something2[i]); for (int i = 0; i <= INST.Size3 - 1; i++) Instance.Items.Add(INST.Something3[i]); }
public void ApplyInstance(int index) { Twinsanity.Instance INST = new Twinsanity.Instance(); INST.ID = uint.Parse(InstanceID.Text); INST.ObjectID = UInt16.Parse(ObjectID.Text); INST.X = float.Parse(InstanceX.Text); INST.Y = float.Parse(InstanceY.Text); INST.Z = float.Parse(InstanceZ.Text); INST.RX = (ushort)RotationX.Value; INST.RY = (ushort)RotationY.Value; INST.RZ = (ushort)RotationZ.Value; INST.UnkI32 = uint.Parse(Flags.Text); INST.AfterOID = uint.Parse(Satan.Text); INST.UnkI321Number = Some.Items.Count; INST.UnkI322Number = Floats.Items.Count; INST.UnkI323Number = Integers.Items.Count; INST.Size1 = Position.Items.Count; INST.Size2 = Path.Items.Count; INST.Size3 = Instance.Items.Count; Array.Resize(ref INST.UnkI321, INST.UnkI321Number); Array.Resize(ref INST.UnkI322, INST.UnkI322Number); Array.Resize(ref INST.UnkI323, INST.UnkI323Number); Array.Resize(ref INST.Something1, INST.Size1); Array.Resize(ref INST.Something2, INST.Size2); Array.Resize(ref INST.Something3, INST.Size3); for (int i = 0; i <= INST.UnkI321Number - 1; i++) INST.UnkI321[i] = (uint)Some.Items[i]; for (int i = 0; i <= INST.UnkI322Number - 1; i++) INST.UnkI322[i] = (float)Floats.Items[i]; for (int i = 0; i <= INST.UnkI323Number - 1; i++) INST.UnkI323[i] = (uint)Integers.Items[i]; for (int i = 0; i <= INST.Size1 - 1; i++) INST.Something1[i] = (ushort)Position.Items[i]; for (int i = 0; i <= INST.Size2 - 1; i++) INST.Something2[i] = (ushort)Path.Items[i]; for (int i = 0; i <= INST.Size3 - 1; i++) INST.Something3[i] = (ushort)Instance.Items[i]; twinsanityEditorForm.LevelData.Put_Item(INST, TwinsanityEditorForm.CalculateIndexes(twinsanityEditorForm.TreeView1.Nodes[0].Nodes[IISIndex].Nodes[6].Nodes[index])); }
private void UpdateObject(int Index) { Twinsanity.Instance INST = (Twinsanity.Instance)twinsanityEditorForm.LevelData.Get_Item(TwinsanityEditorForm.CalculateIndexes(twinsanityEditorForm.TreeView1.Nodes[0].Nodes[IISIndex].Nodes[6].Nodes[Index])); Twinsanity.GameObjects Objects = (Twinsanity.GameObjects)twinsanityEditorForm.LevelData.Item[1]._Item[0]; Twinsanity.GameObject GO = null; for (int i = 0; i <= Objects._Item.Length - 1; i++) { if (Objects._Item[i].ID == INST.ObjectID) { GO = (Twinsanity.GameObject)Objects._Item[i]; break; } } if (!(GO == null)) { Label4.Text = "Instances (" + GO.Name + ")"; } else { Label4.Text = "Instances (Object is undefined)"; } }