1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-31 01:35:03 +08:00
Commit Graph

383 Commits

Author SHA1 Message Date
smoogipoo
e271408fca Move max score calculation inside ScoreProcessor 2020-09-09 16:51:53 +09:00
smoogipoo
1e5e5cae0c Add support for standardised -> classic changes 2020-08-28 21:34:34 +09:00
smoogipoo
4d15f0fe52 Implement basic score recalculation 2020-08-28 19:16:46 +09:00
smoogipoo
a4ad0bd174 Ensure 0 score from miss judgements, add test 2020-08-18 19:51:26 +09:00
smoogipoo
6b2b3f4d4d Expose accuracy/combo portion adjustments 2020-07-16 14:10:44 +09:00
Dean Herbert
fda45997db
Merge pull request #9530 from peppy/fix-memory-retention
Clean up HitEvents after use to avoid near-permanent memory retention
2020-07-12 01:27:38 +09:00
Dean Herbert
2bb0283a68 Clean up HitEvents after use to avoid near-permanent memory retention 2020-07-12 00:52:55 +09:00
smoogipoo
acfb6eecc6 Fix bonus judgements being required toward HP 2020-07-11 20:17:40 +09:00
smoogipoo
2b7fb2b71d Rename to Position 2020-06-22 19:04:51 +09:00
smoogipoo
33fdd7466c Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-22 15:38:48 +09:00
smoogipoo
9fbe2fa80a Add comments, change to clamp 2020-06-21 19:31:00 +09:00
smoogipoo
44925b3951 Reduce mania's HP drain by 20% 2020-06-21 18:05:26 +09:00
smoogipoo
740b01c049 Add xmldoc 2020-06-19 22:05:58 +09:00
smoogipoo
25abdc2903 General cleanups 2020-06-19 21:41:48 +09:00
smoogipoo
ad3bc99e7c Fix hit event position offset not being set 2020-06-19 20:49:05 +09:00
smoogipoo
eab00ec9d9 Move hit events to the ScoreProcessor 2020-06-19 19:58:35 +09:00
smoogipoo
e98f51923a Add timing distribution to OsuScoreProcessor 2020-06-02 23:38:24 +09:00
smoogipoo
a7f8c5935d Expose LowestSuccessfulHitResult() 2020-06-02 23:36:56 +09:00
Bartłomiej Dach
848a3fb6d7 Take hitobject start/end times into account in drain 2020-05-11 19:06:36 +02:00
Bartłomiej Dach
1d999bb634 Integrate PeriodTracker changes 2020-05-10 18:32:38 +02:00
Bartłomiej Dach
ee2ff77b89 Merge branch 'master' into fix-draining-in-between-break-sections 2020-05-10 17:57:44 +02:00
smoogipoo
6d3a24ff01 Reorder tick hit results 2020-05-04 15:55:42 +09:00
smoogipoo
f42be7a6d7 Merge branch 'master' into sorcerer-catch-changes 2020-05-04 15:25:09 +09:00
Salman Ahmed
6f233917b1 Centralize updating HasCompleted bindable logic 2020-04-20 06:40:51 +03:00
Salman Ahmed
fc6c245de5 Replace all judged event logic with HasCompleted bindable 2020-04-19 05:36:04 +03:00
smoogipoo
ae210d567d Add temporary solution for tick hit/miss count 2020-04-16 18:16:08 +09:00
Bartłomiej Dach
13c81db0cf Fix incorrect classic score formula
Upon closer inspection the classic score formula was subtly wrong. The
version given in the wiki is:

	Score = Hit Value + (Hit Value * ((Combo multiplier * Difficulty
	multiplier * Mod multiplier) / 25))

The code previously used:

	bonusScore + baseScore * ((1 + Math.Max(0, HighestCombo.Value - 1)
	* scoreMultiplier) / 25);

which is not equivalent to the version on the wiki. The error is in the 1
factor, as in the above version it is being divided by 25, while it should
be outside the division to keep parity with the previous formula.

