This is a re-opened pr because I created a new branch to not spam this pr with all my future commits.
Changes:
Identify whether the result is from ScoreSaver or BeatLeader replay. Ignore if it is.
Add the failed acc back. Added a new field in the Record model for max raw score.
Support for Game version 1.28.0
Copied From #6 :
The max raw score is actually not accessible at all outside of the game play context and it only exists in the ScoreController. Well, I guess I have to track and pass the value myself then. SiraUtil and Zenject to the rescue!
For all the existing records, if the max scores can be calculated with the old method, i.e. there is no slider or burst in the map, I simply calculate the max score with the note count Record.LastNote.
The OldschoolBeatSaber mod will break this. Simply installing the mod will cause the SPH hover hint ui not to load. There won't be any exceptions, just like SPH is not installed but new records will still be saved. This seems to be because OldschoolBeatSaber provides a re-implementation of some old-school elements of HMUI and SPH's reflection may be finding the wrong types.
This is a re-opened pr because I created a new branch to not spam this pr with all my future commits.
Changes:
Record
model for max raw score.Copied From #6 :
The max raw score is actually not accessible at all outside of the game play context and it only exists in the
ScoreController
. Well, I guess I have to track and pass the value myself then. SiraUtil and Zenject to the rescue!For all the existing records, if the max scores can be calculated with the old method, i.e. there is no slider or burst in the map, I simply calculate the max score with the note count
Record.LastNote
.The OldschoolBeatSaber mod will break this. Simply installing the mod will cause the SPH hover hint ui not to load. There won't be any exceptions, just like SPH is not installed but new records will still be saved. This seems to be because OldschoolBeatSaber provides a re-implementation of some old-school elements of HMUI and SPH's reflection may be finding the wrong types.