Support LibreSplit Game Time - #953
Merged
Merged
Conversation
LibreSplit now stores `time`, `best_time`, and `best_segment` as objects containing separate `real_time` and `game_time` values, while older files keep those fields as timestamp strings. Parse both representations into LiveSplit Core's existing `Time` type so files produced before and after [LibreSplit PR LiveSplit#399](LibreSplit/LibreSplit#399) remain readable while exposing game-time data to callers. The parser also accepts LibreSplit's `-` marker and continues treating zero values as missing. `comparison_method` remains intentionally ignored because the current `Run` model has no LibreSplit-specific authoritative comparison setting, with a TODO documenting where that support can be added later. Add a game-time fixture alongside the existing legacy file and cover real-time, game-time, and game-time-only values in the parser tests.
CryZe
marked this pull request as ready for review
August 20, 2026 17:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LibreSplit now stores
time,best_time, andbest_segmentas objects containing separatereal_timeandgame_timevalues, while older files keep those fields as timestamp strings. Parse both representations into LiveSplit Core's existingTimetype so files produced before and after LibreSplit PR #399 remain readable while exposing game-time data to callers.The parser also accepts LibreSplit's
-marker and continues treating zero values as missing.comparison_methodremains intentionally ignored because the currentRunmodel has no LibreSplit-specific authoritative comparison setting, with a TODO documenting where that support can be added later.Add a game-time fixture alongside the existing legacy file and cover real-time, game-time, and game-time-only values in the parser tests.