Пример #1
0
        public void Load(string Path)
        {
            this.path = Path;
            BinaryReader binaryReader = new BinaryReader(File.Open(Path, FileMode.Open));
            short        num          = binaryReader.ReadInt16();

            for (int i = 0; i < (int)num; i++)
            {
                ZSC.Mesh mesh = new ZSC.Mesh();
                mesh.read(ref binaryReader);
                this.listMesh.Add(mesh);
            }
            short num2 = binaryReader.ReadInt16();

            for (int i = 0; i < (int)num2; i++)
            {
                ZSC.Materiel materiel = new ZSC.Materiel();
                materiel.read(ref binaryReader);
                this.listMateriel.Add(materiel);
            }
            short num3 = binaryReader.ReadInt16();

            for (int i = 0; i < (int)num3; i++)
            {
                ZSC.Effect effect = new ZSC.Effect();
                effect.read(ref binaryReader);
                this.listEffect.Add(effect);
            }
            short num4 = binaryReader.ReadInt16();

            for (int i = 0; i < (int)num4; i++)
            {
                ZSC.Object @object = new ZSC.Object();
                @object.read(ref binaryReader);
                this.listObject.Add(@object);
            }
            binaryReader.Close();
        }
Пример #2
0
 public void Load(string Path)
 {
     this.path = Path;
     BinaryReader binaryReader = new BinaryReader(File.Open(Path, FileMode.Open));
     short num = binaryReader.ReadInt16();
     for (int i = 0; i < (int)num; i++)
     {
         ZSC.Mesh mesh = new ZSC.Mesh();
         mesh.read(ref binaryReader);
         this.listMesh.Add(mesh);
     }
     short num2 = binaryReader.ReadInt16();
     for (int i = 0; i < (int)num2; i++)
     {
         ZSC.Materiel materiel = new ZSC.Materiel();
         materiel.read(ref binaryReader);
         this.listMateriel.Add(materiel);
     }
     short num3 = binaryReader.ReadInt16();
     for (int i = 0; i < (int)num3; i++)
     {
         ZSC.Effect effect = new ZSC.Effect();
         effect.read(ref binaryReader);
         this.listEffect.Add(effect);
     }
     short num4 = binaryReader.ReadInt16();
     for (int i = 0; i < (int)num4; i++)
     {
         ZSC.Object @object = new ZSC.Object();
         @object.read(ref binaryReader);
         this.listObject.Add(@object);
     }
     binaryReader.Close();
 }
