Skip to content

Commit 1dae991

Browse files
committed
Fix unusual fen turn order breaking pgn loading
1 parent 7d1f80d commit 1dae991

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

FiveDChessDataInterface/Builders/BaseGameBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,7 @@ public static BaseGameBuilder CreateFromFullPgn(string fullPgn) {
628628
bool isEven = fens.Any(x => x.Timeline == "+0" || x.Timeline == "-0");
629629

630630
BaseGameBuilder gb2 = isEven ? (BaseGameBuilder)new GameBuilderEven(size[0], size[1]) : new GameBuilderOdd(size[0], size[1]);
631-
var timelines = fens.Select(x => x.NormalizeSign()).GroupBy(x => x.Timeline);
631+
var timelines = fens.Select(x => x.NormalizeSign()).OrderBy(x => x.Turn).GroupBy(x => x.Timeline);
632632
int cosmeticTurnOffset = timelines.Min(grp => grp.First().Turn);
633633

634634
gb2.CosmeticTurnOffset = cosmeticTurnOffset;
@@ -644,7 +644,7 @@ public static BaseGameBuilder CreateFromFullPgn(string fullPgn) {
644644
var pgnMoves = string.Join("\n", lines.Reverse().TakeWhile(x => Regex.IsMatch(x, @"^\d{1,}.")).Reverse().ToArray());
645645
if (pgnMoves.Any())
646646
gb2.Add5DPGNMoves(pgnMoves);
647-
647+
648648
return gb2;
649649
}
650650
}

0 commit comments

Comments
 (0)