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(); }
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(); }
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."); }