Пример #3
0
 public void ImportObject()
 {
     string text = this.textBoxName.Text;
     string text2 = this.textBoxDescription.Text;
     this.richTextBoxHistory.AppendText(string.Concat(new string[]
     {
         "Starting importation from client ",
         this.textBoxImportedFolder.Text,
         " to our client ",
         this.textBoxExportedFolder.Text,
         "\n"
     }));
     this.richTextBoxHistory.AppendText(string.Concat(new object[]
     {
         "Object that where at position [",
         this.ImportedItemIndex,
         "] will be in our client at position [",
         this.ExportedItemIndex,
         "]\n"
     }));
     this.richTextBoxHistory.AppendText(text + " : " + text2 + "\n");
     int num;
     if (this.comboBoxObjetType.Text.Equals("NPC"))
     {
         num = this.ExportedSTB.columnCount;
     }
     else
     {
         num = this.ExportedSTB.columnCount - 1;
     }
     string[] array = new string[this.ExportedSTB.columnCount];
     for (int i = 0; i < num; i++)
     {
         array[i] = this.dataGridView.Rows[0].Cells[i].Value.ToString();
     }
     int sTLLinkColumn = this.GetSTLLinkColumn(false);
     string text3 = this.comboBoxObjetType.Text;
     switch (text3)
     {
     case "Arms":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.ARMS + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.ARMS + this.ExportedItemIndex;
         break;
     case "Back":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.BACK + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.BACK + this.ExportedItemIndex;
         break;
     case "Body":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.BODY + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.BODY + this.ExportedItemIndex;
         break;
     case "Cap":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.CAP + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.CAP + this.ExportedItemIndex;
         break;
     case "Face item":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.FACEITEM + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.FACEITEM + this.ExportedItemIndex;
         break;
     case "Foot":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.FOOT + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.FOOT + this.ExportedItemIndex;
         break;
     case "SUBWPN":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.SUBWPN + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.SUBWPN + this.ExportedItemIndex;
         break;
     case "PAT":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.PAT + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.PAT + this.ExportedItemIndex;
         break;
     case "Weapons":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.WEAPONS + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.WEAPONS + this.ExportedItemIndex;
         break;
     case "NPC":
         this.ExportedSTL.AddEntry(this.ExportedItemIndex, MainForm.STLPrefix.NPC + this.ExportedItemIndex, text, text2);
         array[sTLLinkColumn] = MainForm.STLPrefix.NPC + this.ExportedItemIndex;
         break;
     }
     if (this.comboBoxObjetType.Text.Equals("NPC"))
     {
         CHR.Character character = this.ImportedCHR.list_character[this.ImportedItemIndex];
         int count = character.List_Mesh.Count;
         int num3 = -1;
         int num4 = 0;
         for (int i = 0; i < this.ExportedMZSC.listObject.Count; i++)
         {
             if (this.ExportedMZSC.listObject[i].list_mesh.Count == 0 && this.ExportedMZSC.listObject[i].list_effect.Count == 0)
             {
                 num4++;
                 if (num4 == count)
                 {
                     num3 = i - count + 1;
                     break;
                 }
             }
             else
             {
                 num4 = 0;
             }
         }
         if (num3 == -1)
         {
             this.richTextBoxHistory.AppendText("Error : Not enough space to copy " + count + " entries in our client \n");
             return;
         }
         this.ExportedSTB.ReplaceRow(this.ExportedItemIndex, array);
         this.ExportedSTB.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into STB : " + this.ExportedSTB.path + "\n");
         this.ExportedSTL.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into STL : " + this.ExportedSTL.path + "\n");
         this.ExportedCHR.list_mesh.Add(this.ImportedCHR.list_mesh[(int)character.Bone_id]);
         character.Bone_id = Convert.ToInt16(this.ExportedCHR.list_mesh.Count - 1);
         character.is_active = 1;
         this.CopyFile(this.ExportedCHR.list_mesh[(int)character.Bone_id].Mesh_path);
         for (int i = 0; i < character.List_Motion.Count; i++)
         {
             this.ExportedCHR.list_motion.Add(this.ImportedCHR.list_motion[(int)character.List_Motion[i].Motion_id]);
             character.List_Motion[i].Motion_id = Convert.ToInt16(this.ExportedCHR.list_motion.Count - 1);
             this.CopyFile(this.ExportedCHR.list_motion[(int)character.List_Motion[i].Motion_id].Motion_path);
         }
         for (int i = 0; i < character.List_Effect.Count; i++)
         {
             this.ExportedCHR.list_effect.Add(this.ImportedCHR.list_effect[(int)character.List_Effect[i].Effect_id]);
             character.List_Effect[i].Effect_id = Convert.ToInt16(this.ExportedCHR.list_effect.Count - 1);
             this.CopyFile(this.ExportedCHR.list_effect[(int)character.List_Effect[i].Effect_id].Effect_path);
         }
         for (int j = 0; j < character.List_Mesh.Count; j++)
         {
             ZSC.Object @object = new ZSC.Object();
             @object = this.ImportedMZSC.listObject[(int)character.List_Mesh[j].zsc_obj_id];
             for (int i = 0; i < @object.list_mesh.Count; i++)
             {
                 if (@object.list_mesh[i].mesh_id != -1)
                 {
                     this.ExportedMZSC.listMesh.Add(this.ImportedMZSC.listMesh[(int)@object.list_mesh[i].mesh_id]);
                     @object.list_mesh[i].mesh_id = Convert.ToInt16(this.ExportedMZSC.listMesh.Count - 1);
                     this.CopyFile(this.ExportedMZSC.listMesh[(int)@object.list_mesh[i].mesh_id].path);
                 }
                 if (@object.list_mesh[i].material_id != -1)
                 {
                     this.ExportedMZSC.listMateriel.Add(this.ImportedMZSC.listMateriel[(int)@object.list_mesh[i].material_id]);
                     @object.list_mesh[i].material_id = Convert.ToInt16(this.ExportedMZSC.listMateriel.Count - 1);
                     this.CopyFile(this.ExportedMZSC.listMateriel[(int)@object.list_mesh[i].material_id].path);
                 }
             }
             for (int i = 0; i < @object.list_effect.Count; i++)
             {
                 if (@object.list_effect[i].effect_id != -1)
                 {
                     this.ExportedMZSC.listEffect.Add(this.ImportedMZSC.listEffect[(int)@object.list_effect[i].effect_id]);
                     @object.list_effect[i].effect_id = Convert.ToInt16(this.ExportedMZSC.listEffect.Count - 1);
                     this.CopyFile(this.ExportedMZSC.listEffect[(int)@object.list_effect[i].effect_id].path);
                 }
             }
             character.List_Mesh[j].zsc_obj_id = Convert.ToInt16(num3 + j);
             this.ExportedMZSC.listObject[num3 + j] = @object;
             this.richTextBoxHistory.AppendText(string.Concat(new object[]
             {
                 "Item succefully import into ZSC at entry : ",
                 num3 + j,
                 " in ",
                 this.ExportedMZSC.path,
                 "\n"
             }));
         }
         this.ExportedMZSC.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into ZSC : " + this.ExportedMZSC.path + "\n");
         this.ExportedCHR.list_character[this.ExportedItemIndex] = character;
         this.ExportedCHR.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into CHR : " + this.ExportedCHR.path + "\n");
     }
     else
     {
         this.ExportedSTB.ReplaceRow(this.ExportedItemIndex, array);
         this.ExportedSTB.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into STB : " + this.ExportedSTB.path + "\n");
         this.ExportedSTL.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into STL : " + this.ExportedSTL.path + "\n");
         ZSC.Object @object = new ZSC.Object();
         @object = this.ImportedMZSC.listObject[this.ImportedItemIndex];
         for (int i = 0; i < @object.list_mesh.Count; i++)
         {
             if (@object.list_mesh[i].mesh_id != -1)
             {
                 this.ExportedMZSC.listMesh.Add(this.ImportedMZSC.listMesh[(int)@object.list_mesh[i].mesh_id]);
                 @object.list_mesh[i].mesh_id = Convert.ToInt16(this.ExportedMZSC.listMesh.Count - 1);
                 this.CopyFile(this.ExportedMZSC.listMesh[(int)@object.list_mesh[i].mesh_id].path);
             }
             if (@object.list_mesh[i].material_id != -1)
             {
                 this.ExportedMZSC.listMateriel.Add(this.ImportedMZSC.listMateriel[(int)@object.list_mesh[i].material_id]);
                 @object.list_mesh[i].material_id = Convert.ToInt16(this.ExportedMZSC.listMateriel.Count - 1);
                 this.CopyFile(this.ExportedMZSC.listMateriel[(int)@object.list_mesh[i].material_id].path);
             }
         }
         for (int i = 0; i < @object.list_effect.Count; i++)
         {
             if (@object.list_effect[i].effect_id != -1)
             {
                 this.ExportedMZSC.listEffect.Add(this.ImportedMZSC.listEffect[(int)@object.list_effect[i].effect_id]);
                 @object.list_effect[i].effect_id = Convert.ToInt16(this.ExportedMZSC.listEffect.Count - 1);
                 this.CopyFile(this.ExportedMZSC.listEffect[(int)@object.list_effect[i].effect_id].path);
             }
         }
         this.ExportedMZSC.listObject[this.ExportedItemIndex] = @object;
         this.ExportedMZSC.Save();
         this.richTextBoxHistory.AppendText("Item succefully import into ZSC : " + this.ExportedMZSC.path + "\n");
         if (this.ExportedWZSC.listObject.Count != 0)
         {
             ZSC.Object object2 = this.ImportedWZSC.listObject[this.ImportedItemIndex];
             for (int i = 0; i < object2.list_mesh.Count; i++)
             {
                 if (object2.list_mesh[i].mesh_id != -1)
                 {
                     this.ExportedWZSC.listMesh.Add(this.ImportedWZSC.listMesh[(int)object2.list_mesh[i].mesh_id]);
                     object2.list_mesh[i].mesh_id = Convert.ToInt16(this.ExportedWZSC.listMesh.Count - 1);
                     this.CopyFile(this.ExportedWZSC.listMesh[(int)object2.list_mesh[i].mesh_id].path);
                 }
                 if (object2.list_mesh[i].material_id != -1)
                 {
                     this.ExportedWZSC.listMateriel.Add(this.ImportedWZSC.listMateriel[(int)object2.list_mesh[i].material_id]);
                     object2.list_mesh[i].material_id = Convert.ToInt16(this.ExportedWZSC.listMateriel.Count - 1);
                     this.CopyFile(this.ExportedWZSC.listMateriel[(int)object2.list_mesh[i].material_id].path);
                 }
             }
             for (int i = 0; i < object2.list_effect.Count; i++)
             {
                 if (object2.list_effect[i].effect_id != -1)
                 {
                     this.ExportedWZSC.listEffect.Add(this.ImportedWZSC.listEffect[(int)object2.list_effect[i].effect_id]);
                     object2.list_effect[i].effect_id = Convert.ToInt16(this.ExportedWZSC.listEffect.Count - 1);
                     this.CopyFile(this.ExportedWZSC.listEffect[(int)object2.list_effect[i].effect_id].path);
                 }
             }
             this.ExportedWZSC.listObject[this.ExportedItemIndex] = object2;
             this.ExportedWZSC.Save();
             this.richTextBoxHistory.AppendText("Item succefully import into ZSC : " + this.ExportedWZSC.path + "\n");
         }
     }
     this.richTextBoxHistory.AppendText("Importation succefully done.");
 }