* fix logic of remove_segment_attempt for 0 segments
* ensure time gets updated during offset
* properly incr current_seg when splitting/skipping
* update (downdate) diff members on unsplit
* properly handle golds when gaining
* properly handle status against skipped splits
* add an avg_split_times member to TimerDump since we cant easily calc this
* ensure *_status and *_diff get restored correctly
* use actual statedump from reader impl not ron's
* set active time as well as adj in set_time
* rework pausing test to reflect desired behavior
* rework tests to reflect new None set on skip
* update timer status both before and after main update logic
this will default to rta if not specified, which i think is a good
compromise for readability.
plus a new test for this
this allows us to recalculate the split times without duplicating
all the code, and ensures that no elements get missed for resetting.
add lots of missing docs, fixup some old docs
also just made things public and private that should be.
TimerState does not need to be public as it is never used in public api.
HailTimer and TimerDump does need to be public as it is used in public api.
attempt to consistently format all doc comments too but i probably missed some.
this just makes it clearer where the issue is
this is required because reset might be fired on a state load where we want
to show the updated sum of best from the restored state rather than whatever
was on the original run.
just have the gold segments also in HailTimer so we can compare
them directly.
basically if any comparisons past the current split are still unset
(common for golds) we don't want to render garbage data.