1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 09:07:25 +08:00
Commit Graph

126 Commits

Author SHA1 Message Date
Dean Herbert
48d6c9ac4b Move snap/divisor helper methods to inside ControlPointInfo 2021-04-28 16:47:30 +09:00
Naxess
b8b6d0e861 Add tests for ClosestBeatDivisor
Used https://github.com/ppy/osu/pull/12558/files#diff-5c1f04c5b262ca3abbaf867aa91b62a60b66691323c286ad5aa0b75c153cc6ca as reference.
2021-04-27 16:54:47 +02:00
smoogipoo
0ee73b8e53 Add failing test 2021-04-22 23:22:44 +09:00
jvyden
c39ab2c692
Add SessionStaticsTest 2021-04-18 23:04:28 -04:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
ekrctb
57ba7b7cbb Partially revert the changes of CurrentFrame and NextFrame for compatibility
Making those always non-null is postponed as when a replay's frame contains keypress the behavior is changed.
Previously, the key is pressed at the time of the first frame. But using non-null frames means the key is pressed at negative infinity.
However, I think the new way of always using non-null frames makes the client code so I plan to bundle the change to more breaking changes.
2021-04-13 15:55:23 +09:00
ekrctb
359fae895f Rename property 2021-04-12 18:50:25 +09:00
ekrctb
3c28c09ab5 Add more FramedReplayInputHandler tests 2021-04-12 16:18:35 +09:00
ekrctb
e19e8ff2a3 Rewrite FramedReplayInputHandler for robustness
This commit changes the semantics of `CurrentFrame` and `NextFrame` of the class.
The ordering of `NextFrame.Time` and `CurrentFrame.Time` was dependent on the current direction.
Now, it should always satisfy `CurrentFrame.Time <= CurrentTime <= NextFrame.Time` except at the start/end.
This change, however, doesn't break existing deriving classes if the template code pattern usage of interpolation is used.
The deriving class code can be simplified due to the elimination of nullable types. I didn't include those changes in this commit.

I removed `StreamingFramedReplayInputHandlerTest` for now, as it is almost-duplicate of `FramedReplayInputHandlerTest`. I'll include more tests in later commits.

This commit fixes #6150.
2021-04-12 16:18:11 +09:00
Samuel Cattini-Schultz
fe66b84bed Implement dynamic previous hitobject retention for Skill class
There is no reason we should be limiting skills to knowing only the previous 2 objects. This originally existed as an angle implementation detail of the original pp+ codebase which made its way here, but didn't get used in the same way.
2021-04-03 20:28:51 +11:00
Dean Herbert
4909eaf890 Add the ability to specify format provider (to make tests culture invariant) 2021-03-26 13:10:11 +09:00
Dean Herbert
6a7f926168 Change rounding to use a more general flooring approach 2021-03-26 13:10:11 +09:00
Dean Herbert
544117a494 Add test coverage of accuracy formatting function 2021-03-25 17:37:03 +09:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
smoogipoo
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Bartłomiej Dach
f00089846b Merge branch 'master' into ruleset-filter-v3 2021-03-06 12:14:53 +01:00
Bartłomiej Dach
f9148eec20 Refactor filter query parsing helper methods
In preparation for exposition as public.
2021-03-03 21:34:14 +01:00
Bartłomiej Dach
faf5fbf49b Add tests for custom matching logic 2021-03-02 20:27:50 +01:00
Bartłomiej Dach
bf72f9ad1e Add tests for custom parsing logic 2021-03-02 20:22:56 +01:00
Bartłomiej Dach
e46543a4a9 Constrain operator parsing better 2021-03-02 19:56:36 +01:00
Samuel Cattini-Schultz
66643a97b0 Add a list of mods to Skill class
Although this isn't necessary for existing official rulesets and calculators, custom calculators can have use cases for accessing mods in difficulty calculation.
For example, accounting for the effects of visual mods.
2021-02-20 20:37:44 +11:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Dean Herbert
5fbed05d04
Merge pull request #11551 from smoogipoo/fix-leave-room-race-2
Fix client potentially not leaving a room on exiting multiplayer
2021-02-08 19:23:14 +09:00
Bartłomiej Dach
0aaa62efc2 Add failing test case 2021-01-30 20:55:56 +01:00
Bartłomiej Dach
9ab1ad25eb Merge branch 'master' into fix-leave-room-race-2 2021-01-30 13:41:04 +01:00
Dean Herbert
c3aec3bfe4 Revert test changes to test original class/scope
Importantly, this removes the call to CatchUnobservedExceptions(), which was
outright incorrect (awaiting on the wrong task as a result) in the
original test code.
2021-01-29 16:20:26 +09:00
Dean Herbert
a30aecbafe Comment and add xmldoc 2021-01-27 20:01:21 +09:00
Dean Herbert
fcfb0d52c2 Proposal to use extension method instead of TaskChain class 2021-01-27 19:50:16 +09:00
smoogipoo
248989b3eb wip 2021-01-27 01:20:50 +09:00
smoogipoo
8c3b0a3167 Fix TaskChain performing the action in-line, add test 2021-01-26 22:47:37 +09:00
Dean Herbert
366f074f86 Better describe test steps to discern on failures 2021-01-25 16:53:39 +09:00
Bartłomiej Dach
adcef19ab2 Add coverage for operation tracker with failing tests 2021-01-23 15:59:14 +01:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
385c9cd2e2 Add test coverage 2021-01-05 13:14:16 +09:00
Dean Herbert
e3a41f6118 Rename variable to make more sense
It needs to be explicitly stated that the users in this list are related
to the *joined* room. Especially since it's sharing its variable name
with `SpectatorStreamingClient` where it has the opposite meaning (is a
list of *globally* playing players).
2020-12-29 14:27:35 +09:00
Bartłomiej Dach
f7407347f7 Add test coverage of PlayingUsers tracking 2020-12-28 20:07:05 +01:00
Bartłomiej Dach
1c31a4a6b6 Expose animation start time as mutable in interface 2020-11-22 13:11:22 +01:00
Bartłomiej Dach
240c1b0aef Add support for changing animation start time after load 2020-11-21 20:06:30 +01:00
Bartłomiej Dach
81d0b42930 Add failing test case 2020-11-21 19:51:27 +01:00
Dean Herbert
abaa532766 Add test coverage for streaming replay playback 2020-10-30 16:24:02 +09:00
Dean Herbert
f218a32e5f Merge branch 'master' into tourney-asset-refactor 2020-10-19 14:42:52 +09:00
smoogipoo
c4fdd35223 Fix same-type incompatibility through multimod 2020-10-14 19:53:37 +09:00
smoogipoo
7d2eeb9795 Fix test names 2020-10-14 19:18:04 +09:00
smoogipoo
d7a52e97ff Fix multimod difficulty combinations not generating correctly 2020-10-14 19:03:11 +09:00
Bartłomiej Dach
a7c43e17c2 Add test coverage 2020-10-10 15:41:48 +02:00
Dean Herbert
1989141968
Merge branch 'master' into tourney-asset-refactor 2020-10-07 21:34:07 +09:00
Bartłomiej Dach
ad42ce5639 Add failing test cases 2020-10-04 14:54:51 +02:00
Dean Herbert
d6fe5482d3 Add failing test showing missing control point removal 2020-10-02 15:28:21 +09:00