1
6
Fork
You've already forked hail
0

make ingame time first-class #4

Merged
periwinkle merged 78 commits from first-class-ingame into main 2025年12月09日 05:35:57 +01:00

reworks a lot of core so that ingame time is actually tracked separately and not just a vestigial afterthought on the side.

i think this is mostly done and worked out but it's been a while and i don't really remember if there's anything else i need to do, so i'm creating the pr to motivate myself to look at it more again

reworks a lot of core so that ingame time is actually tracked separately and not just a vestigial afterthought on the side. i think this is mostly done and worked out but it's been a while and i don't really remember if there's anything else i need to do, so i'm creating the pr to motivate myself to look at it more again
* 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.
Author
Owner
Copy link

well i fixed a bug so it's probably fine. sending it.

well i fixed a bug so it's probably fine. sending it.
periwinkle deleted branch first-class-ingame 2025年12月09日 05:35:57 +01:00
Sign in to join this conversation.
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
periwinkle/hail!4
Reference in a new issue
periwinkle/hail
No description provided.
Delete branch "first-class-ingame"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?