Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the ability to skip splits but still remove bonus time #7

Open
Sophira opened this issue Jul 30, 2017 · 2 comments
Open

Add the ability to skip splits but still remove bonus time #7

Sophira opened this issue Jul 30, 2017 · 2 comments

Comments

@Sophira
Copy link
Owner

Sophira commented Jul 30, 2017

Currently, it isn't possible to skip splits if you accidentally miss one, because the time from the bonus still needs to be removed. This means that if you miss a split, you either have to restart the run or make a late spliit, which means that LiveSplit will record false times for each that split (longer than usual) and the split afterwards (shorter than usual), which may result in a false gold split.

There needs to be a way to skip splits - maybe by holding SHIFT down while pressing RETURN?

@Sophira
Copy link
Owner Author

Sophira commented Jul 30, 2017

I'd be very interested in hearing from others about what they think might work in this regard. What would be your preferred method of skipping splits? Possible ways I can think of:

  1. Enter IGT/points, then press SHIFT-RETURN or a similar keystroke instead of just RETURN.
  2. Enter IGT/points, then hit your regular "skip split" hotkey instead of RETURN.

Additionally, if you've already split late, it would seem to make sense that if you undo a split and then skip immediately afterwards, it should remember what the bonus was and apply that to the time. I'm not certain how I would make it clear that it was remembering this time though; maybe when you undo a split it should put the last-entered input back into the text box? (If so, the text should probably be auto-selected so that if you start to enter an input, it automatically clears the previous input.)

@Sophira
Copy link
Owner Author

Sophira commented Aug 3, 2017

So I thought that doing this would simply be a case of calling Model.SkipSplit() instead of Model.Split(), but unfortunately this fails to work with the "undo split" code created for issue #1, which uses the recorded split time to know how the timer should be re-adjusted. Because skipping a split will intentionally not record a split time, the information needed to correctly undo a skipped split is lost.

I had hoped to avoid needing to record this kind of data in the component itself because I don't know if there will be any complications involved by storing a subset of run data ourselves. Honestly, I'd much rather LiveSplit handled the run data, and this component handles pausing the timer. However, I don't see much choice in this situation.

I'll probably report this as an issue on the main LiveSplit repo, but as a "skip time" value on a split is not a very useful metric to keep around in most cases (and certainly doesn't merit an additional column in the Edit Splits window), I can't realistically see the feature being added, so I'll probably proceed with storing this info in the component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant