diff --git a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs index 6a490baf..b8b3d917 100644 --- a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs +++ b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeTypeInfo.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Time.TimeZone { [StructLayout(LayoutKind.Sequential, Size = Size, Pack = 4)] - struct TimeTypeInfo + public struct TimeTypeInfo { public const int Size = 0x10; diff --git a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs index 705ff025..67237f3d 100644 --- a/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs +++ b/Ryujinx.HLE/HOS/Services/Time/TimeZone/Types/TimeZoneRule.cs @@ -5,7 +5,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Time.TimeZone { [StructLayout(LayoutKind.Sequential, Pack = 4, Size = 0x4000, CharSet = CharSet.Ansi)] - struct TimeZoneRule + public struct TimeZoneRule { public const int TzMaxTypes = 128; public const int TzMaxChars = 50; @@ -25,20 +25,20 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone public bool GoAhead; [StructLayout(LayoutKind.Sequential, Size = sizeof(long) * TzMaxTimes)] - private struct AtsStorageStruct {} + private struct AtsStorageStruct { } private AtsStorageStruct _ats; public Span Ats => SpanHelpers.AsSpan(ref _ats); [StructLayout(LayoutKind.Sequential, Size = sizeof(byte) * TzMaxTimes)] - private struct TypesStorageStruct {} + private struct TypesStorageStruct { } private TypesStorageStruct _types; - public Span Types => SpanHelpers.AsByteSpan(ref _types); + public Span Types => SpanHelpers.AsByteSpan(ref _types); - [StructLayout(LayoutKind.Sequential, Size = TimeTypeInfo.Size * TzMaxTimes)] + [StructLayout(LayoutKind.Sequential, Size = TimeTypeInfo.Size * TzMaxTypes)] private struct TimeTypeInfoStorageStruct { } private TimeTypeInfoStorageStruct _ttis; @@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Time.TimeZone public Span Ttis => SpanHelpers.AsSpan(ref _ttis); [StructLayout(LayoutKind.Sequential, Size = sizeof(byte) * TzCharsArraySize)] - private struct CharsStorageStruct {} + private struct CharsStorageStruct { } private CharsStorageStruct _chars; public Span Chars => SpanHelpers.AsByteSpan(ref _chars); diff --git a/Ryujinx.Tests/Ryujinx.Tests.csproj b/Ryujinx.Tests/Ryujinx.Tests.csproj index 96778486..ec191a8e 100644 --- a/Ryujinx.Tests/Ryujinx.Tests.csproj +++ b/Ryujinx.Tests/Ryujinx.Tests.csproj @@ -24,6 +24,7 @@ + diff --git a/Ryujinx.Tests/Time/TimeZoneRuleTests.cs b/Ryujinx.Tests/Time/TimeZoneRuleTests.cs new file mode 100644 index 00000000..4d5c4eaa --- /dev/null +++ b/Ryujinx.Tests/Time/TimeZoneRuleTests.cs @@ -0,0 +1,18 @@ +using NUnit.Framework; +using Ryujinx.HLE.HOS.Services.Time.TimeZone; +using System.Runtime.CompilerServices; + +namespace Ryujinx.Tests.Time +{ + internal class TimeZoneRuleTests + { + class EffectInfoParameterTests + { + [Test] + public void EnsureTypeSize() + { + Assert.AreEqual(0x4000, Unsafe.SizeOf()); + } + } + } +}