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

3128 Commits

Author SHA1 Message Date
ekrctb
67fcfd9dbc Fix wrong InitialLifetimeOffset is used for a non-pooled DHO.
HitObjectLifetimeEntry's InitialLifetimeOffset is different from DrawableHitObject's InitialLifetimeOffset.
2021-04-21 09:48:16 +09:00
ekrctb
e80c3c317a Rename UnmanagedHitObjectEntry -> SyntheticHitObjectEntry
"Unmanaged" was confusing because its lifetime is still managed by the HitObjectContainer.
2021-04-21 09:23:23 +09:00
ekrctb
c6ee4e900e Ensure a non-null hitobject entry has a non-null Result 2021-04-20 15:18:36 +09:00
ekrctb
8a8b9084ef Make single-argument overloead of DHO.Apply public 2021-04-20 10:11:36 +09:00
ekrctb
1bc63a4c61 Now, DHO.lifetimeEntry can be non-null even it is not fully applied 2021-04-20 09:22:16 +09:00
ekrctb
c1b4aaaa03 Add doc comment 2021-04-20 08:38:02 +09:00
ekrctb
2c487ddb70 Create synthetic LifetimeEntry for a DHO when not supplied
Now, a DHO is always associated with a HitObjectLifetimeEntry while used.
Result is always stored in the entry, and not in the DHO.
2021-04-19 21:54:19 +09:00
ekrctb
5afdc3ff66 Make DHO application logic clearer with Entry/HitObject separation 2021-04-19 19:56:17 +09:00
Dean Herbert
f824105075 Merge branch 'master' into fix-slider-zero-length 2021-04-16 18:47:22 +09:00
Dean Herbert
9b95cf227e Merge branch 'master' into apply-ibindable-interface-change 2021-04-16 17:30:35 +09:00
Dan Balasescu
5ad2d0e759
Merge pull request #12439 from ekrctb/further-refactor-framed-replay
Further refactor FrameReplayInputHandler, simplify the template code
2021-04-16 17:16:09 +09:00
Dean Herbert
d38e294d96 Centralise length validation function 2021-04-16 15:45:24 +09:00
smoogipoo
8c4804dd7a Use nameof 2021-04-16 15:40:06 +09:00
smoogipoo
d1c72f5e13 Apply changes resulting from IBindable interface updates 2021-04-16 15:10:53 +09:00
ekrctb
91c7d8d26c Introduce StartFrame and EndFrame to simplify the replay interpolation code 2021-04-16 14:13:41 +09:00
ekrctb
84bc81a6de Make FramedReplayInputHandler.CurrentTime non-null 2021-04-16 14:13:41 +09:00
ekrctb
936bde28a3 Remove manual handling of IsActive in RulesetInputManager
Now it is supported in framework
2021-04-16 14:13:41 +09:00
Dean Herbert
119c9b4294 Fix placement blueprints not being correctly removed after a rolled back placement 2021-04-16 14:11:33 +09:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dan Balasescu
98e2245d83
Merge pull request #12422 from ekrctb/no-lazy-list
Remove usage of Lazy<List<...>> by always allocating an empty list
2021-04-15 20:09:39 +09:00
ekrctb
d8aa436e81 Remove usage of Lazy<List<...>> in NestedPlayfields 2021-04-15 18:26:01 +09:00
ekrctb
50fad47ebc Remove usage of Lazy<List<...>> for NestedHitObjects 2021-04-15 18:26:01 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
Dean Herbert
ba325de595 Merge conditionals for readability 2021-04-15 14:19:59 +09:00
Dean Herbert
5eaf3ea576 Reorganise and reword comments to make time override behaviour a bit clearer 2021-04-15 14:19:06 +09:00
Dean Herbert
7654df94f6
Merge pull request #12395 from frenzibyte/fix-cinema-ignore-settings
Fix beatmap background displayed if storyboard is hidden on "Cinema" mod
2021-04-14 14:31:03 +09:00
Dean Herbert
cb4f64133e Add xmldoc to interfaces 2021-04-13 23:30:20 +09:00
Dean Herbert
1ff4e2076f Merge branch 'master' into verify-tab 2021-04-13 23:05:48 +09:00
Naxess
69da804f81 Add missing period 2021-04-13 13:57:56 +02:00
Dean Herbert
0d6890243f Fix typo in xmldoc 2021-04-13 20:18:18 +09:00
Dean Herbert
03ba04e8ce Split out general checks into its own verifier class (and remove static usage) 2021-04-13 19:50:22 +09:00
Naxess
aa5fe2e9fc Rename BeatmapVerifier -> IBeatmapVerifier 2021-04-13 11:02:01 +02:00
Naxess
60c2494b31 Make BeatmapVerifier an interface 2021-04-13 10:40:56 +02:00
Salman Ahmed
36510309d1 Merge EnableUserDim and IgnoreUserSettings to one bindable 2021-04-13 10:58:56 +03: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
d0f30b7b42 Delay map completion one frame after the last judgment
This is a workaround of a timing issue.
KeyCounter is disabled while break time (`HasCompleted == true`).
When the last keypress is exactly at the same time the map ends, the last frame was considered in a break time while forward play but considered not in a break time while rewinding. This inconsistency made the last keypress not decremented in the key counter when a replay is rewound.
The situation regularly happens in osu!standard because the map ends right after the player hits the last hit circle. It was caught by `TestSceneGameplayRewinding`.

This commit makes the update of the map completion delayed one frame. The problematic keypress frame is now processed strictly before the map completion, and the map completion status is correctly rewound before the keypress frame.
2021-04-13 14:29:47 +09:00
ekrctb
38d10755cb Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-13 13:47:22 +09:00
Naxess
6d3f9fa9ce Use is class instead of Equals with template index
Ensures ordering of `PossibleTemplates` does not affect tests.
2021-04-13 02:29:25 +02:00
Naxess
d8088777ea Add Equals method to IssueTemplate
This will be useful in tests.
2021-04-13 01:21:34 +02:00
Salman Ahmed
9679bdfed2 Merge branch 'master' into mod-using-reference-equality 2021-04-12 20:56:24 +03:00
Salman Ahmed
92fab653e1 Take current mod settings value into account on equality comparsion 2021-04-12 20:51:13 +03:00
Naxess
19a154ddf1 Rename checkOrigin -> check
More consistent with `Issue.ctor`'s "template".
2021-04-12 17:28:12 +02:00
Naxess
bb720c23a0 Remove check ctors and locals 2021-04-12 17:12:37 +02:00
Dean Herbert
62c1812282 Remove redundant parameter naming 2021-04-12 23:37:47 +09:00
Dean Herbert
36bd235021 Move nested classes to bottom of file 2021-04-12 23:36:10 +09:00
Naxess
6d50d01186 Make IssueTemplate.Check readonly 2021-04-12 16:23:05 +02:00
Naxess
caaaba5950 Rename Check -> ICheck 2021-04-12 16:20:53 +02:00
Naxess
008dbc7dd6 Reverse IssueType ordering
Reversed both in the enum and where it's displayed, so ends up the same in the end.
2021-04-12 15:49:13 +02:00
Naxess
7c4f6d2b62 Rework template usage
Includes moving the origin check back to templates, constructing nested template classes in each check, and making parameterized template usage.
2021-04-12 15:47:26 +02:00
ekrctb
31d3607105 Add TODO comment 2021-04-12 18:54:36 +09:00