livesplit-core icon indicating copy to clipboard operation
livesplit-core copied to clipboard

Implement Parser for macOS timer called Splitter

Open CryZe opened this issue 5 years ago • 8 comments

https://www.reddit.com/r/speedrun/comments/f1jyzz/introducing_splitter_a_new_seedrunning_timer_for/?utm_source=share&utm_medium=ios_app&utm_name=iossmf

Doesn‘t seem like there‘s a download link yet.

CryZe avatar Feb 10 '20 05:02 CryZe

I found the project. Looks like it's even using livesplit-core to parse our splits: https://github.com/MichaelJBerk/Splitter

CryZe avatar Feb 10 '20 07:02 CryZe

It seems like they are storing the splits as a folder containing:

  • A runInfo.json with the following structure: runInfo.swift
  • An optional gameIcon.png
  • An optional folder segIcons that optionally contains segment icons {}.png with {} being the index of the segment starting with 0.

The overall parsing logic is here

Though it seems like somehow there's a .split file involved. Maybe it's some kind of tarball of all the files?

CryZe avatar Feb 10 '20 10:02 CryZe

Apparently it really is just a folder with a postfix of .split: https://github.com/MichaelJBerk/SplitterFormats

CryZe avatar Feb 11 '20 08:02 CryZe

This is mostly implemented, we only need to figure out what currentTime and bestTime even mean. Are those stored as absolute times or segment times? Is bestTime the best segment time or the best split time or the personal best time? Is currentTime even the personal best?

CryZe avatar Feb 20 '20 09:02 CryZe

@michaeljberk could you provide insight into those questions?

wooferzfg avatar Feb 20 '20 13:02 wooferzfg

I’m currently in the process of reworking some things with Splitter, but the plan is to replace “current splits” with the previous time - essentially the leftmost column in LiveSplit, and “best split” will be the user’s PB. Both will be stored as absolute times (beginning of run).

MichaelJBerk avatar Feb 23 '20 23:02 MichaelJBerk

Can you restart the app and it will continue or why is the "delta" / "current splits" stored in the file format? Also is there no notion of best segments then?

CryZe avatar Feb 23 '20 23:02 CryZe

In the next build, “current splits” will replaced by the previous segment, and best segments will be stored as well.

MichaelJBerk avatar Feb 23 '20 23:02 MichaelJBerk

Closing as per https://github.com/MichaelJBerk/Splitter/wiki/.Split-Format

Layout and run information are saved in layout.lsl and run.lss respectively, using the same formats as LiveSplit.

CryZe avatar Jan 30 '24 13:01 CryZe