public static bool saveFigure(List<byte> bytes, StickCustom figure) { bytes.AddRange(tzf.fileSig); bytes.AddRange(tzf.curVersion); bytes.AddRange(BitConverter.GetBytes(figure.Joints.Count)); bytes.AddRange(BitConverter.GetBytes(figure.getBitmapCount())); try { foreach (StickJoint joint in figure.Joints) writeJointBlock(bytes, figure, joint); foreach (StickJoint joint in figure.Joints) if (joint.Bitmap_IDs.Count > 0) for (int x = 0;x < joint.Bitmap_IDs.Count;x++) writeBitmapBlock(x, joint, bytes); } catch (Exception ex) { MessageBox.Show("Saving failed. Error Detail:\n" + ex.Message, "Saving Failed!"); return false; } return true; }
public static bool saveFigure(string path, StickCustom figure) { BinaryWriter bin = new BinaryWriter(File.Open(path, FileMode.Create)); bin.Write(tzf.fileSig, 0, tzf.fileSig.Length); bin.Write(tzf.curVersion, 0, tzf.curVersion.Length); bin.Write(figure.Joints.Count); bin.Write(figure.getBitmapCount()); try { foreach (StickJoint joint in figure.Joints) writeJointBlock(bin, figure, joint); foreach (StickJoint joint in figure.Joints) if (joint.Bitmap_IDs.Count > 0) for (int x = 0;x < joint.Bitmap_IDs.Count;x++) writeBitmapBlock(x, joint, bin); } catch (Exception ex) { MessageBox.Show("Saving failed. Error Detail:\n" + ex.Message, "Saving Failed!"); bin.Close(); return false; } bin.Close(); return true; }