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:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2021-09-24 19:13:03 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2021-09-24 19:13:03 +0300
commit7d014bbb8f8a09891999d1be90b73db618d5dd3d (patch)
tree53d52c7393b6651f030b134b3725074010513003
parent1916c77c9b79c20225f997abc195640c11d8e096 (diff)
null checks, bugfixes
-rw-r--r--NesFile.cs20
1 files changed, 15 insertions, 5 deletions
diff --git a/NesFile.cs b/NesFile.cs
index ddcb076..c7b850f 100644
--- a/NesFile.cs
+++ b/NesFile.cs
@@ -14,27 +14,37 @@ namespace com.clusterrr.Famicom.Containers
/// <summary>
/// PRG data
/// </summary>
- public IEnumerable<byte> PRG { get => Array.AsReadOnly(prg); set => prg = value.ToArray(); }
+ public IEnumerable<byte> PRG {
+ get => Array.AsReadOnly(prg);
+ set => prg = (value ?? new byte[0]).ToArray();
+ }
/// <summary>
/// CHR data (can be null if none)
/// </summary>
- public IEnumerable<byte> CHR { get => Array.AsReadOnly(chr); set => chr = value.ToArray(); }
+ public IEnumerable<byte> CHR {
+ get => Array.AsReadOnly(chr);
+ set => chr = (value ?? new byte[0]).ToArray();
+ }
/// <summary>
/// Trainer (can be null if none)
/// </summary>
public IEnumerable<byte> Trainer
{
- get => Array.AsReadOnly(trainer); set
+ get => Array.AsReadOnly(trainer);
+ set
{
if (value != null && value.Count() != 0 && value.Count() != 512)
throw new ArgumentOutOfRangeException("Trainer size must be 512 bytes");
- chr = trainer.ToArray();
+ chr = (value ?? new byte[0]).ToArray();
}
}
/// <summary>
/// Miscellaneous ROM (NES 2.0 only, can be null if none)
/// </summary>
- public IEnumerable<byte> MiscellaneousROM { get => Array.AsReadOnly(miscellaneousROM); set => miscellaneousROM = value.ToArray(); }
+ public IEnumerable<byte> MiscellaneousROM {
+ get => Array.AsReadOnly(miscellaneousROM);
+ set => miscellaneousROM = (value ?? new byte[0]).ToArray();
+ }
/// <summary>
/// Mapper number
/// </summary>