diff --git a/SabreTools.DatItems/Formats/Adjuster.cs b/SabreTools.DatItems/Formats/Adjuster.cs
index 0e3b8efb..d3c74147 100644
--- a/SabreTools.DatItems/Formats/Adjuster.cs
+++ b/SabreTools.DatItems/Formats/Adjuster.cs
@@ -48,6 +48,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Adjuster;
}
+ ///
+ /// Create an Adjuster object from the internal model
+ ///
+ public Adjuster(Models.Metadata.Adjuster? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Adjuster;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Analog.cs b/SabreTools.DatItems/Formats/Analog.cs
index 33510967..60b2e7fd 100644
--- a/SabreTools.DatItems/Formats/Analog.cs
+++ b/SabreTools.DatItems/Formats/Analog.cs
@@ -23,6 +23,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Analog;
}
+ ///
+ /// Create an Analog object from the internal model
+ ///
+ public Analog(Models.Metadata.Analog? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Analog;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/BiosSet.cs b/SabreTools.DatItems/Formats/BiosSet.cs
index ec777aa9..0d83b79f 100644
--- a/SabreTools.DatItems/Formats/BiosSet.cs
+++ b/SabreTools.DatItems/Formats/BiosSet.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.BiosSet;
}
+ ///
+ /// Create a BiosSet object from the internal model
+ ///
+ public BiosSet(Models.Metadata.BiosSet? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.BiosSet;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Chip.cs b/SabreTools.DatItems/Formats/Chip.cs
index 77767740..22f50af5 100644
--- a/SabreTools.DatItems/Formats/Chip.cs
+++ b/SabreTools.DatItems/Formats/Chip.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Chip;
}
+ ///
+ /// Create a Chip object from the internal model
+ ///
+ public Chip(Models.Metadata.Chip? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Chip;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Condition.cs b/SabreTools.DatItems/Formats/Condition.cs
index 537bced2..1c655533 100644
--- a/SabreTools.DatItems/Formats/Condition.cs
+++ b/SabreTools.DatItems/Formats/Condition.cs
@@ -23,6 +23,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Condition;
}
+ ///
+ /// Create a Condition object from the internal model
+ ///
+ public Condition(Models.Metadata.Condition? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Condition;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/ConfLocation.cs b/SabreTools.DatItems/Formats/ConfLocation.cs
index fdf0fe89..63ecedce 100644
--- a/SabreTools.DatItems/Formats/ConfLocation.cs
+++ b/SabreTools.DatItems/Formats/ConfLocation.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.ConfLocation;
}
+ ///
+ /// Create a ConfLocation object from the internal model
+ ///
+ public ConfLocation(Models.Metadata.ConfLocation? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.ConfLocation;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/ConfSetting.cs b/SabreTools.DatItems/Formats/ConfSetting.cs
index e2a70147..5cdec69a 100644
--- a/SabreTools.DatItems/Formats/ConfSetting.cs
+++ b/SabreTools.DatItems/Formats/ConfSetting.cs
@@ -48,6 +48,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.ConfSetting;
}
+ ///
+ /// Create a ConfSetting object from the internal model
+ ///
+ public ConfSetting(Models.Metadata.ConfSetting? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.ConfSetting;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Configuration.cs b/SabreTools.DatItems/Formats/Configuration.cs
index ab82233e..74a011a1 100644
--- a/SabreTools.DatItems/Formats/Configuration.cs
+++ b/SabreTools.DatItems/Formats/Configuration.cs
@@ -68,6 +68,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Configuration;
}
+ ///
+ /// Create a Configuration object from the internal model
+ ///
+ public Configuration(Models.Metadata.Configuration? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Configuration;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Control.cs b/SabreTools.DatItems/Formats/Control.cs
index 882fd10a..83fbea13 100644
--- a/SabreTools.DatItems/Formats/Control.cs
+++ b/SabreTools.DatItems/Formats/Control.cs
@@ -23,6 +23,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Control;
}
+ ///
+ /// Create a Control object from the internal model
+ ///
+ public Control(Models.Metadata.Control? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Control;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/DataArea.cs b/SabreTools.DatItems/Formats/DataArea.cs
index 8c3e6731..a2ada4a4 100644
--- a/SabreTools.DatItems/Formats/DataArea.cs
+++ b/SabreTools.DatItems/Formats/DataArea.cs
@@ -35,6 +35,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.DataArea;
}
+ ///
+ /// Create a DataArea object from the internal model
+ ///
+ public DataArea(Models.Metadata.DataArea? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.DataArea;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Device.cs b/SabreTools.DatItems/Formats/Device.cs
index a5ca55a2..6a74fa20 100644
--- a/SabreTools.DatItems/Formats/Device.cs
+++ b/SabreTools.DatItems/Formats/Device.cs
@@ -47,6 +47,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Device;
}
+ ///
+ /// Create a Device object from the internal model
+ ///
+ public Device(Models.Metadata.Device? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Device;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/DeviceReference.cs b/SabreTools.DatItems/Formats/DeviceReference.cs
index 3db0749b..7e400cd0 100644
--- a/SabreTools.DatItems/Formats/DeviceReference.cs
+++ b/SabreTools.DatItems/Formats/DeviceReference.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.DeviceReference;
}
+ ///
+ /// Create a DeviceReference object from the internal model
+ ///
+ public DeviceReference(Models.Metadata.DeviceRef? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.DeviceReference;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/DipLocation.cs b/SabreTools.DatItems/Formats/DipLocation.cs
index 58637890..9dd61add 100644
--- a/SabreTools.DatItems/Formats/DipLocation.cs
+++ b/SabreTools.DatItems/Formats/DipLocation.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.DipLocation;
}
+ ///
+ /// Create a DipLocation object from the internal model
+ ///
+ public DipLocation(Models.Metadata.DipLocation? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.DipLocation;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/DipSwitch.cs b/SabreTools.DatItems/Formats/DipSwitch.cs
index 9e442ab1..d3fdb897 100644
--- a/SabreTools.DatItems/Formats/DipSwitch.cs
+++ b/SabreTools.DatItems/Formats/DipSwitch.cs
@@ -80,6 +80,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.DipSwitch;
}
+ ///
+ /// Create a DipSwitch object from the internal model
+ ///
+ public DipSwitch(Models.Metadata.DipSwitch? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.DipSwitch;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/DipValue.cs b/SabreTools.DatItems/Formats/DipValue.cs
index 68ef3461..7e0c0100 100644
--- a/SabreTools.DatItems/Formats/DipValue.cs
+++ b/SabreTools.DatItems/Formats/DipValue.cs
@@ -48,6 +48,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.DipValue;
}
+ ///
+ /// Create a DipValue object from the internal model
+ ///
+ public DipValue(Models.Metadata.DipValue? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.DipValue;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Disk.cs b/SabreTools.DatItems/Formats/Disk.cs
index 68d5f813..528e3533 100644
--- a/SabreTools.DatItems/Formats/Disk.cs
+++ b/SabreTools.DatItems/Formats/Disk.cs
@@ -81,6 +81,17 @@ namespace SabreTools.DatItems.Formats
SetFieldValue(Models.Metadata.Disk.StatusKey, ItemStatus.None);
}
+ ///
+ /// Create a Disk object from the internal model
+ ///
+ public Disk(Models.Metadata.Disk? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Disk;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/DiskArea.cs b/SabreTools.DatItems/Formats/DiskArea.cs
index b5b54884..fdf4adfa 100644
--- a/SabreTools.DatItems/Formats/DiskArea.cs
+++ b/SabreTools.DatItems/Formats/DiskArea.cs
@@ -35,6 +35,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.DiskArea;
}
+ ///
+ /// Create a DiskArea object from the internal model
+ ///
+ public DiskArea(Models.Metadata.DiskArea? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.DiskArea;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Display.cs b/SabreTools.DatItems/Formats/Display.cs
index 3c0e7397..d46e300e 100644
--- a/SabreTools.DatItems/Formats/Display.cs
+++ b/SabreTools.DatItems/Formats/Display.cs
@@ -23,6 +23,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Display;
}
+ ///
+ /// Create a Display object from the internal model
+ ///
+ public Display(Models.Metadata.Display? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Display;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Driver.cs b/SabreTools.DatItems/Formats/Driver.cs
index 7d06aae5..0ecbd6e9 100644
--- a/SabreTools.DatItems/Formats/Driver.cs
+++ b/SabreTools.DatItems/Formats/Driver.cs
@@ -26,6 +26,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Driver;
}
+ ///
+ /// Create a Driver object from the internal model
+ ///
+ public Driver(Models.Metadata.Driver? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Driver;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Extension.cs b/SabreTools.DatItems/Formats/Extension.cs
index b5223fbd..5793c14f 100644
--- a/SabreTools.DatItems/Formats/Extension.cs
+++ b/SabreTools.DatItems/Formats/Extension.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Extension;
}
+ ///
+ /// Create an Extension object from the internal model
+ ///
+ public Extension(Models.Metadata.Extension? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Extension;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Feature.cs b/SabreTools.DatItems/Formats/Feature.cs
index 0ca01240..3e5923dc 100644
--- a/SabreTools.DatItems/Formats/Feature.cs
+++ b/SabreTools.DatItems/Formats/Feature.cs
@@ -23,6 +23,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Feature;
}
+ ///
+ /// Create a Feature object from the internal model
+ ///
+ public Feature(Models.Metadata.Feature? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Feature;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Info.cs b/SabreTools.DatItems/Formats/Info.cs
index 3be6ed29..e29296eb 100644
--- a/SabreTools.DatItems/Formats/Info.cs
+++ b/SabreTools.DatItems/Formats/Info.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Info;
}
+ ///
+ /// Create an Info object from the internal model
+ ///
+ public Info(Models.Metadata.Info? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Info;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Input.cs b/SabreTools.DatItems/Formats/Input.cs
index 1a15df1d..f31cf2f8 100644
--- a/SabreTools.DatItems/Formats/Input.cs
+++ b/SabreTools.DatItems/Formats/Input.cs
@@ -37,6 +37,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Input;
}
+ ///
+ /// Create an Input object from the internal model
+ ///
+ public Input(Models.Metadata.Input? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Input;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Instance.cs b/SabreTools.DatItems/Formats/Instance.cs
index 7653596c..d3ab2d6a 100644
--- a/SabreTools.DatItems/Formats/Instance.cs
+++ b/SabreTools.DatItems/Formats/Instance.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Instance;
}
+ ///
+ /// Create an Instance object from the internal model
+ ///
+ public Instance(Models.Metadata.Instance? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Instance;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Media.cs b/SabreTools.DatItems/Formats/Media.cs
index fccebd68..a1f20a4d 100644
--- a/SabreTools.DatItems/Formats/Media.cs
+++ b/SabreTools.DatItems/Formats/Media.cs
@@ -37,6 +37,18 @@ namespace SabreTools.DatItems.Formats
DupeType = 0x00;
}
+ ///
+ /// Create a Media object from the internal model
+ ///
+ public Media(Models.Metadata.Media? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Media;
+ DupeType = 0x00;
+ }
+
///
/// Create a Media object from a BaseFile
///
diff --git a/SabreTools.DatItems/Formats/Part.cs b/SabreTools.DatItems/Formats/Part.cs
index e62c15bc..a53f26a1 100644
--- a/SabreTools.DatItems/Formats/Part.cs
+++ b/SabreTools.DatItems/Formats/Part.cs
@@ -49,6 +49,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Part;
}
+ ///
+ /// Create a Part object from the internal model
+ ///
+ public Part(Models.Metadata.Part? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Part;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/PartFeature.cs b/SabreTools.DatItems/Formats/PartFeature.cs
index a762a750..7aa9fdc3 100644
--- a/SabreTools.DatItems/Formats/PartFeature.cs
+++ b/SabreTools.DatItems/Formats/PartFeature.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.PartFeature;
}
+ ///
+ /// Create a PartFeature object from the internal model
+ ///
+ public PartFeature(Models.Metadata.Feature? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.PartFeature;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Port.cs b/SabreTools.DatItems/Formats/Port.cs
index 67bc7459..57d7b7a2 100644
--- a/SabreTools.DatItems/Formats/Port.cs
+++ b/SabreTools.DatItems/Formats/Port.cs
@@ -37,6 +37,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Port;
}
+ ///
+ /// Create a Port object from the internal model
+ ///
+ public Port(Models.Metadata.Port? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Port;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/RamOption.cs b/SabreTools.DatItems/Formats/RamOption.cs
index aba44c74..c3dd7ae6 100644
--- a/SabreTools.DatItems/Formats/RamOption.cs
+++ b/SabreTools.DatItems/Formats/RamOption.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.RamOption;
}
+ ///
+ /// Create a RamOption object from the internal model
+ ///
+ public RamOption(Models.Metadata.RamOption? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.RamOption;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Release.cs b/SabreTools.DatItems/Formats/Release.cs
index 56d98934..6a4eb864 100644
--- a/SabreTools.DatItems/Formats/Release.cs
+++ b/SabreTools.DatItems/Formats/Release.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Release;
}
+ ///
+ /// Create a Release object from the internal model
+ ///
+ public Release(Models.Metadata.Release? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Release;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Rom.cs b/SabreTools.DatItems/Formats/Rom.cs
index 422f7df9..b3723bb1 100644
--- a/SabreTools.DatItems/Formats/Rom.cs
+++ b/SabreTools.DatItems/Formats/Rom.cs
@@ -137,13 +137,13 @@ namespace SabreTools.DatItems.Formats
///
/// Create a Rom object from the internal model
///
- public Rom(Models.Metadata.Rom? rom)
+ public Rom(Models.Metadata.Rom? item)
{
- _internal = rom ?? [];
+ _internal = item ?? [];
+ Machine = new Machine();
ItemType = ItemType.Rom;
DupeType = 0x00;
- SetFieldValue(Models.Metadata.Rom.StatusKey, ItemStatus.None);
}
#endregion
diff --git a/SabreTools.DatItems/Formats/Sample.cs b/SabreTools.DatItems/Formats/Sample.cs
index fe8f606e..ff455c7b 100644
--- a/SabreTools.DatItems/Formats/Sample.cs
+++ b/SabreTools.DatItems/Formats/Sample.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Sample;
}
+ ///
+ /// Create a Sample object from the internal model
+ ///
+ public Sample(Models.Metadata.Sample? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Sample;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/SharedFeature.cs b/SabreTools.DatItems/Formats/SharedFeature.cs
index 1afc67d8..4315d362 100644
--- a/SabreTools.DatItems/Formats/SharedFeature.cs
+++ b/SabreTools.DatItems/Formats/SharedFeature.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.SharedFeature;
}
+ ///
+ /// Create a SharedFeature object from the internal model
+ ///
+ public SharedFeature(Models.Metadata.SharedFeat? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.SharedFeature;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Slot.cs b/SabreTools.DatItems/Formats/Slot.cs
index 0a5a462f..a92d91d6 100644
--- a/SabreTools.DatItems/Formats/Slot.cs
+++ b/SabreTools.DatItems/Formats/Slot.cs
@@ -48,6 +48,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Slot;
}
+ ///
+ /// Create a Slot object from the internal model
+ ///
+ public Slot(Models.Metadata.Slot? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Slot;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/SlotOption.cs b/SabreTools.DatItems/Formats/SlotOption.cs
index 1d8a9fc1..f988d28a 100644
--- a/SabreTools.DatItems/Formats/SlotOption.cs
+++ b/SabreTools.DatItems/Formats/SlotOption.cs
@@ -34,6 +34,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.SlotOption;
}
+ ///
+ /// Create a SlotOption object from the internal model
+ ///
+ public SlotOption(Models.Metadata.SlotOption? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.SlotOption;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/SoftwareList.cs b/SabreTools.DatItems/Formats/SoftwareList.cs
index cafa3d0f..5cedf811 100644
--- a/SabreTools.DatItems/Formats/SoftwareList.cs
+++ b/SabreTools.DatItems/Formats/SoftwareList.cs
@@ -37,6 +37,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.SoftwareList;
}
+ ///
+ /// Create a SoftwareList object from the internal model
+ ///
+ public SoftwareList(Models.Metadata.SoftwareList? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.SoftwareList;
+ }
+
#endregion
#region Cloning Methods
diff --git a/SabreTools.DatItems/Formats/Sound.cs b/SabreTools.DatItems/Formats/Sound.cs
index 2eb92d42..54f6384b 100644
--- a/SabreTools.DatItems/Formats/Sound.cs
+++ b/SabreTools.DatItems/Formats/Sound.cs
@@ -23,6 +23,17 @@ namespace SabreTools.DatItems.Formats
ItemType = ItemType.Sound;
}
+ ///
+ /// Create a Sound object from the internal model
+ ///
+ public Sound(Models.Metadata.Sound? item)
+ {
+ _internal = item ?? [];
+ Machine = new Machine();
+
+ ItemType = ItemType.Sound;
+ }
+
#endregion
#region Cloning Methods