diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs
index f299e141..8ece4688 100644
--- a/SabreTools.Data.Extensions/MetadataExtensions.cs
+++ b/SabreTools.Data.Extensions/MetadataExtensions.cs
@@ -193,8 +193,18 @@ namespace SabreTools.Data.Extensions
}
else if (self is Control selfControl && clone is Control cloneControl)
{
+ cloneControl.Buttons = selfControl.Buttons;
cloneControl.ControlType = selfControl.ControlType;
+ cloneControl.KeyDelta = selfControl.KeyDelta;
+ cloneControl.Maximum = selfControl.Maximum;
+ cloneControl.Minimum = selfControl.Minimum;
+ cloneControl.Player = selfControl.Player;
+ cloneControl.ReqButtons = selfControl.ReqButtons;
cloneControl.Reverse = selfControl.Reverse;
+ cloneControl.Sensitivity = selfControl.Sensitivity;
+ cloneControl.Ways = selfControl.Ways;
+ cloneControl.Ways2 = selfControl.Ways2;
+ cloneControl.Ways3 = selfControl.Ways3;
}
else if (self is DataArea selfDataArea && clone is DataArea cloneDataArea)
{
diff --git a/SabreTools.Data.Models/Listxml/Control.cs b/SabreTools.Data.Models/Listxml/Control.cs
index 24d2c29e..b1be6a26 100644
--- a/SabreTools.Data.Models/Listxml/Control.cs
+++ b/SabreTools.Data.Models/Listxml/Control.cs
@@ -12,47 +12,37 @@ namespace SabreTools.Data.Models.Listxml
[XmlAttribute("type")]
public ControlType? Type { get; set; }
- /// Numeric
[XmlAttribute("player")]
- public string? Player { get; set; }
+ public long? Player { get; set; }
- /// Numeric
[XmlAttribute("buttons")]
- public string? Buttons { get; set; }
+ public long? Buttons { get; set; }
- /// Numeric
[XmlAttribute("reqbuttons")]
- public string? ReqButtons { get; set; }
+ public long? ReqButtons { get; set; }
- /// Numeric
[XmlAttribute("minimum")]
- public string? Minimum { get; set; }
+ public long? Minimum { get; set; }
- /// Numeric
[XmlAttribute("maximum")]
- public string? Maximum { get; set; }
+ public long? Maximum { get; set; }
- /// Numeric
[XmlAttribute("sensitivity")]
- public string? Sensitivity { get; set; }
+ public long? Sensitivity { get; set; }
- /// Numeric
[XmlAttribute("keydelta")]
- public string? KeyDelta { get; set; }
+ public long? KeyDelta { get; set; }
/// (yes|no) "no"
[XmlAttribute("reverse")]
public bool? Reverse { get; set; }
- /// Numeric?
[XmlAttribute("ways")]
public string? Ways { get; set; }
- /// Numeric?
[XmlAttribute("ways2")]
public string? Ways2 { get; set; }
- /// Numeric?
[XmlAttribute("ways3")]
public string? Ways3 { get; set; }
}
diff --git a/SabreTools.Data.Models/Metadata/Control.cs b/SabreTools.Data.Models/Metadata/Control.cs
index 98c0fd58..1640899a 100644
--- a/SabreTools.Data.Models/Metadata/Control.cs
+++ b/SabreTools.Data.Models/Metadata/Control.cs
@@ -8,45 +8,31 @@ namespace SabreTools.Data.Models.Metadata
{
#region Properties
+ public long? Buttons { get; set; }
+
/// (joy|stick|paddle|pedal|lightgun|positional|dial|trackball|mouse|only_buttons|keypad|keyboard|mahjong|hanafuda|gambling)
public ControlType? ControlType { get; set; }
+ public long? KeyDelta { get; set; }
+
+ public long? Maximum { get; set; }
+
+ public long? Minimum { get; set; }
+
+ public long? Player { get; set; }
+
+ public long? ReqButtons { get; set; }
+
/// (yes|no) "no"
public bool? Reverse { get; set; }
- #endregion
+ public long? Sensitivity { get; set; }
- #region Keys
+ public string? Ways { get; set; }
- /// long
- public const string ButtonsKey = "buttons";
+ public string? Ways2 { get; set; }
- /// long
- public const string KeyDeltaKey = "keydelta";
-
- /// long
- public const string MaximumKey = "maximum";
-
- /// long
- public const string MinimumKey = "minimum";
-
- /// long
- public const string PlayerKey = "player";
-
- /// long
- public const string ReqButtonsKey = "reqbuttons";
-
- /// long
- public const string SensitivityKey = "sensitivity";
-
- /// string, possibly long
- public const string WaysKey = "ways";
-
- /// string, possibly long
- public const string Ways2Key = "ways2";
-
- /// string, possibly long
- public const string Ways3Key = "ways3";
+ public string? Ways3 { get; set; }
#endregion
diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
index 961c3976..df57d032 100644
--- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
+++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs
@@ -462,18 +462,18 @@ namespace SabreTools.Metadata.DatFiles.Test
{
return new Data.Models.Metadata.Control
{
- [Data.Models.Metadata.Control.ButtonsKey] = 12345L,
- [Data.Models.Metadata.Control.KeyDeltaKey] = 12345L,
- [Data.Models.Metadata.Control.MaximumKey] = 12345L,
- [Data.Models.Metadata.Control.MinimumKey] = 12345L,
- [Data.Models.Metadata.Control.PlayerKey] = 12345L,
- [Data.Models.Metadata.Control.ReqButtonsKey] = 12345L,
+ Buttons = 12345L,
+ KeyDelta = 12345L,
+ Maximum = 12345L,
+ Minimum = 12345L,
+ Player = 12345L,
+ ReqButtons = 12345L,
Reverse = true,
- [Data.Models.Metadata.Control.SensitivityKey] = 12345L,
+ Sensitivity = 12345L,
ControlType = Data.Models.Metadata.ControlType.Lightgun,
- [Data.Models.Metadata.Control.WaysKey] = "ways",
- [Data.Models.Metadata.Control.Ways2Key] = "ways2",
- [Data.Models.Metadata.Control.Ways3Key] = "ways3",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
}
@@ -1234,18 +1234,18 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateControl(Control? control)
{
Assert.NotNull(control);
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.ButtonsKey));
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.KeyDeltaKey));
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.MaximumKey));
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.MinimumKey));
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.PlayerKey));
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.ReqButtonsKey));
+ Assert.Equal(12345L, control.Buttons);
+ Assert.Equal(12345L, control.KeyDelta);
+ Assert.Equal(12345L, control.Maximum);
+ Assert.Equal(12345L, control.Minimum);
+ Assert.Equal(12345L, control.Player);
+ Assert.Equal(12345L, control.ReqButtons);
Assert.True(control.Reverse);
- Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.SensitivityKey));
+ Assert.Equal(12345L, control.Sensitivity);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.ControlType);
- Assert.Equal("ways", control.ReadString(Data.Models.Metadata.Control.WaysKey));
- Assert.Equal("ways2", control.ReadString(Data.Models.Metadata.Control.Ways2Key));
- Assert.Equal("ways3", control.ReadString(Data.Models.Metadata.Control.Ways3Key));
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
private static void ValidateDataArea(DataArea? dataArea)
diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
index 8bf51cf1..6c3f053f 100644
--- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
+++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs
@@ -741,18 +741,18 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataControl(Data.Models.Metadata.Control? control)
{
Assert.NotNull(control);
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.ButtonsKey));
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.KeyDeltaKey));
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.MaximumKey));
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.MinimumKey));
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.PlayerKey));
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.ReqButtonsKey));
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.KeyDelta);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.ReqButtons);
Assert.True(control.Reverse);
- Assert.Equal(12345, control.ReadLong(Data.Models.Metadata.Control.SensitivityKey));
+ Assert.Equal(12345, control.Sensitivity);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.ControlType);
- Assert.Equal("ways", control.ReadString(Data.Models.Metadata.Control.WaysKey));
- Assert.Equal("ways2", control.ReadString(Data.Models.Metadata.Control.Ways2Key));
- Assert.Equal("ways3", control.ReadString(Data.Models.Metadata.Control.Ways3Key));
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
private static void ValidateMetadataDataArea(Data.Models.Metadata.DataArea? dataArea)
diff --git a/SabreTools.Metadata.DatItems/Formats/Control.cs b/SabreTools.Metadata.DatItems/Formats/Control.cs
index 794e43ac..91af5964 100644
--- a/SabreTools.Metadata.DatItems/Formats/Control.cs
+++ b/SabreTools.Metadata.DatItems/Formats/Control.cs
@@ -12,6 +12,12 @@ namespace SabreTools.Metadata.DatItems.Formats
{
#region Fields
+ public long? Buttons
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Buttons;
+ set => (_internal as Data.Models.Metadata.Control)?.Buttons = value;
+ }
+
public Data.Models.Metadata.ControlType? ControlType
{
get => (_internal as Data.Models.Metadata.Control)?.ControlType;
@@ -22,49 +28,73 @@ namespace SabreTools.Metadata.DatItems.Formats
public override Data.Models.Metadata.ItemType ItemType
=> Data.Models.Metadata.ItemType.Control;
+ public long? KeyDelta
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.KeyDelta;
+ set => (_internal as Data.Models.Metadata.Control)?.KeyDelta = value;
+ }
+
+ public long? Maximum
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Maximum;
+ set => (_internal as Data.Models.Metadata.Control)?.Maximum = value;
+ }
+
+ public long? Minimum
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Minimum;
+ set => (_internal as Data.Models.Metadata.Control)?.Minimum = value;
+ }
+
+ public long? Player
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Player;
+ set => (_internal as Data.Models.Metadata.Control)?.Player = value;
+ }
+
+ public long? ReqButtons
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.ReqButtons;
+ set => (_internal as Data.Models.Metadata.Control)?.ReqButtons = value;
+ }
+
public bool? Reverse
{
get => (_internal as Data.Models.Metadata.Control)?.Reverse;
set => (_internal as Data.Models.Metadata.Control)?.Reverse = value;
}
+ public long? Sensitivity
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Sensitivity;
+ set => (_internal as Data.Models.Metadata.Control)?.Sensitivity = value;
+ }
+
+ public string? Ways
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Ways;
+ set => (_internal as Data.Models.Metadata.Control)?.Ways = value;
+ }
+
+ public string? Ways2
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Ways2;
+ set => (_internal as Data.Models.Metadata.Control)?.Ways2 = value;
+ }
+
+ public string? Ways3
+ {
+ get => (_internal as Data.Models.Metadata.Control)?.Ways3;
+ set => (_internal as Data.Models.Metadata.Control)?.Ways3 = value;
+ }
+
#endregion
#region Constructors
public Control() : base() { }
- public Control(Data.Models.Metadata.Control item) : base(item)
- {
- // Process flag values
- long? buttons = ReadLong(Data.Models.Metadata.Control.ButtonsKey);
- if (buttons is not null)
- Write(Data.Models.Metadata.Control.ButtonsKey, buttons.ToString());
-
- long? keyDelta = ReadLong(Data.Models.Metadata.Control.KeyDeltaKey);
- if (keyDelta is not null)
- Write(Data.Models.Metadata.Control.KeyDeltaKey, keyDelta.ToString());
-
- long? maximum = ReadLong(Data.Models.Metadata.Control.MaximumKey);
- if (maximum is not null)
- Write(Data.Models.Metadata.Control.MaximumKey, maximum.ToString());
-
- long? minimum = ReadLong(Data.Models.Metadata.Control.MinimumKey);
- if (minimum is not null)
- Write(Data.Models.Metadata.Control.MinimumKey, minimum.ToString());
-
- long? player = ReadLong(Data.Models.Metadata.Control.PlayerKey);
- if (player is not null)
- Write(Data.Models.Metadata.Control.PlayerKey, player.ToString());
-
- long? reqButtons = ReadLong(Data.Models.Metadata.Control.ReqButtonsKey);
- if (reqButtons is not null)
- Write(Data.Models.Metadata.Control.ReqButtonsKey, reqButtons.ToString());
-
- long? sensitivity = ReadLong(Data.Models.Metadata.Control.SensitivityKey);
- if (sensitivity is not null)
- Write(Data.Models.Metadata.Control.SensitivityKey, sensitivity.ToString());
- }
+ public Control(Data.Models.Metadata.Control item) : base(item) { }
public Control(Data.Models.Metadata.Control item, Machine machine, Source source) : this(item)
{
diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs
index 4119d9fa..d00091ed 100644
--- a/SabreTools.Metadata.Filter/FilterObject.cs
+++ b/SabreTools.Metadata.Filter/FilterObject.cs
@@ -408,12 +408,42 @@ namespace SabreTools.Metadata.Filter
checkValue = item.Value;
return true;
+ case Control item when fieldName == "buttons":
+ checkValue = item.Buttons?.ToString();
+ return true;
case Control item when fieldName == "type":
checkValue = item.ControlType?.AsStringValue();
return true;
+ case Control item when fieldName == "keydelta":
+ checkValue = item.KeyDelta?.ToString();
+ return true;
+ case Control item when fieldName == "maximum":
+ checkValue = item.Maximum?.ToString();
+ return true;
+ case Control item when fieldName == "minimum":
+ checkValue = item.Minimum?.ToString();
+ return true;
+ case Control item when fieldName == "player":
+ checkValue = item.Player?.ToString();
+ return true;
+ case Control item when fieldName == "reqbuttons":
+ checkValue = item.ReqButtons?.ToString();
+ return true;
case Control item when fieldName == "reverse":
checkValue = item.Reverse.FromYesNo();
return true;
+ case Control item when fieldName == "sensitivity":
+ checkValue = item.Sensitivity?.ToString();
+ return true;
+ case Control item when fieldName == "ways":
+ checkValue = item.Ways;
+ return true;
+ case Control item when fieldName == "ways2":
+ checkValue = item.Ways2;
+ return true;
+ case Control item when fieldName == "ways3":
+ checkValue = item.Ways3;
+ return true;
case DataArea item when fieldName == "endianness":
checkValue = item.Endianness?.AsStringValue();
diff --git a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
index 80b6682e..d8031044 100644
--- a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs
@@ -155,17 +155,17 @@ namespace SabreTools.Serialization.CrossModel.Test
var control = new Data.Models.Listxml.Control
{
Type = Data.Models.Metadata.ControlType.Lightgun,
- Player = "XXXXXX",
- Buttons = "XXXXXX",
- ReqButtons = "XXXXXX",
- Minimum = "XXXXXX",
- Maximum = "XXXXXX",
- Sensitivity = "XXXXXX",
- KeyDelta = "XXXXXX",
+ Player = 12345,
+ Buttons = 12345,
+ ReqButtons = 12345,
+ Minimum = 12345,
+ Maximum = 12345,
+ Sensitivity = 12345,
+ KeyDelta = 12345,
Reverse = true,
- Ways = "XXXXXX",
- Ways2 = "XXXXXX",
- Ways3 = "XXXXXX",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
var input = new Data.Models.Listxml.Input
@@ -617,17 +617,17 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(control);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.Type);
- Assert.Equal("XXXXXX", control.Player);
- Assert.Equal("XXXXXX", control.Buttons);
- Assert.Equal("XXXXXX", control.ReqButtons);
- Assert.Equal("XXXXXX", control.Minimum);
- Assert.Equal("XXXXXX", control.Maximum);
- Assert.Equal("XXXXXX", control.Sensitivity);
- Assert.Equal("XXXXXX", control.KeyDelta);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.ReqButtons);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Sensitivity);
+ Assert.Equal(12345, control.KeyDelta);
Assert.Equal(true, control.Reverse);
- Assert.Equal("XXXXXX", control.Ways);
- Assert.Equal("XXXXXX", control.Ways2);
- Assert.Equal("XXXXXX", control.Ways3);
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
///
diff --git a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
index d4a5ec0d..2018128f 100644
--- a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs
@@ -151,17 +151,17 @@ namespace SabreTools.Serialization.CrossModel.Test
var control = new Data.Models.Listxml.Control
{
Type = Data.Models.Metadata.ControlType.Lightgun,
- Player = "XXXXXX",
- Buttons = "XXXXXX",
- ReqButtons = "XXXXXX",
- Minimum = "XXXXXX",
- Maximum = "XXXXXX",
- Sensitivity = "XXXXXX",
- KeyDelta = "XXXXXX",
+ Player = 12345,
+ Buttons = 12345,
+ ReqButtons = 12345,
+ Minimum = 12345,
+ Maximum = 12345,
+ Sensitivity = 12345,
+ KeyDelta = 12345,
Reverse = true,
- Ways = "XXXXXX",
- Ways2 = "XXXXXX",
- Ways3 = "XXXXXX",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
var input = new Data.Models.Listxml.Input
@@ -611,17 +611,17 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(control);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.Type);
- Assert.Equal("XXXXXX", control.Player);
- Assert.Equal("XXXXXX", control.Buttons);
- Assert.Equal("XXXXXX", control.ReqButtons);
- Assert.Equal("XXXXXX", control.Minimum);
- Assert.Equal("XXXXXX", control.Maximum);
- Assert.Equal("XXXXXX", control.Sensitivity);
- Assert.Equal("XXXXXX", control.KeyDelta);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.ReqButtons);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Sensitivity);
+ Assert.Equal(12345, control.KeyDelta);
Assert.Equal(true, control.Reverse);
- Assert.Equal("XXXXXX", control.Ways);
- Assert.Equal("XXXXXX", control.Ways2);
- Assert.Equal("XXXXXX", control.Ways3);
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
///
diff --git a/SabreTools.Serialization.CrossModel.Test/MessTests.cs b/SabreTools.Serialization.CrossModel.Test/MessTests.cs
index 0bc11c0e..1bb302a1 100644
--- a/SabreTools.Serialization.CrossModel.Test/MessTests.cs
+++ b/SabreTools.Serialization.CrossModel.Test/MessTests.cs
@@ -151,17 +151,17 @@ namespace SabreTools.Serialization.CrossModel.Test
var control = new Data.Models.Listxml.Control
{
Type = Data.Models.Metadata.ControlType.Lightgun,
- Player = "XXXXXX",
- Buttons = "XXXXXX",
- ReqButtons = "XXXXXX",
- Minimum = "XXXXXX",
- Maximum = "XXXXXX",
- Sensitivity = "XXXXXX",
- KeyDelta = "XXXXXX",
+ Player = 12345,
+ Buttons = 12345,
+ ReqButtons = 12345,
+ Minimum = 12345,
+ Maximum = 12345,
+ Sensitivity = 12345,
+ KeyDelta = 12345,
Reverse = true,
- Ways = "XXXXXX",
- Ways2 = "XXXXXX",
- Ways3 = "XXXXXX",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
var input = new Data.Models.Listxml.Input
@@ -611,17 +611,17 @@ namespace SabreTools.Serialization.CrossModel.Test
{
Assert.NotNull(control);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.Type);
- Assert.Equal("XXXXXX", control.Player);
- Assert.Equal("XXXXXX", control.Buttons);
- Assert.Equal("XXXXXX", control.ReqButtons);
- Assert.Equal("XXXXXX", control.Minimum);
- Assert.Equal("XXXXXX", control.Maximum);
- Assert.Equal("XXXXXX", control.Sensitivity);
- Assert.Equal("XXXXXX", control.KeyDelta);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.ReqButtons);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Sensitivity);
+ Assert.Equal(12345, control.KeyDelta);
Assert.Equal(true, control.Reverse);
- Assert.Equal("XXXXXX", control.Ways);
- Assert.Equal("XXXXXX", control.Ways2);
- Assert.Equal("XXXXXX", control.Ways3);
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
///
diff --git a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
index bc686163..375f0607 100644
--- a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
+++ b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs
@@ -284,17 +284,17 @@ namespace SabreTools.Serialization.CrossModel
var control = new Control
{
Type = item.ControlType,
- Player = item.ReadString(Data.Models.Metadata.Control.PlayerKey),
- Buttons = item.ReadString(Data.Models.Metadata.Control.ButtonsKey),
- ReqButtons = item.ReadString(Data.Models.Metadata.Control.ReqButtonsKey),
- Minimum = item.ReadString(Data.Models.Metadata.Control.MinimumKey),
- Maximum = item.ReadString(Data.Models.Metadata.Control.MaximumKey),
- Sensitivity = item.ReadString(Data.Models.Metadata.Control.SensitivityKey),
- KeyDelta = item.ReadString(Data.Models.Metadata.Control.KeyDeltaKey),
+ Player = item.Player,
+ Buttons = item.Buttons,
+ ReqButtons = item.ReqButtons,
+ Minimum = item.Minimum,
+ Maximum = item.Maximum,
+ Sensitivity = item.Sensitivity,
+ KeyDelta = item.KeyDelta,
Reverse = item.Reverse,
- Ways = item.ReadString(Data.Models.Metadata.Control.WaysKey),
- Ways2 = item.ReadString(Data.Models.Metadata.Control.Ways2Key),
- Ways3 = item.ReadString(Data.Models.Metadata.Control.Ways3Key),
+ Ways = item.Ways,
+ Ways2 = item.Ways2,
+ Ways3 = item.Ways3,
};
return control;
}
diff --git a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
index 506ad714..5d21682f 100644
--- a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
+++ b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs
@@ -319,17 +319,17 @@ namespace SabreTools.Serialization.CrossModel
var control = new Data.Models.Metadata.Control
{
ControlType = item.Type,
- [Data.Models.Metadata.Control.PlayerKey] = item.Player,
- [Data.Models.Metadata.Control.ButtonsKey] = item.Buttons,
- [Data.Models.Metadata.Control.ReqButtonsKey] = item.ReqButtons,
- [Data.Models.Metadata.Control.MinimumKey] = item.Minimum,
- [Data.Models.Metadata.Control.MaximumKey] = item.Maximum,
- [Data.Models.Metadata.Control.SensitivityKey] = item.Sensitivity,
- [Data.Models.Metadata.Control.KeyDeltaKey] = item.KeyDelta,
+ Player = item.Player,
+ Buttons = item.Buttons,
+ ReqButtons = item.ReqButtons,
+ Minimum = item.Minimum,
+ Maximum = item.Maximum,
+ Sensitivity = item.Sensitivity,
+ KeyDelta = item.KeyDelta,
Reverse = item.Reverse,
- [Data.Models.Metadata.Control.WaysKey] = item.Ways,
- [Data.Models.Metadata.Control.Ways2Key] = item.Ways2,
- [Data.Models.Metadata.Control.Ways3Key] = item.Ways3,
+ Ways = item.Ways,
+ Ways2 = item.Ways2,
+ Ways3 = item.Ways3,
};
return control;
}
diff --git a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
index e061a3b8..111b1b23 100644
--- a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
+++ b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs
@@ -222,17 +222,17 @@ namespace SabreTools.Serialization.Readers.Test
var control = new Data.Models.Listxml.Control
{
Type = Data.Models.Metadata.ControlType.Lightgun,
- Player = "XXXXXX",
- Buttons = "XXXXXX",
- ReqButtons = "XXXXXX",
- Minimum = "XXXXXX",
- Maximum = "XXXXXX",
- Sensitivity = "XXXXXX",
- KeyDelta = "XXXXXX",
+ Player = 12345,
+ Buttons = 12345,
+ ReqButtons = 12345,
+ Minimum = 12345,
+ Maximum = 12345,
+ Sensitivity = 12345,
+ KeyDelta = 12345,
Reverse = true,
- Ways = "XXXXXX",
- Ways2 = "XXXXXX",
- Ways3 = "XXXXXX",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
var input = new Data.Models.Listxml.Input
@@ -684,17 +684,17 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(control);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.Type);
- Assert.Equal("XXXXXX", control.Player);
- Assert.Equal("XXXXXX", control.Buttons);
- Assert.Equal("XXXXXX", control.ReqButtons);
- Assert.Equal("XXXXXX", control.Minimum);
- Assert.Equal("XXXXXX", control.Maximum);
- Assert.Equal("XXXXXX", control.Sensitivity);
- Assert.Equal("XXXXXX", control.KeyDelta);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.ReqButtons);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Sensitivity);
+ Assert.Equal(12345, control.KeyDelta);
Assert.Equal(true, control.Reverse);
- Assert.Equal("XXXXXX", control.Ways);
- Assert.Equal("XXXXXX", control.Ways2);
- Assert.Equal("XXXXXX", control.Ways3);
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
///
diff --git a/SabreTools.Serialization.Readers.Test/M1Tests.cs b/SabreTools.Serialization.Readers.Test/M1Tests.cs
index 05e64fba..9c42212c 100644
--- a/SabreTools.Serialization.Readers.Test/M1Tests.cs
+++ b/SabreTools.Serialization.Readers.Test/M1Tests.cs
@@ -218,17 +218,17 @@ namespace SabreTools.Serialization.Readers.Test
var control = new Data.Models.Listxml.Control
{
Type = Data.Models.Metadata.ControlType.Lightgun,
- Player = "XXXXXX",
- Buttons = "XXXXXX",
- ReqButtons = "XXXXXX",
- Minimum = "XXXXXX",
- Maximum = "XXXXXX",
- Sensitivity = "XXXXXX",
- KeyDelta = "XXXXXX",
+ Player = 12345,
+ Buttons = 12345,
+ ReqButtons = 12345,
+ Minimum = 12345,
+ Maximum = 12345,
+ Sensitivity = 12345,
+ KeyDelta = 12345,
Reverse = true,
- Ways = "XXXXXX",
- Ways2 = "XXXXXX",
- Ways3 = "XXXXXX",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
var input = new Data.Models.Listxml.Input
@@ -678,17 +678,17 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(control);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.Type);
- Assert.Equal("XXXXXX", control.Player);
- Assert.Equal("XXXXXX", control.Buttons);
- Assert.Equal("XXXXXX", control.ReqButtons);
- Assert.Equal("XXXXXX", control.Minimum);
- Assert.Equal("XXXXXX", control.Maximum);
- Assert.Equal("XXXXXX", control.Sensitivity);
- Assert.Equal("XXXXXX", control.KeyDelta);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.ReqButtons);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Sensitivity);
+ Assert.Equal(12345, control.KeyDelta);
Assert.Equal(true, control.Reverse);
- Assert.Equal("XXXXXX", control.Ways);
- Assert.Equal("XXXXXX", control.Ways2);
- Assert.Equal("XXXXXX", control.Ways3);
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
///
diff --git a/SabreTools.Serialization.Readers.Test/MessTests.cs b/SabreTools.Serialization.Readers.Test/MessTests.cs
index c325136e..146628c2 100644
--- a/SabreTools.Serialization.Readers.Test/MessTests.cs
+++ b/SabreTools.Serialization.Readers.Test/MessTests.cs
@@ -218,17 +218,17 @@ namespace SabreTools.Serialization.Readers.Test
var control = new Data.Models.Listxml.Control
{
Type = Data.Models.Metadata.ControlType.Lightgun,
- Player = "XXXXXX",
- Buttons = "XXXXXX",
- ReqButtons = "XXXXXX",
- Minimum = "XXXXXX",
- Maximum = "XXXXXX",
- Sensitivity = "XXXXXX",
- KeyDelta = "XXXXXX",
+ Player = 12345,
+ Buttons = 12345,
+ ReqButtons = 12345,
+ Minimum = 12345,
+ Maximum = 12345,
+ Sensitivity = 12345,
+ KeyDelta = 12345,
Reverse = true,
- Ways = "XXXXXX",
- Ways2 = "XXXXXX",
- Ways3 = "XXXXXX",
+ Ways = "ways",
+ Ways2 = "ways2",
+ Ways3 = "ways3",
};
var input = new Data.Models.Listxml.Input
@@ -678,17 +678,17 @@ namespace SabreTools.Serialization.Readers.Test
{
Assert.NotNull(control);
Assert.Equal(Data.Models.Metadata.ControlType.Lightgun, control.Type);
- Assert.Equal("XXXXXX", control.Player);
- Assert.Equal("XXXXXX", control.Buttons);
- Assert.Equal("XXXXXX", control.ReqButtons);
- Assert.Equal("XXXXXX", control.Minimum);
- Assert.Equal("XXXXXX", control.Maximum);
- Assert.Equal("XXXXXX", control.Sensitivity);
- Assert.Equal("XXXXXX", control.KeyDelta);
+ Assert.Equal(12345, control.Player);
+ Assert.Equal(12345, control.Buttons);
+ Assert.Equal(12345, control.ReqButtons);
+ Assert.Equal(12345, control.Minimum);
+ Assert.Equal(12345, control.Maximum);
+ Assert.Equal(12345, control.Sensitivity);
+ Assert.Equal(12345, control.KeyDelta);
Assert.Equal(true, control.Reverse);
- Assert.Equal("XXXXXX", control.Ways);
- Assert.Equal("XXXXXX", control.Ways2);
- Assert.Equal("XXXXXX", control.Ways3);
+ Assert.Equal("ways", control.Ways);
+ Assert.Equal("ways2", control.Ways2);
+ Assert.Equal("ways3", control.Ways3);
}
///
diff --git a/SabreTools.Serialization.Readers/Listxml.cs b/SabreTools.Serialization.Readers/Listxml.cs
index ff1c7632..1a55afa3 100644
--- a/SabreTools.Serialization.Readers/Listxml.cs
+++ b/SabreTools.Serialization.Readers/Listxml.cs
@@ -342,13 +342,13 @@ namespace SabreTools.Serialization.Readers
var obj = new Control();
obj.Type = reader.GetAttribute("type").AsControlType();
- obj.Player = reader.GetAttribute("player");
- obj.Buttons = reader.GetAttribute("buttons");
- obj.ReqButtons = reader.GetAttribute("reqbuttons");
- obj.Minimum = reader.GetAttribute("minimum");
- obj.Maximum = reader.GetAttribute("maximum");
- obj.Sensitivity = reader.GetAttribute("sensitivity");
- obj.KeyDelta = reader.GetAttribute("keydelta");
+ obj.Player = NumberHelper.ConvertToInt64(reader.GetAttribute("player"));
+ obj.Buttons = NumberHelper.ConvertToInt64(reader.GetAttribute("buttons"));
+ obj.ReqButtons = NumberHelper.ConvertToInt64(reader.GetAttribute("reqbuttons"));
+ obj.Minimum = NumberHelper.ConvertToInt64(reader.GetAttribute("minimum"));
+ obj.Maximum = NumberHelper.ConvertToInt64(reader.GetAttribute("maximum"));
+ obj.Sensitivity = NumberHelper.ConvertToInt64(reader.GetAttribute("sensitivity"));
+ obj.KeyDelta = NumberHelper.ConvertToInt64(reader.GetAttribute("keydelta"));
obj.Reverse = reader.GetAttribute("reverse").AsYesNo();
obj.Ways = reader.GetAttribute("ways");
obj.Ways2 = reader.GetAttribute("ways2");
diff --git a/SabreTools.Serialization.Readers/M1.cs b/SabreTools.Serialization.Readers/M1.cs
index fff3aadd..f8853d96 100644
--- a/SabreTools.Serialization.Readers/M1.cs
+++ b/SabreTools.Serialization.Readers/M1.cs
@@ -340,13 +340,13 @@ namespace SabreTools.Serialization.Readers
var obj = new Control();
obj.Type = reader.GetAttribute("type").AsControlType();
- obj.Player = reader.GetAttribute("player");
- obj.Buttons = reader.GetAttribute("buttons");
- obj.ReqButtons = reader.GetAttribute("reqbuttons");
- obj.Minimum = reader.GetAttribute("minimum");
- obj.Maximum = reader.GetAttribute("maximum");
- obj.Sensitivity = reader.GetAttribute("sensitivity");
- obj.KeyDelta = reader.GetAttribute("keydelta");
+ obj.Player = NumberHelper.ConvertToInt64(reader.GetAttribute("player"));
+ obj.Buttons = NumberHelper.ConvertToInt64(reader.GetAttribute("buttons"));
+ obj.ReqButtons = NumberHelper.ConvertToInt64(reader.GetAttribute("reqbuttons"));
+ obj.Minimum = NumberHelper.ConvertToInt64(reader.GetAttribute("minimum"));
+ obj.Maximum = NumberHelper.ConvertToInt64(reader.GetAttribute("maximum"));
+ obj.Sensitivity = NumberHelper.ConvertToInt64(reader.GetAttribute("sensitivity"));
+ obj.KeyDelta = NumberHelper.ConvertToInt64(reader.GetAttribute("keydelta"));
obj.Reverse = reader.GetAttribute("reverse").AsYesNo();
obj.Ways = reader.GetAttribute("ways");
obj.Ways2 = reader.GetAttribute("ways2");
diff --git a/SabreTools.Serialization.Readers/Mess.cs b/SabreTools.Serialization.Readers/Mess.cs
index ef0719a1..3c6346dc 100644
--- a/SabreTools.Serialization.Readers/Mess.cs
+++ b/SabreTools.Serialization.Readers/Mess.cs
@@ -340,13 +340,13 @@ namespace SabreTools.Serialization.Readers
var obj = new Control();
obj.Type = reader.GetAttribute("type").AsControlType();
- obj.Player = reader.GetAttribute("player");
- obj.Buttons = reader.GetAttribute("buttons");
- obj.ReqButtons = reader.GetAttribute("reqbuttons");
- obj.Minimum = reader.GetAttribute("minimum");
- obj.Maximum = reader.GetAttribute("maximum");
- obj.Sensitivity = reader.GetAttribute("sensitivity");
- obj.KeyDelta = reader.GetAttribute("keydelta");
+ obj.Player = NumberHelper.ConvertToInt64(reader.GetAttribute("player"));
+ obj.Buttons = NumberHelper.ConvertToInt64(reader.GetAttribute("buttons"));
+ obj.ReqButtons = NumberHelper.ConvertToInt64(reader.GetAttribute("reqbuttons"));
+ obj.Minimum = NumberHelper.ConvertToInt64(reader.GetAttribute("minimum"));
+ obj.Maximum = NumberHelper.ConvertToInt64(reader.GetAttribute("maximum"));
+ obj.Sensitivity = NumberHelper.ConvertToInt64(reader.GetAttribute("sensitivity"));
+ obj.KeyDelta = NumberHelper.ConvertToInt64(reader.GetAttribute("keydelta"));
obj.Reverse = reader.GetAttribute("reverse").AsYesNo();
obj.Ways = reader.GetAttribute("ways");
obj.Ways2 = reader.GetAttribute("ways2");
diff --git a/SabreTools.Serialization.Writers/Listxml.cs b/SabreTools.Serialization.Writers/Listxml.cs
index cd9e4498..4564fa6b 100644
--- a/SabreTools.Serialization.Writers/Listxml.cs
+++ b/SabreTools.Serialization.Writers/Listxml.cs
@@ -229,13 +229,13 @@ namespace SabreTools.Serialization.Writers
writer.WriteStartElement("control");
writer.WriteRequiredAttributeString("type", obj.Type?.AsStringValue());
- writer.WriteOptionalAttributeString("player", obj.Player);
- writer.WriteOptionalAttributeString("buttons", obj.Buttons);
- writer.WriteOptionalAttributeString("reqbuttons", obj.ReqButtons);
- writer.WriteOptionalAttributeString("minimum", obj.Minimum);
- writer.WriteOptionalAttributeString("maximum", obj.Maximum);
- writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity);
- writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta);
+ writer.WriteOptionalAttributeString("player", obj.Player?.ToString());
+ writer.WriteOptionalAttributeString("buttons", obj.Buttons?.ToString());
+ writer.WriteOptionalAttributeString("reqbuttons", obj.ReqButtons?.ToString());
+ writer.WriteOptionalAttributeString("minimum", obj.Minimum?.ToString());
+ writer.WriteOptionalAttributeString("maximum", obj.Maximum?.ToString());
+ writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity?.ToString());
+ writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta?.ToString());
writer.WriteOptionalAttributeString("reverse", obj.Reverse.FromYesNo());
writer.WriteOptionalAttributeString("ways", obj.Ways);
writer.WriteOptionalAttributeString("ways2", obj.Ways2);
diff --git a/SabreTools.Serialization.Writers/M1.cs b/SabreTools.Serialization.Writers/M1.cs
index cd05a5a8..065eefb6 100644
--- a/SabreTools.Serialization.Writers/M1.cs
+++ b/SabreTools.Serialization.Writers/M1.cs
@@ -227,13 +227,13 @@ namespace SabreTools.Serialization.Writers
writer.WriteStartElement("control");
writer.WriteRequiredAttributeString("type", obj.Type?.AsStringValue());
- writer.WriteOptionalAttributeString("player", obj.Player);
- writer.WriteOptionalAttributeString("buttons", obj.Buttons);
- writer.WriteOptionalAttributeString("reqbuttons", obj.ReqButtons);
- writer.WriteOptionalAttributeString("minimum", obj.Minimum);
- writer.WriteOptionalAttributeString("maximum", obj.Maximum);
- writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity);
- writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta);
+ writer.WriteOptionalAttributeString("player", obj.Player?.ToString());
+ writer.WriteOptionalAttributeString("buttons", obj.Buttons?.ToString());
+ writer.WriteOptionalAttributeString("reqbuttons", obj.ReqButtons?.ToString());
+ writer.WriteOptionalAttributeString("minimum", obj.Minimum?.ToString());
+ writer.WriteOptionalAttributeString("maximum", obj.Maximum?.ToString());
+ writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity?.ToString());
+ writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta?.ToString());
writer.WriteOptionalAttributeString("reverse", obj.Reverse.FromYesNo());
writer.WriteOptionalAttributeString("ways", obj.Ways);
writer.WriteOptionalAttributeString("ways2", obj.Ways2);
diff --git a/SabreTools.Serialization.Writers/Mess.cs b/SabreTools.Serialization.Writers/Mess.cs
index ff2e2190..ddaa7ad9 100644
--- a/SabreTools.Serialization.Writers/Mess.cs
+++ b/SabreTools.Serialization.Writers/Mess.cs
@@ -227,13 +227,13 @@ namespace SabreTools.Serialization.Writers
writer.WriteStartElement("control");
writer.WriteRequiredAttributeString("type", obj.Type?.AsStringValue());
- writer.WriteOptionalAttributeString("player", obj.Player);
- writer.WriteOptionalAttributeString("buttons", obj.Buttons);
- writer.WriteOptionalAttributeString("reqbuttons", obj.ReqButtons);
- writer.WriteOptionalAttributeString("minimum", obj.Minimum);
- writer.WriteOptionalAttributeString("maximum", obj.Maximum);
- writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity);
- writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta);
+ writer.WriteOptionalAttributeString("player", obj.Player?.ToString());
+ writer.WriteOptionalAttributeString("buttons", obj.Buttons?.ToString());
+ writer.WriteOptionalAttributeString("reqbuttons", obj.ReqButtons?.ToString());
+ writer.WriteOptionalAttributeString("minimum", obj.Minimum?.ToString());
+ writer.WriteOptionalAttributeString("maximum", obj.Maximum?.ToString());
+ writer.WriteOptionalAttributeString("sensitivity", obj.Sensitivity?.ToString());
+ writer.WriteOptionalAttributeString("keydelta", obj.KeyDelta?.ToString());
writer.WriteOptionalAttributeString("reverse", obj.Reverse.FromYesNo());
writer.WriteOptionalAttributeString("ways", obj.Ways);
writer.WriteOptionalAttributeString("ways2", obj.Ways2);