The tests attached in the previous commit demonstrate that this change
causes a single hit without combo to increase total score by its exact
numeric value.
2020-04-14 01:09:58 +02:00
Salman Ahmed
7fab07670e Remove no longer necessary usage of IsBreakTime 2020-04-05 21:35:09 +03:00
Salman Ahmed
e71a9668a5 Disallow draining in non-draining sections 2020-04-05 21:34:53 +03:00
Dean Herbert
401bf1c928 Remove unnecessary checks on NotNull attributes 2020-02-23 14:30:08 +09:00
unknown
a6124ae499 fix typo on ScoreProcessor xmldoc 2020-01-27 08:24:15 +08:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Dean Herbert
b330aec03e Drain starting at the first hitobject, not gameplay start 2019-12-27 16:16:30 +09:00
smoogipoo
c22744de2c Better define minimum health targets 2019-12-27 12:46:35 +09:00
smoogipoo
fbbd16b4f0 Remove healthIncreases nullability 2019-12-27 12:39:25 +09:00
smoogipoo
35f64d9aae More comments 2019-12-26 17:54:31 +09:00
smoogipoo
f5dbd57d55 Refactor drain calculation for resiliency 2019-12-26 17:36:40 +09:00
smoogipoo
662ec2d812 Refactor gameplay-time drain limitation 2019-12-26 15:46:07 +09:00
smoogipoo
e0c1072ab2 Add xmldocs 2019-12-26 15:01:19 +09:00
smoogipoo
eba6371526 Re-implement taiko's accumulating health processor 2019-12-26 15:01:19 +09:00
smoogipoo
0454c5022d Fix some maps potentially starting with 0 health 2019-12-26 15:00:59 +09:00
smoogipoo
90a0569660 Tweak drain values 2019-12-26 15:00:58 +09:00
smoogipoo
522847987b Implement break/gameplay start times 2019-12-26 15:00:58 +09:00
smoogipoo
b348abcd07 Only drain health in non-break times 2019-12-26 14:59:49 +09:00
smoogipoo
977fb3d1bf Make processors and break overlay frame-stable 2019-12-26 14:59:49 +09:00
smoogipoo
85c44b5a5a Disable list additions during gameplay 2019-12-26 14:59:49 +09:00
smoogipoo
bd74d086fb Remove adjustment factor 2019-12-26 14:59:49 +09:00
smoogipoo
70d2d8a2fa Add adjustable target percentage 2019-12-26 14:59:49 +09:00
smoogipoo
a4b1c79e18 Initial implementation of HP drain 2019-12-26 14:59:49 +09:00
smoogipoo
985277da79 Add time elapsation to judgement simulation 2019-12-26 14:59:49 +09:00
smoogipoo
90cb9d9162 Simplify scoreprocesor/healthprocessor implementations 2019-12-26 14:59:49 +09:00
smoogipoo
00546787c8 Remove unused method 2019-12-24 16:52:49 +09:00
smoogipoo
50fa6c5f77 Update score on reverts 2019-12-19 20:18:23 +09:00
smoogipoo
04c3a6f8a4 Move more properties to the base class 2019-12-19 20:18:17 +09:00
smoogipoo
76f2fb378f Separate score and health parts of ScoreProcessor 2019-12-19 20:03:14 +09:00
smoogipoo
1da8cc8690 Encapsulate common logic of ScoreProcessor 2019-12-19 19:03:27 +09:00
Huo Yaoyuan
d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
smoogipoo
48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
Dean Herbert
4e273fc628
Return correct allowed value for Perfect
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com>
2019-10-09 19:50:05 +09:00
Dean Herbert
9f2a648432 Add full asserts 2019-10-09 19:23:37 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
Dean Herbert
07fce8397b Move reset call to ctor 2019-09-09 14:24:17 +09:00
iiSaLMaN
be803fa921 Reset score processor before starting the simulation 2019-09-07 18:15:49 +03:00
iiSaLMaN
55b2bc1ed5 Set Health default value to 1 2019-09-07 18:03:04 +03:00
Dean Herbert
b89fb5cdf7 Fix failing test 2019-09-06 16:51:30 +09:00
Dean Herbert
6ce36bd39e
Merge branch 'master' into stop-counting-to-score-after-fail 2019-09-06 16:12:53 +09:00
Dean Herbert
985375d1c6 Remove private field xmldoc 2019-09-06 15:47:01 +09:00
Dean Herbert
4031f51745 More permissive IsHitResultAllow by default 2019-09-06 15:37:30 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
smoogipoo
0c73c5acf3 Expose full hitobject rather than hit windows 2019-09-02 17:14:40 +09:00
smoogipoo
f2bdf94a1d Add HitWindows to JudgementResult to indicate timing errors 2019-09-02 16:28:14 +09:00
smoogipoo
2945fef62d Expose HasCompleted from ScoreProcessor 2019-09-02 13:04:30 +09:00
iiSaLMaN
439d825dd1 Disallow adding bonus judgements' result to statistics 2019-08-20 18:39:29 +03:00
iiSaLMaN
883102ee5d Move score multiplier logic inside score calculation 2019-08-12 16:40:52 +03:00
Dean Herbert
29870c773c
Merge branch 'master' into stop-counting-to-score-after-fail 2019-08-09 14:16:34 +09:00
smoogipoo
a9c4b5ac4e Add tests 2019-08-09 14:04:56 +09:00
smoogipoo
33f4b628a5 Make HasFailed private set 2019-08-09 13:42:02 +09:00
smoogipoo
88fa06efba Refactor as proposed 2019-08-09 13:38:04 +09:00
iiSaLMaN
566d874641 Prevent failing when reverting to a hasFailedAtJudgement 2019-08-08 15:25:07 +03:00
Dean Herbert
a345955f45 Add mentions linking ScoreProcessor apply/revert methods together 2019-08-08 13:57:04 +09:00
iiSaLMaN
c77e6074f6 Disallow adding to score after the player has failed 2019-08-07 19:58:26 +03:00
smoogipoo
e57663b39c Apply mod score multipliers 2019-07-31 17:55:22 +09:00
smoogipoo
6bfac9f8e4 Remove protected ctor 2019-07-31 17:50:13 +09:00
David Zhao
de59e038ac Prevent non-combo affecting judgements from triggering sudden death 2019-06-21 14:29:16 +09:00
Paul Teng
1c3b768266 Use Precision.AlmostBigger 2019-05-12 09:02:22 -04:00
Paul Teng
1a6c8e91a5 Compare Health with small value 2019-05-12 08:44:20 -04:00
David Zhao
5c096cbc91 Revert mirroring condition too 2019-05-09 18:59:00 +09:00
David Zhao
9e0af723cc Split out affectscombo change 2019-05-09 18:56:19 +09:00
David Zhao
b0e34d86d5 Subtract a result from count if its been reverted 2019-05-09 16:16:20 +09:00
David Zhao
39fb5712f1 Only combo-incrementing results add to result count 2019-05-09 15:31:37 +09:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
iiSaLMaN
148f4c4ce0
Pass Rank.Value instead
Passing Rank.Value along each iteration instead of calculating.
2019-04-30 18:49:31 +03:00
iiSaLMaN
b08fb5136e
Merge branch 'master' into sh-xh-grading-2 2019-04-26 10:38:10 +03:00
KingLuigi4932
619071b7ee Unnecessary 'using' directive 2019-04-25 14:23:00 +03:00
KingLuigi4932
4e0f21102b Merge branch 'sh-xh-grading-2' of https://github.com/iiSaLMaN/osu into sh-xh-grading-2 2019-04-25 14:04:12 +03:00
KingLuigi4932
c6b3197dd0 Add AdjustRank and use it in Hidden Mod 2019-04-25 13:56:57 +03:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
iiSaLMaN
a6b60a2fc2
Merge branch 'master' into sh-xh-grading-2 2019-04-22 19:39:20 +03:00
smoogipoo
aeae759fcd Rename method + add xmldoc 2019-04-22 18:08:15 +09:00
smoogipoo
4edb17a88a Make hp work + cleanup 2019-04-22 18:02:49 +09:00
smoogipoo
fbb4e9df04 Implement hp at base ScoreProcessor 2019-04-22 16:51:38 +09:00
iiSaLMaN
cfb3c38c3a
Fix. 2019-04-22 10:14:19 +03:00
iiSaLMaN
9030935030
Fix AppVeyor Errors 2019-04-22 10:07:45 +03:00
iiSaLMaN
64429aa968
Fix AppVeyor Errors 2019-04-22 09:59:51 +03:00
iiSaLMaN
7a385e56ec
Fix AppVeyor Errors 2019-04-22 09:58:29 +03:00
iiSaLMaN
c784bc4418
Remove whitespaces 2019-04-22 06:15:37 +03:00
iiSaLMaN
de542ca202
Remove bindable and use property 2019-04-22 06:14:14 +03:00
iiSaLMaN
cff319e0d8
Fix issue 2019-04-21 18:12:50 +03:00
iiSaLMaN
b200142afb
Make AdjustRank Bindable and fix issue 2019-04-21 17:55:01 +03:00
iiSaLMaN
73da423639
Adjust rank 2019-04-21 15:58:19 +03:00
Dean Herbert
c39c37a18d Apply more missed cases 2019-04-01 12:44:46 +09:00
Dean Herbert
3b7a76aa4e Fix typo 2019-03-20 11:22:34 +09:00
Dean Herbert
baea7230bc Rename RulesetContainer to DrawableRuleset 2019-03-19 23:47:31 +09:00
Dean Herbert
c8793911a8 Enable more stringent inspectcode style inspections 2019-02-27 21:25:40 +09:00
smoogipoo
8a943a6e65 Fix scores being stored as ints 2019-02-26 13:10:59 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +09:00
Dean Herbert
2d7c23dd9f Merge remote-tracking branch 'upstream/master' into fix-replay-import-statistics 2019-02-04 12:15:53 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
Dean Herbert
aec3753863 Fix imported replays having excess statistics 2019-01-03 14:01:20 +09:00
smoogipoo
be86281c72 Fix score results not populated 2018-12-28 00:24:02 +09:00
smoogipoo
338b95dd63 Fix none result getting included 2018-12-27 22:48:24 +09:00
Dean Herbert
99ed009838 Fix extra hit result types showing on ranking screen 2018-12-27 22:31:40 +09:00
Dean Herbert
fb10d15870 Populate statistics for all rulesets' scores 2018-12-27 21:52:09 +09:00
smoogipoo
50b51a168e Always submit standardised scores 2018-12-27 21:12:32 +09:00
Dean Herbert
f9fb6dc39b Remove health from ScoreInfo 2018-12-01 00:17:05 +09:00
Dean Herbert
af3ef9a089 Fix some data types on ScoreInfo 2018-11-30 20:43:38 +09:00
Dean Herbert
831cd3ed59 ScoreInfo scoreInfo -> ScoreInfo score 2018-11-30 15:18:52 +09:00
smoogipoo
219929eb47 Score -> ScoreInfo 2018-11-28 18:33:01 +09:00
smoogipoo
5fd6e6ca77 Re-namespacing 2018-11-28 16:12:57 +09:00
Dean Herbert
d3eb24e70a Fix score retrieval no longer working 2018-09-28 18:29:49 +09:00
Paul Teng
319ed1bf0f Reorder if statement 2018-09-24 21:35:13 -04:00
Paul Teng
dd36b6a381 Remove unused field storage 2018-09-24 21:08:58 -04:00
Paul Teng
b95cc798b2 Remove unused fallback 2018-09-24 20:56:18 -04:00
Paul Teng
62df0ec7d4 Handle external files with File instead 2018-09-24 07:16:19 -04:00
smoogipoo
60c94a8ea3 Fix ScoreProcessor.ApplyBeatmap never being called 2018-08-06 12:42:54 +09:00
smoogipoo
2a54b5b78d ResetResult -> RevertResult 2018-08-06 12:29:22 +09:00
smoogipoo
c48a4d9993 Add exception 2018-08-06 12:29:12 +09:00
smoogipoo
3a7488767c Make HitObject not store the judgement 2018-08-06 11:50:18 +09:00
smoogipoo
ab642b563f CreateJudgementResult -> CreateResult 2018-08-06 11:07:41 +09:00
smoogipoo
5fd4ed2f4e Rename judgement-related methods/events + commenting 2018-08-06 10:55:25 +09:00
smoogipoo
2a4994e5ce Make hitobjects only have one judgement + result 2018-08-03 15:38:48 +09:00
smoogipoo
8d81e66f88 Fix osu score processor crashing 2018-08-02 21:07:11 +09:00
smoogipoo
3619290c34 Split out judgement definition from judgement result 2018-08-02 20:35:54 +09:00
smoogipoo
41512667a8 Require all judgements to be present for map completion 2018-08-01 19:51:24 +09:00
Dean Herbert
0940715631
Merge branch 'master' into catch-scoring 2018-06-29 14:59:15 +09:00
Crusensis
fbc0cd6f5f Split AffectsCombo into IsBonus 2018-06-09 18:14:33 -07:00
Dean Herbert
86fb9666b2 Rename "Exponential" to "Classic" 2018-06-10 01:45:05 +09:00
Dean Herbert
cc37a355d2 Add comment about matching stable scoring
Also updated equation to be close to what is expected
2018-06-10 01:44:46 +09:00
Dean Herbert
0b4f5af52e Add setting to toggle standardised or exponential scoring display
Also adjusts exponential scoring to be closer to stable. Log wasn't cutting it.
2018-06-08 03:17:12 +09:00