Example #1
0
 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]);
 }
Example #2
0
 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)";
     }
 }