From 19891309f5425b249c3b86d0595d54a659283826 Mon Sep 17 00:00:00 2001 From: yoinked Date: Sun, 8 Feb 2026 14:47:51 -0800 Subject: [PATCH 1/3] eps = 0.001 --- SimaiSharp/src/Internal/SyntacticAnalysis/Serializer.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SimaiSharp/src/Internal/SyntacticAnalysis/Serializer.cs b/SimaiSharp/src/Internal/SyntacticAnalysis/Serializer.cs index 7d594fc..727ff51 100644 --- a/SimaiSharp/src/Internal/SyntacticAnalysis/Serializer.cs +++ b/SimaiSharp/src/Internal/SyntacticAnalysis/Serializer.cs @@ -18,22 +18,22 @@ public void Serialize(MaiChart chart, StringWriter writer) while (_currentTime <= chart.FinishTiming.GetValueOrDefault(0)) { if (_currentTimingChange < chart.TimingChanges.Length - 1 && - Math.Abs(chart.TimingChanges[_currentTimingChange + 1].time - _currentTime) < float.Epsilon) + Math.Abs(chart.TimingChanges[_currentTimingChange + 1].time - _currentTime) < 0.001) { _currentTimingChange++; if (Math.Abs(chart.TimingChanges[_currentTimingChange].tempo - - chart.TimingChanges[_currentTimingChange - 1].tempo) > float.Epsilon) + chart.TimingChanges[_currentTimingChange - 1].tempo) > 0.001) writer.Write($"({chart.TimingChanges[_currentTimingChange].tempo})"); if (Math.Abs(chart.TimingChanges[_currentTimingChange].subdivisions - - chart.TimingChanges[_currentTimingChange - 1].subdivisions) > float.Epsilon) + chart.TimingChanges[_currentTimingChange - 1].subdivisions) > 0.001) writer.Write($"{{{chart.TimingChanges[_currentTimingChange].subdivisions}}}"); } if (_currentNoteCollection < chart.NoteCollections.Length && Math.Abs(chart.NoteCollections[_currentNoteCollection].time - _currentTime) <= - float.Epsilon) + 0.001) { SerializeNoteCollection(chart.NoteCollections[_currentNoteCollection], writer); From 9fd0748eb95d320ee326f1afe7a7b9b921f6495a Mon Sep 17 00:00:00 2001 From: yoinked Date: Sun, 8 Feb 2026 15:52:18 -0800 Subject: [PATCH 2/3] eps = 0.001 --- .../Internal/SyntacticAnalysis/States/SubdivisionReader.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SimaiSharp/src/Internal/SyntacticAnalysis/States/SubdivisionReader.cs b/SimaiSharp/src/Internal/SyntacticAnalysis/States/SubdivisionReader.cs index 76d8d4a..a746606 100644 --- a/SimaiSharp/src/Internal/SyntacticAnalysis/States/SubdivisionReader.cs +++ b/SimaiSharp/src/Internal/SyntacticAnalysis/States/SubdivisionReader.cs @@ -23,7 +23,7 @@ public static void Process(Deserializer parent, Token token) newTimingChange.SetSeconds(explicitTempo); newTimingChange.time = parent.currentTime; - if (Math.Abs(parent.timingChanges.Last.Value.time - parent.currentTime) <= float.Epsilon) + if (Math.Abs(parent.timingChanges.Last.Value.time - parent.currentTime) <= 0.001) parent.timingChanges.RemoveLast(); parent.timingChanges.AddLast(newTimingChange); @@ -40,7 +40,7 @@ public static void Process(Deserializer parent, Token token) newTimingChange.subdivisions = subdivision; newTimingChange.time = parent.currentTime; - if (Math.Abs(parent.timingChanges.Last.Value.time - parent.currentTime) <= float.Epsilon) + if (Math.Abs(parent.timingChanges.Last.Value.time - parent.currentTime) <= 0.001) parent.timingChanges.RemoveLast(); parent.timingChanges.AddLast(newTimingChange); From 0b62f9e9ca9301bfee8ec6ea2fb8bd9a9ebb1761 Mon Sep 17 00:00:00 2001 From: yoinked Date: Sun, 8 Feb 2026 15:52:34 -0800 Subject: [PATCH 3/3] eps = 0.001 --- SimaiSharp/src/Internal/SyntacticAnalysis/States/TempoReader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SimaiSharp/src/Internal/SyntacticAnalysis/States/TempoReader.cs b/SimaiSharp/src/Internal/SyntacticAnalysis/States/TempoReader.cs index 60aada6..ac3c6d9 100644 --- a/SimaiSharp/src/Internal/SyntacticAnalysis/States/TempoReader.cs +++ b/SimaiSharp/src/Internal/SyntacticAnalysis/States/TempoReader.cs @@ -22,7 +22,7 @@ public static void Process(Deserializer parent, Token token) newTimingChange.tempo = tempo; newTimingChange.time = parent.currentTime; - if (Math.Abs(parent.timingChanges.Last.Value.time - parent.currentTime) <= float.Epsilon) + if (Math.Abs(parent.timingChanges.Last.Value.time - parent.currentTime) <= 0.001) parent.timingChanges.RemoveLast(); parent.timingChanges.AddLast(newTimingChange);