public unsafe static void overwriteMeshes(IGrannyFile file, string sourceFilename, GrannyContext grannyContext, Int32 currentModelIndex) { string filename = file.Filename; GrannyModelInfo modelInfo = loadModelInfo(sourceFilename); doBoneBindings(modelInfo); GrannyFileWrapper fileWrapper = new GrannyFileWrapper(file); List <IGrannyFile> meshFileList = new List <IGrannyFile>(); foreach (GrannyMeshInfo meshInfo in modelInfo.meshBindings) { meshFileList.Add(writeMesh(meshInfo)); } IGrannyModel model = file.Models[currentModelIndex]; GrannyModelWrapper modelWrapper = new GrannyModelWrapper(model); modelWrapper.setNumMeshBindings(0); model.MeshBindings.Clear(); foreach (IGrannyFile meshFile in meshFileList) { doAppendMeshBinding(grannyContext, file, meshFile, currentModelIndex); } fileWrapper.setNumMeshes(0); fileWrapper.setNumTriTopologies(0); fileWrapper.setNumVertexDatas(0); file.Meshes.Clear(); int meshesCount = 0; foreach (IGrannyModel loopModel in file.Models) { foreach (IGrannyMesh mesh in loopModel.MeshBindings) { file.AddMeshReference(mesh); meshesCount++; } } fileWrapper.setFromArtToolInfo("Blender", 2, 0); fileWrapper.setUnitsPerMeter(10.7f); NexusBuddyApplicationForm.setExporterInfo(fileWrapper); fileWrapper.setFromFileName(sourceFilename); fileWrapper.setNumMeshes(meshesCount); NexusBuddyApplicationForm.form.saveAsAction(file, filename, false); }