Skip to content

Commit 85dba79

Browse files
committed
display int checksum with object header
1 parent 6e9d998 commit 85dba79

3 files changed

Lines changed: 22 additions & 15 deletions

File tree

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,24 @@
11
using Dat.Data;
22
using ReactiveUI;
33
using ReactiveUI.Fody.Helpers;
4-
using System;
54
using System.ComponentModel;
65

76
namespace Gui.ViewModels;
87

98
[TypeConverter(typeof(ExpandableObjectConverter))]
10-
public class ObjectDatHeaderViewModel(uint32_t checksum, SawyerEncoding encoding, uint datDataLength) : ReactiveObject, IViewModel
9+
public class ObjectDatHeaderViewModel(SawyerEncoding encoding, uint datDataLength) : ReactiveObject, IViewModel
1110
{
1211
[Browsable(false)]
1312
public string DisplayName
1413
=> "Dat Header";
1514

1615
public ObjectDatHeaderViewModel()
17-
: this(0, SawyerEncoding.Uncompressed, 0)
16+
: this(SawyerEncoding.Uncompressed, 0)
1817
{ }
1918

2019
[Reactive]
2120
public SawyerEncoding Encoding { get; set; } = encoding;
2221

2322
[ReadOnly(true)]
2423
public uint32_t DataLength { get; } = datDataLength;
25-
26-
public string ChecksumHex
27-
{
28-
get => string.Format($"0x{_checksum:X}");
29-
set => _checksum = Convert.ToUInt32(value[2..], 16);
30-
}
31-
uint32_t _checksum { get; set; } = checksum;
3224
}

Gui/ViewModels/Loco/ObjectEditorViewModel.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,11 @@ public override void Load()
311311
objectHeaderViewModel.ObjectSource = ObjectSource.LocomotionSteam;
312312
}
313313

314-
AddViewModelToGroup(objectHeaderViewModel, objectGroup);
314+
AddViewModelToGroup(
315+
objectHeaderViewModel,
316+
objectGroup);
317+
315318
AddViewModelToGroup(new ObjectDatHeaderViewModel(
316-
Model.DatInfo.S5Header.Checksum,
317319
Model.DatInfo.ObjectHeader.Encoding,
318320
Model.DatInfo.ObjectHeader.DataLength),
319321
objectGroup);

Gui/ViewModels/Loco/ObjectModelHeaderViewModel.cs

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Definitions.ObjectModels.Types;
2+
using System;
23
using System.ComponentModel;
34
using System.ComponentModel.DataAnnotations;
45

@@ -14,6 +15,10 @@ public DesignerObjectModelHeaderViewModel()
1415
public class ObjectModelHeaderViewModel(ObjectModelHeader model)
1516
: BaseViewModel<ObjectModelHeader>(model)
1617
{
18+
[Browsable(false)]
19+
public override string DisplayName
20+
=> "Object Header";
21+
1722
[MaxLength(8)]
1823
public string Name
1924
{
@@ -33,7 +38,15 @@ public ObjectType ObjectType
3338
set => Model.ObjectType = value;
3439
}
3540

36-
[Browsable(false)]
37-
public override string DisplayName
38-
=> "Object Header";
41+
public uint DatChecksumInt
42+
{
43+
get => Model.DatChecksum;
44+
set => Model.DatChecksum = value;
45+
}
46+
47+
public string DatChecksumHex
48+
{
49+
get => string.Format($"0x{DatChecksumInt:X}");
50+
set => DatChecksumInt = Convert.ToUInt32(value[2..], 16);
51+
}
3952
}

0 commit comments

Comments
 (0)