Sophira / LiveSplit.RealTimeMinusBonuses

A LiveSplit Component that subtracts IGT time bonuses from an RTA run.
Other
2 stars 0 forks source link

Undoing a regular split does odd things with the timer #6

Closed Sophira closed 7 years ago

Sophira commented 7 years ago

I thought I had undoing splits fixed in #1, but it turns out to be subtly wrong somehow in ways I haven't worked out yet, but that seem to have something to do with undoing a split made by using the regular split key.

Steps to reproduce:

  1. Start timing.
  2. Enter 55 for the first split and wait for it to finish pausing. (Any number works, but numbers below <60 are the easiest to see the issue with.)
  3. Do a regular split by using your regular split key, bypassing the plugin. (Do not simply press RETURN in the text box as this appears to work correctly, even though the two should be equivalent.)
  4. Undo the split made in step 3.

Expected results:

As the split made in step 2 has not been undone, the Game Time timer should still be about 8-9 seconds behind the Real Time timer.

Actual results:

The Game Time is erroneously brought to the same time as the Real Time, despite that the split made in step 2 has not been undone.

Workaround:

For now, do not use the regular split key; instead, press RETURN in the Enter Game Time window without entering a time to execute a regular split with no time bonus countdown.

Sophira commented 7 years ago

It turned out that this is due to the way the plugin saves the last split for undo purposes; this information was lost when doing a regular split. I've fixed this locally by moving it to an event that gets called when any split is done, regardless of whether it was done through the plugin or not.

Sophira commented 7 years ago

I made a 0.5.1 release specifically for this fix since it's kind of crucial!