public void Save(string mypath) { BinaryWriter binaryWriter = new BinaryWriter(File.Open(mypath, FileMode.Create)); RoseFile.WriteFString(ref binaryWriter, this.formatCode, 4); binaryWriter.Write(0); binaryWriter.Write(this.rowCount); binaryWriter.Write(this.columnCount); binaryWriter.Write(this.RowHeight); for (int i = 0; i < this.columnCount + 1; i++) { binaryWriter.Write(this.column[i].width); } for (int i = 0; i < this.columnCount + 1; i++) { RoseFile.WriteSString(ref binaryWriter, this.column[i].title); } for (int i = 0; i < this.rowCount - 1; i++) { RoseFile.WriteSString(ref binaryWriter, this.cell[i, 0]); } long position = binaryWriter.BaseStream.Position; binaryWriter.BaseStream.Seek(4L, SeekOrigin.Begin); binaryWriter.Write((int)position); binaryWriter.Seek((int)position, SeekOrigin.Begin); for (int i = 0; i < this.rowCount - 1; i++) { for (int j = 0; j < this.columnCount - 1; j++) { RoseFile.WriteSString(ref binaryWriter, this.cell[i, j + 1]); } } binaryWriter.Close(); }
public void Save(string filePath) { this.Path = filePath; BinaryWriter bw = new BinaryWriter(File.Open(filePath, FileMode.Create)); bw.Write((short)this.listDDS.Count); int totalElementCount = 0; this.listDDS.ForEach(delegate(TSI.DDS dds) { RoseFile.WriteSString(ref bw, dds.Path); bw.Write(dds.ColourKey); totalElementCount += dds.ListDDS_element.Count; }); bw.Write((short)totalElementCount); this.listDDS.ForEach(delegate(TSI.DDS dds) { bw.Write((short)dds.ListDDS_element.Count); dds.ListDDS_element.ForEach(delegate(TSI.DDS.DDSElement dds_element) { bw.Write(dds_element.OwnerId); bw.Write(dds_element.X); bw.Write(dds_element.Y); bw.Write(dds_element.Width + dds_element.X); bw.Write(dds_element.Height + dds_element.Y); bw.Write(dds_element.Color); RoseFile.WriteFString(ref bw, dds_element.Name, 32); }); }); bw.Close(); }
public void Save(string path) { BinaryWriter binaryWriter = new BinaryWriter(File.Open(path, FileMode.Create)); RoseFile.WriteFString(ref binaryWriter, "ZMO0002", 8); binaryWriter.Write(this.FPS); binaryWriter.Write(this.frameCount); binaryWriter.Write(this.channelCount); for (int i = 0; i < this.channelCount; i++) { binaryWriter.Write((int)this.listChannel[i].trackType); binaryWriter.Write(this.listChannel[i].trackID); } for (int i = 0; i < this.frameCount; i++) { for (int j = 0; j < this.channelCount; j++) { if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_NORMAL) { RoseFile.WriteVector3(ref binaryWriter, this.listChannel[j].normal[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_ROTATION) { RoseFile.WriteVector4(ref binaryWriter, this.listChannel[j].rotation[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_POSITION) { RoseFile.WriteVector3(ref binaryWriter, this.listChannel[j].position[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_ALPHA) { binaryWriter.Write(this.listChannel[j].alpha[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_UV1) { RoseFile.WriteVector2(ref binaryWriter, this.listChannel[j].uv1[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_UV2) { RoseFile.WriteVector2(ref binaryWriter, this.listChannel[j].uv1[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_UV3) { RoseFile.WriteVector2(ref binaryWriter, this.listChannel[j].uv1[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_UV4) { RoseFile.WriteVector2(ref binaryWriter, this.listChannel[j].uv1[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_TEXTUREANIM) { binaryWriter.Write(this.listChannel[j].textureAnim[i]); } else if (this.listChannel[j].trackType == ZMO.TrackType.TRACK_TYPE_SCALE) { binaryWriter.Write(this.listChannel[j].scale[i]); } } } binaryWriter.Write(ZMO.unknowData); binaryWriter.Close(); }