Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/nes-containers.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'UnifFile.cs')
-rw-r--r--UnifFile.cs33
1 files changed, 21 insertions, 12 deletions
diff --git a/UnifFile.cs b/UnifFile.cs
index 56be6be..f098468 100644
--- a/UnifFile.cs
+++ b/UnifFile.cs
@@ -63,7 +63,7 @@ namespace com.clusterrr.Famicom.Containers
}
/// <summary>
- /// Create UnifFile object from raw data
+ /// Create UnifFile object from raw .unf file contents
/// </summary>
/// <param name="data">Raw UNIF data</param>
public UnifFile(byte[] data)
@@ -90,7 +90,7 @@ namespace com.clusterrr.Famicom.Containers
/// <summary>
/// Create UnifFile object from specified file
/// </summary>
- /// <param name="fileName"></param>
+ /// <param name="fileName">Path to the .unf file</param>
public UnifFile(string fileName) : this(File.ReadAllBytes(fileName))
{
}
@@ -99,17 +99,21 @@ namespace com.clusterrr.Famicom.Containers
/// Create UnifFile object from raw .unf file contents
/// </summary>
/// <param name="data"></param>
- /// <returns></returns>
- public static UnifFile FromBytes(byte[] data)
- {
- return new UnifFile(data);
- }
+ /// <returns>UnifFile object</returns>
+ public static UnifFile FromBytes(byte[] data) => new UnifFile(data);
/// <summary>
- /// Save UNIF file
+ /// Create UnifFile object from specified file
/// </summary>
- /// <param name="fileName">Target filename</param>
- public void Save(string fileName)
+ /// <param name="filename">Path to the .unf file</param>
+ /// <returns>UnifFile object</returns>
+ public static UnifFile FromFile(string filename) => new UnifFile(filename);
+
+ /// <summary>
+ /// Returns .unf file contents
+ /// </summary>
+ /// <returns></returns>
+ public byte[] ToBytes()
{
var data = new List<byte>();
var header = new byte[32];
@@ -130,11 +134,16 @@ namespace com.clusterrr.Famicom.Containers
data.Add((byte)((len >> 24) & 0xFF));
data.AddRange(fields[name]);
}
-
- File.WriteAllBytes(fileName, data.ToArray());
+ return data.ToArray();
}
/// <summary>
+ /// Save as .unf file
+ /// </summary>
+ /// <param name="filename">Target filename</param>
+ public void Save(string filename) => File.WriteAllBytes(filename, ToBytes());
+
+ /// <summary>
/// Convert string to null-terminated UTF string
/// </summary>
/// <param name="text">Input text</param>