1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-17 06:02:55 +08:00
Commit Graph

3419 Commits

Author SHA1 Message Date
Bartłomiej Dach
a31e8d137f Add guard when clearing samples 2020-12-20 15:42:24 +01:00
Bartłomiej Dach
ee33c0be93 Extract combo & accuracy ratio calculation helpers 2020-12-19 19:08:29 +01:00
Dean Herbert
f13683dc90 Correctly account for max combo of the input, rather than the global 2020-12-17 16:05:41 +09:00
Dean Herbert
41d8b84bd7 Revert MaxBaseScore to being a private field (no longe required to be public) 2020-12-17 15:47:20 +09:00
Dean Herbert
2954218897 Add method to ScoreProcessor to calculate score and accuracy from statistics 2020-12-16 16:20:29 +09:00
Dean Herbert
64a2526678 Add header class and basic flow for propagating data updates 2020-12-14 17:33:23 +09:00
Dean Herbert
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
Dean Herbert
51e8a05f18 Seal SetRecordTarget method to simplify modification 2020-12-14 16:44:29 +09:00
smoogipoo
ac91f0e270 Add extended limits to difficulty adjustment mod 2020-12-10 00:37:19 +09:00
ekrctb
a548269c34 Fix scrolling hit object displayed in wrong position for one frame 2020-12-07 17:26:12 +09:00
Dean Herbert
a0f92628ac Merge branch 'master' into fix-sample-expire 2020-12-04 13:49:08 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived 2020-12-04 11:04:56 +09:00
Endrik Tombak
48dad61a46 Apply review suggestions 2020-12-03 19:44:12 +02:00
smoogipoo
0bdf99b97a Remove OnParentReceived() 2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc Change order of OnParentReceived() 2020-12-03 20:06:26 +09:00
ekrctb
6c46046c24 Fix DHO expires while hit sound is playing 2020-12-03 12:32:49 +09:00
smoogipoo
e831c797f3 Merge branch 'master' into hit-sample-pooling 2020-12-02 14:45:24 +09:00
smoogipoo
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
smoogipoo
e19ef9627a Fix potentially incorrect override 2020-12-02 10:54:26 +09:00
smoogipoo
2840405112 Volume should be 0 by default 2020-12-01 18:14:14 +09:00
smoogipoo
6b4a6c12c8 Fix bad equality comparer implementations 2020-12-01 18:13:53 +09:00
smoogipoo
17560aeeea Volume should be 0 by default 2020-12-01 18:09:28 +09:00
smoogipoo
dda4d76d72 Fix bad equality comparer implementations 2020-12-01 18:09:21 +09:00
smoogipoo
4900589af4 Remove unused method 2020-12-01 17:02:45 +09:00
smoogipoo
2bb7484608 Merge branch 'immutable-hit-samples' into hit-sample-pooling 2020-12-01 16:05:28 +09:00
smoogipoo
199710b941 Implement equality comparers for HitSampleInfo 2020-12-01 16:04:08 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
Bartłomiej Dach
5fbe1823a0
Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:39:22 +01:00
Dean Herbert
51741c4791
Merge branch 'master' into hit-sample-pooling 2020-11-30 22:25:28 +09:00
Dean Herbert
7f34e11467
Merge pull request #10962 from smoogipoo/improve-dho-time-offsets
Fix judgement offsets in non-framestable contexts
2020-11-30 19:13:25 +09:00
Dean Herbert
3ad2eeaff5 Fix outdated xmldoc 2020-11-30 18:35:30 +09:00
Dean Herbert
c17d67bc7d Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:34:38 +09:00
smoogipoo
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
Dan Balasescu
b56e832e83
Merge pull request #10950 from ekrctb/pool-scrolling
Support hit object pooling in ScrollingPlayfield
2020-11-30 18:29:34 +09:00
smoogipoo
8f48389f89 Merge branch 'master' into improve-dho-time-offsets 2020-11-30 18:01:48 +09:00
smoogipoo
7ac2fba127 More reordering of public vs private methods 2020-11-30 17:44:58 +09:00
Dan Balasescu
11d1450c76
Merge branch 'master' into fruit-bindables 2020-11-30 16:48:22 +09:00
Dean Herbert
2745659986 Reword and xmldoc some comments 2020-11-30 15:54:20 +09:00
Dan Balasescu
69c2a18220
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-30 14:05:03 +09:00
Dan Balasescu
0c36a3c263
Merge branch 'master' into pool-scrolling 2020-11-30 14:04:54 +09:00
Dean Herbert
18bb0cb45b Remove unnecessary schedule logic from Apply's local updateState call
There were cases in the editor where rewinding of transforms would
leave the `DrawableHitObject` in a non-`IsPresent` state, resulting in
this scheduled logic never running.

This would in turn cause ghost hitobjects, which disappear under certain
circumstances.

Reproduction:

- Open editor to empty beatmap
- Place single hitcircle at current point in time
- Drag editor timeline backwards to seek before zero, and wait for
  return to zero
- Select hitcircle in playfield
- Drag hitcircle to right in timeline, triggering a start time change
2020-11-27 16:32:05 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets 2020-11-27 15:03:56 +09:00
ekrctb
6e40de58e9 Use new OnAdd and OnRemove to invalidate DHO 2020-11-27 13:36:40 +09:00
ekrctb
8f5129323d Merge branch 'master' into pool-scrolling 2020-11-27 13:12:05 +09:00
ekrctb
e36bb7631d Fix colour not updated when index changes 2020-11-27 11:41:39 +09:00
ekrctb
57454bbb1c Remove hitObject argument from OnApply and OnFree 2020-11-27 10:13:05 +09:00
Dean Herbert
94dc61150b
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-27 00:43:47 +09:00
Dean Herbert
b1864670a2
Merge pull request #10961 from smoogipoo/better-dho-rewind
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
smoogipoo
aa4da2a5f8 Add xmldoc on State 2020-11-26 23:42:05 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
ekrctb
05e245d445 Allow non-pooled DHO to be reused 2020-11-26 19:07:09 +09:00
smoogipoo
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap 2020-11-26 17:06:47 +09:00
ekrctb
eae33fe74a Fix format 2020-11-26 14:16:33 +09:00
ekrctb
e43f928588 Use DHO.HitObjectApplied to invalidate computation 2020-11-26 14:07:40 +09:00
ekrctb
f6faf95e33 Revert changes to HitObjectUsageBegan, not use it. 2020-11-26 14:01:46 +09:00
ekrctb
1a6e5bdaba Merge branch 'master' into pool-scrolling 2020-11-26 13:52:52 +09:00
Bartłomiej Dach
8ff1688c4b
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-25 20:11:09 +01:00
smoogipoo
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57 Rewind pooled DHOs into better states 2020-11-26 00:42:25 +09:00
Dean Herbert
c46d655832 Uncomment incorrectly commented lines 2020-11-25 12:11:44 +09:00
ekrctb
b8a5cd94f7 Invoke HitObjectUsageFinished before removal 2020-11-24 19:46:57 +09:00
ekrctb
e34a205104 Rewrite hit object management, take three 2020-11-24 18:56:05 +09:00
ekrctb
7f6e4d5b21 Delay lifetime computation until loaded 2020-11-24 18:56:05 +09:00
ekrctb
d5f082e5fb Comment about lifetime assumption 2020-11-24 18:56:05 +09:00
ekrctb
ce57e8ddfb Separate Lifetime computation and layout update 2020-11-24 18:56:05 +09:00
ekrctb
cabc8aa63b Revert "Simplify ScrollingHitObjectContainer logic"
This reverts commit b4cc39149c117e6a0e95ee917a67cec8ba723d06.
2020-11-24 18:56:05 +09:00
ekrctb
8f39b54e58 Simplify ScrollingHitObjectContainer logic 2020-11-24 18:56:05 +09:00
ekrctb
5c743adbae Support hit object pooling scrolling playfield 2020-11-24 18:56:05 +09:00
Dean Herbert
c9a41f9dae Make all objects in selection candidates for spatial snapping
Closes #10898.
2020-11-24 17:35:54 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 16:09:57 +09:00
Dean Herbert
1682260677 Remove left over logging line 2020-11-24 15:28:03 +09:00
Dean Herbert
ee33f62809 Fix DrawableJudgement not always animating correctly on skin change
If the skin is changed before gameplay has started (at the loading
screen) it is possible for a sequence of events to occur which results
in the animation not being played:

- `SkinReloadableDrawable` runs its BDL load (and calls `OnSkinChanged`
  once)
- User changes skin, triggering `DrawableJudgement`'s skin change
  handling (binding directly on the `SkinSource` locally)
- This will call `PrepareDrawables` and reinitialise the
  `SkinnableDrawable` child hierarchy, then immediately apply the
animations to it.
- The new `SkinnableDrawable` will then get the `SkinChanged` event and
  schedule a handler for it, which will run on its first Update call.
- Any added animations will be lost as a result.

Fixed by binding directly to the `SkinnableDrawable`'s `OnSkinChanged`.
This has the added bonus of not needing to reinitialise the child
hierarchy on skin change (which felt a bit weird in the first place).
2020-11-24 15:23:53 +09:00
Dean Herbert
060acb9010
Merge pull request #10935 from bdach/fix-mania-judgement-fade-in
Rewind judgement transforms before clearing
2020-11-23 17:05:04 +09:00
Dean Herbert
19faa2b9bb Add comment covering intentional call to ClearTransformsAfter 2020-11-23 15:20:59 +09:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez 2020-11-22 13:29:02 +01:00
ekrctb
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
ekrctb
c506b438bf Remove more code and make some methods private 2020-11-22 18:51:16 +09:00
Bartłomiej Dach
9f997db958 Rewind judgement transforms before clearing 2020-11-21 17:56:49 +01:00
ekrctb
295ca38cda Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added 2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6 Event -> virtual method 2020-11-21 15:20:33 +09:00
ekrctb
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
ekrctb
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
ekrctb
772f6df668 Add a remark for DrawableHitObjectAdded 2020-11-20 18:00:00 +09:00
ekrctb
c013cd11c9 Add DrawableHitObjectAdded event 2020-11-20 17:56:47 +09:00
Dean Herbert
53b6d90ab4 Don't show default judgements in front of objects for now 2020-11-20 16:30:58 +09:00
Dean Herbert
a00e0d7279 Move CanBeNull specification to the interface 2020-11-20 16:30:48 +09:00
Dean Herbert
7fe0923fcf Show main judgement content above hitobjects 2020-11-20 16:25:48 +09:00
smoogipoo
7180bfe4ba Unlimit number of samples per pool 2020-11-19 21:21:57 +09:00
smoogipoo
f013928fa3 Set maximum pool size 2020-11-19 20:40:01 +09:00
smoogipoo
70cb197957 Cleanups 2020-11-19 20:38:36 +09:00
smoogipoo
8920534a25 Fix pools not being added to hierarchy 2020-11-19 20:24:03 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
Dean Herbert
ba735584fa Add null check for disposal safety 2020-11-19 14:04:43 +09:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic 2020-11-18 19:20:11 +01:00
smoogipoo
cb5d1d0d77 Remove obsolete method 2020-11-18 21:26:35 +09:00
Dean Herbert
b3bec81b79 Update xmldoc to match new behaviour 2020-11-18 19:38:38 +09:00
Dean Herbert
8522ddc61e Reduce nesting of skinned component to reduce exposed surface 2020-11-18 19:34:27 +09:00
Dean Herbert
ee8804b50b Fix animation playback not running on skin change 2020-11-18 19:03:34 +09:00
Dean Herbert
c47e70da9b Update animations for new/old miss style and add fades 2020-11-18 19:03:34 +09:00
Dean Herbert
9d3de5bca0 Fix hit lighting dictating lifetime even when not present in skin 2020-11-18 19:03:34 +09:00
Dean Herbert
72a15ef2dc Handle DrawableJudgement lifetime more flexibly 2020-11-18 19:03:34 +09:00
Dean Herbert
94886a09b2 Remove fades from DrawableJudgement itself 2020-11-18 19:03:34 +09:00
Bartłomiej Dach
875d7dec79 Remove redundant this. qualifier 2020-11-17 20:11:13 +01:00
Dean Herbert
8247e6ce91 Move result type to ctor 2020-11-17 15:43:54 +09:00
Dean Herbert
e4f1e52422 Add xmldoc coverage of Apply() 2020-11-17 15:03:26 +09:00
Dean Herbert
f465dd5a5e Move all extended animation logic out of DrawableJudgement 2020-11-17 14:59:34 +09:00
Dean Herbert
9dfa4249e0 Make Apply non-virtual 2020-11-17 14:05:13 +09:00
Bartłomiej Dach
8da40ce2dc Reduce duplication by extracting ModEasyWithExtraLives 2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017 Merge branch 'master' into change-taiko-ez 2020-11-16 19:37:47 +01:00
Bartłomiej Dach
72a8734f93
Merge branch 'master' into add-back-initiallifetimeoffset 2020-11-16 18:54:37 +01:00
smoogipoo
e8dbc190f1 Remove ability to pool DHOs in parent playfields 2020-11-16 23:30:24 +09:00
smoogipoo
cead67d512 Add back removed InitialLifetimeOffset removal 2020-11-16 21:49:29 +09:00
PercyDan54
f2ef7bee5d
Fix checks 2020-11-16 18:17:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy 2020-11-16 18:15:15 +08:00
Dan Balasescu
09298139e1
Merge pull request #10844 from bdach/spinner-rotation-tracker-state
Fix rotation tracker state not being reset on drawable spinner re-use
2020-11-16 17:10:40 +09:00
Dean Herbert
6706840b54
Merge pull request #10853 from bdach/add-to-legacy-conversion-tests 2020-11-16 15:22:04 +09:00
Bartłomiej Dach
9c0a0031d6 Clear existing transforms on DHO return to pool 2020-11-15 19:50:22 +01:00
Bartłomiej Dach
5d44286d38 Add missing generic mappings to legacy mods 2020-11-15 15:35:06 +01:00
Bartłomiej Dach
5ace7abaa8 Add abstract non-generic ModNightcore to pattern-match over 2020-11-15 15:32:02 +01:00
Bartłomiej Dach
f8cabbdd21 Clear result when freeing pooled hitobject 2020-11-14 21:09:22 +01:00
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
smoogipoo
21b015d63a Remove explicit public 2020-11-14 01:06:38 +09:00
smoogipoo
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
smoogipoo
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
Dean Herbert
f093acc9d5
Merge pull request #10823 from smoogipoo/pooling-editor-support
Add pooling support to the editor
2020-11-13 19:58:46 +09:00
smoogipoo
d83b479c81 Internalise lifetime extensions and events too 2020-11-13 19:21:45 +09:00
smoogipoo
4a4219fd11 Add region 2020-11-13 19:21:45 +09:00
smoogipoo
92189e35cc Make playfield KeepAlive methods internal 2020-11-13 19:21:45 +09:00
smoogipoo
688a442fb3 Add missing dictionary 2020-11-13 17:26:46 +09:00
smoogipoo
942ecde0e1 Merge branch 'master' into pooling-editor-support 2020-11-13 17:23:35 +09:00
smoogipoo
3957697c48 Add pooling support to the editor 2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
Dean Herbert
06fd0d08d1
Merge branch 'master' into nested-hitobject-pooling 2020-11-13 16:53:20 +09:00
smoogipoo
4236dd826d Improve documentation and make abstract again 2020-11-13 14:57:09 +09:00
smoogipoo
a07d4a7915 Remove unnecessary dictionary for now 2020-11-13 14:42:41 +09:00
smoogipoo
35329aa976 Reduce the number of state updates 2020-11-13 14:33:23 +09:00
Dan Balasescu
2840fd0f8f
Merge branch 'master' into hitobject-pooling-base 2020-11-12 23:17:36 +09:00
smoogipoo
261ddd2b4a Fix samples not being disposed 2020-11-12 18:48:25 +09:00
smoogipoo
8aaa500431 Add lifetime extensions 2020-11-12 18:34:50 +09:00
smoogipoo
243e913e4a Add hitobject usage events 2020-11-12 18:32:20 +09:00
smoogipoo
fe347c8661 Add playfield support for keeping hitobjects alive 2020-11-12 18:30:32 +09:00
smoogipoo
7548db7ecc Fix hitobjects sometimes not fading in completely with HD mod 2020-11-12 18:29:22 +09:00
smoogipoo
a8c2b798ad Add support for nested hitobject pooling 2020-11-12 17:43:51 +09:00
smoogipoo
e44a8b3934 Resort as early as possible 2020-11-12 17:07:20 +09:00
Dean Herbert
41a1730927
Merge pull request #10794 from smoogipoo/fix-osu-hd-mod 2020-11-12 17:06:04 +09:00
smoogipoo
cf91962865 Fix test failures due to on-the-fly starttime changes 2020-11-12 16:58:40 +09:00
smoogipoo
974390bda7 Make Add() + Remove() virtual 2020-11-12 15:36:02 +09:00
smoogipoo
72a6b75626 Add back removed event 2020-11-12 15:34:51 +09:00
smoogipoo
4e43235955 Fix double bind leading to test failures 2020-11-12 15:33:49 +09:00
smoogipoo
653f5bce67 Reword xmldocs 2020-11-12 15:00:58 +09:00
smoogipoo
16e4e8d032 Fix possible nullref 2020-11-12 14:54:33 +09:00
smoogipoo
1f8d376b85 Replace CreatePool() with non-virtual RegisterPool() overload 2020-11-12 14:17:33 +09:00
smoogipoo
5dbbe11fc6 Remove PoolHitObjects, use return value of CreateDrawableRepresentation() instead 2020-11-12 14:04:16 +09:00
smoogipoo
f652eb9982 Remove GetDrawableRepresentation() override, add null hinting 2020-11-12 13:18:44 +09:00
smoogipoo
d7d77460fb Small refactorings 2020-11-12 12:55:42 +09:00
smoogipoo
a8929b0764 Revert unnecessary change of casting 2020-11-11 19:27:07 +09:00
smoogipoo
7fdaf69903 Add some more xmldocs 2020-11-11 19:12:12 +09:00
smoogipoo
606cfacedf Fix state update exception in a better way 2020-11-11 19:01:12 +09:00
smoogipoo
7d02018134 Remove some unnecessary implementations for now 2020-11-11 18:54:40 +09:00
smoogipoo
d7bee80d4e Merge branch 'fix-incorrect-framestability-value' into hitobject-pooling-base 2020-11-11 18:52:51 +09:00
smoogipoo
90499329bd Fix frame stable playback not being set correctly 2020-11-11 18:50:38 +09:00
smoogipoo
6f7a1dd57d Merge branch 'master' into hitobject-pooling-base 2020-11-11 17:09:18 +09:00
smoogipoo
5d55af5818 Fix hitobjects sometimes not fading in completely with HD mod 2020-11-11 16:35:48 +09:00
Dean Herbert
8706b51b77
Merge pull request #10717 from smoogipoo/dho-apply 2020-11-11 10:54:24 +09:00
smoogipoo
b725c9cce9 Fix possible nullrefs 2020-11-11 00:24:28 +09:00
smoogipoo
e525784cb2 Clear lifetimeEntry after use 2020-11-11 00:24:14 +09:00
smoogipoo
99e5450af3 Cache DrawableRuleset 2020-11-11 00:22:36 +09:00
smoogipoo
66213f2ed0 Add pooling support to DrawableRuleset + Playfield 2020-11-10 23:56:32 +09:00
smoogipoo
31e4d71852 Rewrite HitObjectContainer with pooling support 2020-11-10 22:49:02 +09:00
smoogipoo
6f3f6dc28b Add hitobject lifetime support 2020-11-10 20:16:52 +09:00
smoogipoo
45e9f16f6b Add initial DrawableRuleset interface 2020-11-10 19:27:08 +09:00
smoogipoo
757a4b5c31 Add hitobject lifetime model 2020-11-10 19:26:01 +09:00
smoogipoo
88112801eb Remove result storage from hitobject 2020-11-10 18:56:16 +09:00
smoogipoo
f5076fe3b8 Revert unnecessary change 2020-11-10 18:15:11 +09:00
Bartłomiej Dach
109abc0e29 Always store standardised score when populating ScoreInfo 2020-11-10 08:41:00 +01:00
smoogipoo
d4d3a6621e Disable automatic lifetime management 2020-11-10 01:30:25 +09:00
smoogipoo
ac47399e6e Update state after OnApply() 2020-11-10 00:30:23 +09:00
smoogipoo
ec8b726ea8 Re-privatise start time bindable 2020-11-09 21:51:58 +09:00
Dan Balasescu
33c3b07101
Fix events not being bound correctly
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-11-09 19:06:48 +09:00
Dean Herbert
d93cf08570
Merge branch 'master' into dho-apply 2020-11-07 01:18:46 +09:00
smoogipoo
91c627c22d Revert HOC changes 2020-11-07 00:57:33 +09:00
smoogipoo
b1e039bcec Prevent overrides from messing with application/freeing 2020-11-07 00:40:26 +09:00
smoogipoo
3a4bd73823 Fix DHOs being freed when not expected 2020-11-07 00:25:26 +09:00
smoogipoo
7eceda242b Change derived class to use property 2020-11-06 23:04:28 +09:00
smoogipoo
2d892c7407 Allow Apply() to be called multiple times sequentially 2020-11-06 23:03:29 +09:00
smoogipoo
248d342a2f Initial Apply()/FreeAfterUse() DHO implementation 2020-11-06 23:02:37 +09:00
Dan Balasescu
f230250faf
Merge branch 'master' into editor-slider-control-point-quick-delete 2020-11-06 21:47:37 +09:00
Dan Balasescu
44c6457c85
Merge branch 'master' into add-spinner-spin 2020-11-06 15:40:40 +09:00
Dan Balasescu
71a1165209
Merge branch 'master' into drawable-hit-object-hit-state-fix 2020-11-06 13:19:25 +09:00
Dean Herbert
a0b3379909 Fix judgement offsets being zero when windows are empty 2020-11-05 18:58:37 +09:00
Dean Herbert
2bbdbfda5c
Merge pull request #10696 from smoogipoo/visibility-adjustment-mod 2020-11-05 18:18:57 +09:00
Dean Herbert
2d50a7b616
Fix a few xmldoc typos 2020-11-05 17:38:02 +09:00
Dean Herbert
0cadb31947 Merge branch 'master' into drawable-hit-object-hit-state-fix 2020-11-05 17:07:52 +09:00
smoogipoo
9d5b1ec28c Add removal dates 2020-11-05 17:04:11 +09:00
smoogipoo
cc518feca7 Make methods abstract 2020-11-05 16:03:10 +09:00
smoogipoo
a219aa7ba2 Add xmldoc 2020-11-05 15:53:35 +09:00
smoogipoo
628b8be15d Implement ModWithVisibilityAdjustment 2020-11-05 15:40:25 +09:00
smoogipoo
9a7fcadabc Use BDL for top-level osu! DHOs 2020-11-05 13:51:46 +09:00
Dean Herbert
68b7efe4d5 Change order of execution to be chronological 2020-11-04 17:14:23 +09:00
Dean Herbert
831325978a Always execute UpdateHitStateTransforms (even for idle) 2020-11-04 17:14:23 +09:00
Dean Herbert
3b6cf95f49 Remove parameter from StartTime method and add obsoleted previous version 2020-11-04 16:39:52 +09:00
Dean Herbert
7f30140b7e Add new method handling hit state specifically
Until now UpdateStateTransforms was applying results offsets to
StartTime. This didn't cover the case of a HitObject with duration,
where the call would be made with `StartTime + hitOffset` rather than
`EndTime + hitOffset`.

To resolve this, a new method has been added which should be used to
handle hit-specific state transforms.
2020-11-04 16:13:14 +09:00
Dean Herbert
9f333ac58a Add the ability to delete slider control points using shift+right click
Closes https://github.com/ppy/osu/issues/10672.

In two minds about how this should be implemented but went in this
direction initially. The other way would be to add local handling of
Shift-Right Click inside PathControlPointPiece (which is already doing
mouse handling itself).
2020-11-03 20:46:33 +09:00
Dan Balasescu
04178e9458
Merge branch 'master' into spectator-replay-watcher 2020-11-02 14:54:51 +09:00
Dan Balasescu
1b53e6c782
Merge branch 'master' into sample-lookup-improvements 2020-11-02 13:04:35 +09:00
Bartłomiej Dach
2b0bea535e Resolve CA1805 inspections
"Member is explicitly initialized to its default value"
2020-11-01 18:47:40 +01:00
Bartłomiej Dach
b7696c85ad Add more xmldocs 2020-11-01 15:23:03 +01:00
Dean Herbert
b4e5311014 Move initial state set inside updateClock 2020-10-30 20:39:25 +09:00
Dean Herbert
1bd461f229 Move clock logic back to inside updateClock method 2020-10-30 20:21:14 +09:00
Dean Herbert
32e68a6a3c Fix FramedReplayInputHandler incorrectly blocking in streaming mode when time requested is before the first frame
Most of this is just tidying up the logic to (hopefully) be better to
follow, again (again (again)).

The actual fix is that we now allow interpolation/playback when the
incoming time is less than the first frame's time, regardless of
receiving status.
2020-10-30 16:09:03 +09:00
Dean Herbert
0f997386ae Fix direction and IsRunning not updating on first frame after becoming valid
The parent clock will not unpause until WaitingForFrames becomes false,
so I've moved the set of that before we start to propagate its values
across. Doesn't fix any visible issue but should make propagation one
game loop faster.
2020-10-30 15:26:23 +09:00
Dean Herbert
326fd03525 Fix loop not exiting after first valid frame 2020-10-30 15:25:53 +09:00
Dean Herbert
8e6c803900 Avoid running full updateClock loop when waiting on frames 2020-10-30 12:39:11 +09:00
Dean Herbert
2ea4aa0a37 Fix incorrect specification on some sample lookups 2020-10-30 11:59:41 +09:00
Dean Herbert
87be7d162b
Merge branch 'master' into spectator-replay-watcher 2020-10-30 00:25:17 +09:00
Dean Herbert
335d150a13 Fix aim time being mutated inside update loop 2020-10-29 18:11:50 +09:00
Dean Herbert
2671d371da Move clock retrieval to new correct location 2020-10-29 15:28:39 +09:00
Dean Herbert
3ea27e23e8 Update namespace references 2020-10-29 15:20:10 +09:00
Dean Herbert
db2b00068f Avoid sourcing parent clock when in a paused state 2020-10-29 14:48:56 +09:00
Dean Herbert
d91456dc29 Move initial validity check out of loop for clarity 2020-10-29 14:25:47 +09:00
Dean Herbert
2e5a8b2287 Fix xmldoc to read better in new context 2020-10-29 13:16:31 +09:00
Dan Balasescu
a022b869eb
Merge branch 'master' into frame-stability-clean-up 2020-10-29 13:02:17 +09:00
Bartłomiej Dach
a1696942f0 Merge branch 'master' into right-click-circle-delete 2020-10-28 22:12:14 +01:00
Bartłomiej Dach
202fe09306 Group selection actions back up in SelectionHandler 2020-10-28 22:06:48 +01:00
Dean Herbert
6eddd76bdc Simplify FramedReplayInputHandler's SetFrame implementation 2020-10-28 16:03:23 +09:00
Dean Herbert
09da75b143 Merge branch 'frame-stability-clean-up' into spectator-replay-watcher 2020-10-28 15:34:46 +09:00
Dean Herbert
2b1e79a4e8 Simplify state changes further 2020-10-28 15:32:20 +09:00
Dean Herbert
c9515653b3 Restore previous directionality logic to avoid logic differences 2020-10-28 15:31:57 +09:00
Dean Herbert
77d807d0f5 Merge branch 'frame-stability-clean-up' into spectator-replay-watcher 2020-10-28 15:26:02 +09:00
Dean Herbert
59e9c2639a Remove try-finally 2020-10-28 15:16:56 +09:00
Dean Herbert
a06516c900 Extract out frame stability state into enum for (hopefully) better clarity 2020-10-28 15:15:15 +09:00
Dean Herbert
8c9bda2ded Split out replay update method 2020-10-28 15:14:06 +09:00
Dean Herbert
9b9a41596f Split out frame stability calculation to own method 2020-10-28 15:14:06 +09:00
Dean Herbert
3e5322541d Make direction setting more clear 2020-10-28 14:35:42 +09:00
Dean Herbert
b3d793a505 Fix gameplay proceeding when no frames have been received yet 2020-10-27 18:58:37 +09:00
Dean Herbert
851d45d2eb Add sane pausing logic 2020-10-27 18:58:37 +09:00
Dean Herbert
9e6b0a42ec Allow FrameStabilityContainer to handle waiting-for-data state better (and pause outwards) 2020-10-27 18:58:37 +09:00
Dean Herbert
400542bc0b Ensure frames arrive 2020-10-27 18:58:37 +09:00
Dean Herbert
b8beac27ce Use previous logic for catching-up mode 2020-10-27 17:14:41 +09:00
Dean Herbert
09087faf3b Fix non-matching filename 2020-10-27 14:23:24 +09:00
Dean Herbert
9cfb81589e Use bindable flow instead 2020-10-27 14:10:12 +09:00
Dean Herbert
6853da459d Move sample pausing logic out of FrameStabilityContainer 2020-10-27 13:54:33 +09:00
Dean Herbert
27c1a4c4d3 Move right-click deletion logic to be handled at a SelectionBlueprint level 2020-10-27 12:53:54 +09:00
Dean Herbert
266596d404
Merge branch 'master' into right-click-circle-delete 2020-10-27 12:02:29 +09:00
Bartłomiej Dach
7392876b5f Fix mania crashing due to spectator client handling frames with unconverted beatmap 2020-10-27 00:35:25 +01:00
Bartłomiej Dach
3f8c4c57d0 Fix code style issues & restructure 2020-10-26 22:16:28 +01:00
Dean Herbert
05697dfe68 Add spectator state object support 2020-10-22 17:48:15 +09:00
Dean Herbert
96049c39c9 Add begin/end session logic 2020-10-22 17:48:15 +09:00
Dean Herbert
175fd512b0 Send frames to streaming client from replay recorder 2020-10-22 17:48:15 +09:00
Dean Herbert
411ae38605 Remove unused using 2020-10-20 15:06:31 +09:00
Dean Herbert
267b399f9f Add some simple border styles 2020-10-20 13:59:03 +09:00
Bartłomiej Dach
7c388f1132 Move editor playfield border locally to osu! composer 2020-10-19 21:20:13 +02:00
Bartłomiej Dach
4267d23d59 Move border to more appropriate namespace 2020-10-19 20:56:34 +02:00
Bartłomiej Dach
053c7a69a6 Fix code style issues & compilation failures 2020-10-19 20:22:48 +02:00
Dean Herbert
22bde43106
Merge branch 'master' into visible-playfield-boundary 2020-10-19 18:05:28 +09:00
Dan Balasescu
fe51236c00
Merge branch 'master' into score-test 2020-10-19 15:55:52 +09:00
Bartłomiej Dach
5b96f01564 Fix key counter actions displaying out of order 2020-10-18 19:21:36 +02:00
smoogipoo
6385d5f369 Replace with local tolist 2020-10-16 23:40:44 +09:00
smoogipoo
81cc5e1c42 Silence EF warning due to ordinal being unsupported 2020-10-16 23:31:37 +09:00
Berkan Diler
fe3a23750c Use char overloads for string methods 2020-10-16 11:52:29 +02:00
Dean Herbert
cc41845f56 Add missing string function ordinal specifications 2020-10-16 12:49:31 +09:00
Dan Balasescu
5640d33d1a
Merge branch 'master' into skin-disabler-refactor 2020-10-15 18:32:50 +09:00
Dean Herbert
ef2e2894a2
Merge branch 'master' into fix-mania-diffcalc 2020-10-14 23:49:14 +09:00
Dean Herbert
1684c4f412
Merge pull request #10503 from smoogipoo/fix-mod-combinations
Fix MultiMod difficulty calculator combinations not generating correctly
2020-10-14 23:42:59 +09:00
Dean Herbert
8b864c8c22
Merge branch 'master' into fix-multimod-copy 2020-10-14 22:29:38 +09:00
smoogipoo
ed57b1363f Remove unused usings 2020-10-14 20:08:46 +09:00
smoogipoo
c4fdd35223 Fix same-type incompatibility through multimod 2020-10-14 19:53:37 +09:00
Dean Herbert
e3eaba7b2c Move ISampleDisabler implementation to Player and FrameStabilityContainer 2020-10-14 19:39:48 +09:00
smoogipoo
e9ebeedbe2 Refactor generation 2020-10-14 19:32:30 +09:00
smoogipoo
d7a52e97ff Fix multimod difficulty combinations not generating correctly 2020-10-14 19:03:11 +09:00
smoogipoo
f04aec538f Fix MultiMod throwing exceptions when creating copies 2020-10-14 18:12:19 +09:00
Dean Herbert
207c409792
Merge branch 'master' into fix-mania-diffcalc 2020-10-14 15:26:32 +09:00
Bartłomiej Dach
1af17fbd5e
Merge branch 'master' into fix-early-break-cull 2020-10-13 18:02:08 +02:00
smoogipoo
372761a46f More/better commenting 2020-10-12 19:22:34 +09:00
smoogipoo
eb4ef157ca Fix implicit segments not being constructed correctly 2020-10-12 19:16:37 +09:00
smoogipoo
48c0ae40ef Fix multi-segment sliders not parsing correctly 2020-10-12 18:04:28 +09:00
smoogipoo
8f37d2290a Expose sorting of hitobjects 2020-10-09 21:43:46 +09:00
smoogipoo
485a951281 Expose current strain and retrieval of peak strain 2020-10-09 21:42:43 +09:00
smoogipoo
d536a1f75e Fix breaks being culled too early 2020-10-09 21:04:56 +09:00
smoogipoo
696e3d53af Fix slider samples being overwritten by the last node 2020-10-09 20:50:09 +09:00
Dan Balasescu
93f5ea57a5
Merge pull request #10427 from peppy/fix-hidden-first-object
Fix first hitobject in osu! hidden mod not getting correct fade applied
2020-10-09 19:23:47 +09:00
Dan Balasescu
62690e4873
Merge pull request #10432 from peppy/editor-reverse-pattern
Add "reverse pattern" support to editor selection handler
2020-10-09 19:19:24 +09:00
Dan Balasescu
6572ce5f36
Merge pull request #10441 from peppy/editor-selection-blueprint-performance
Improve performance of slider blueprints
2020-10-09 18:01:25 +09:00
Dean Herbert
beec0e4193 Hide children of SelectionBlueprint when not selected 2020-10-09 14:03:13 +09:00
Dean Herbert
07558b5bc0 Merge branch 'master' into ruleset-result-types 2020-10-09 13:17:05 +09:00
Dean Herbert
6649cb2204 Fix incorrect first object logic 2020-10-09 06:41:53 +09:00
Dean Herbert
eacc7dca9a Fix SliderPath not handling Clear correctly 2020-10-09 06:31:59 +09:00
Dean Herbert
2d0275ba95 Fix first hitobject in osu! hidden mod not getting correct fade applied 2020-10-09 03:07:01 +09:00
Bartłomiej Dach
7109c3b6cd Rename variable as suggested 2020-10-07 21:06:24 +02:00
Endrik Tombak
2b6e4e575e Award max combo portion score if max achievable is 0 2020-10-07 17:04:55 +03:00
Endrik Tombak
74af7cc503 Rework ScoreProcessor 2020-10-07 17:00:00 +03:00
Dean Herbert
1566882dc4
Merge pull request #10338 from Game4all/perf-calculator-remove-working-beatmap
Remove WorkingBeatmap from PerformanceCalculator
2020-10-07 20:04:24 +09:00
Dean Herbert
3c3c1ce885 Don't force playback of (non-looping) DrawableHitObject samples after skin change 2020-10-07 18:18:01 +09:00
Dean Herbert
04fa0bff9d Add CanBeNull spec and xmldoc 2020-10-07 17:46:57 +09:00
Dean Herbert
f1a3b6d0ba Merge branch 'master' into perf-calculator-remove-working-beatmap 2020-10-07 17:43:17 +09:00
Dean Herbert
3363c3399e Allow rulesets to specify valid HitResult types (and display names for them) 2020-10-07 15:34:23 +09:00
Dean Herbert
a8151d5c63 Fix HitWindows getting serialized alongside HitObjects
These were being serialized as the base type. On deserialization, due to
the HitWindow of objects being non-null, they would not get correctly
initialised by the CreateHitWindows() virtual method.

- Closes #10403
2020-10-07 13:45:42 +09:00
Lucas A
f5a6beb4e5 Remove obsoletion notice. 2020-10-06 19:01:03 +02:00
Dan Balasescu
12c84df208
Merge pull request #10371 from peppy/fix-gameplay-seek-sample-pausing
Fix seeking in replays not correctly pausing samples
2020-10-05 17:13:43 +09:00
Dean Herbert
c622adde7a Rename method back and add xmldoc 2020-10-05 16:24:02 +09:00
Dean Herbert
0605bb9b8d Fix incorrect parent state transfer 2020-10-05 16:20:29 +09:00
Dean Herbert
9f43dedf59 Fix missing line 2020-10-05 15:12:34 +09:00
Dean Herbert
758088672c Don't stop non-looping samples immediately when pausing 2020-10-05 15:07:46 +09:00
Dean Herbert
ae8bf8cdd4 Fix StabilityGameClock not being updated 2020-10-05 14:27:51 +09:00
Dean Herbert
e4710f82ec Fix sample disabled status not being updated correctly from seek state 2020-10-05 14:27:51 +09:00
Dean Herbert
af7d10afe0 Fix FrameStabilityContainer not re-caching its GameplayClock correctly 2020-10-05 14:27:51 +09:00
Dean Herbert
5dea37792c
Merge branch 'master' into health-adjustments 2020-10-04 21:38:40 +09:00
Dean Herbert
ec30ca24c5
Merge pull request #10343 from bdach/hitresult-miss-fixes
Replace direct references to HitResult.Miss wherever applicable
2020-10-04 21:36:26 +09:00
Lucas A
d7747ebb2d Remove unused WorkingBeatmap argument. 2020-10-03 16:51:22 +02:00
Dean Herbert
a864f2906f
Merge branch 'master' into health-adjustments 2020-10-03 22:50:19 +09:00
Bartłomiej Dach
601675db07 Adjust health increase values to match old ones better 2020-10-03 12:16:22 +02:00
Bartłomiej Dach
309714081f Make new health increase values mania-specific 2020-10-03 12:16:22 +02:00
Bartłomiej Dach
2ddfd79923 Replace object pattern match with simple conditional 2020-10-03 08:09:10 +02:00
Bartłomiej Dach
2b1ef16f89 Replace comparison references to HitResult.Miss with IsHit 2020-10-02 23:31:24 +02:00
Lucas A
0163688a17 Remove IBeatmap from PerformanceCalculator. 2020-10-02 19:24:30 +02:00
Dean Herbert
575046e5fd Don't update reply on add/remove (will be automatically handled by change handler events) 2020-10-02 18:21:13 +09:00
Dean Herbert
b7c276093d Add fallback case when EditorChangeHandler is not present (for tests) 2020-10-02 16:21:51 +09:00
Dean Herbert
501e02db09 Only regenerate autoplay on editor state change 2020-10-02 15:44:37 +09:00
Dean Herbert
3069428efe
Merge pull request #10316 from smoogipoo/fix-spinner-flicker
Fix default spinner flashing yellow glow before completion
2020-10-01 22:29:48 +09:00
smoogipoo
ab33434a8a Reword xmldocs to better describe nested events 2020-10-01 21:54:43 +09:00
smoogipoo
042c39ae1b Remove redundant string interpolation 2020-10-01 21:48:45 +09:00
smoogipoo
d7f9b8045c Safeguard againts multiple ApplyResult() invocations 2020-10-01 21:33:54 +09:00
Dan Balasescu
3a81602d0c
Merge pull request #10286 from peppy/fix-hitobject-sample-stuck-on-future-seek
Fix HitObject samples getting stuck in a playing state on seeking far into the future
2020-10-01 18:08:17 +09:00
Dean Herbert
1ec96e1bb1
Merge branch 'master' into adjust-hp-increases 2020-10-01 16:58:29 +09:00
Dean Herbert
b7ac779760 Merge branch 'master' into fix-hitobject-sample-stuck-on-future-seek 2020-10-01 16:46:14 +09:00
smoogipoo
7890319802 Merge branch 'master' into adjust-hit-result-types 2020-10-01 16:19:07 +09:00
smoogipoo
cb6b35116a Merge branch 'master' into scoring-standardisation 2020-10-01 12:28:51 +09:00
smoogipoo
c9f38f7bb6 Add obsoletion notice 2020-10-01 12:28:33 +09:00
Dean Herbert
9d07dce5e4
Merge pull request #10251 from smoogipoo/additional-hit-results 2020-10-01 12:19:48 +09:00
smoogipoo
3a26bd8d9b Adjust obsoletion + xmldoc of NumericResultFor() 2020-10-01 12:14:16 +09:00
smoogipoo
806d8b4b1d Make scoring int-based again 2020-10-01 12:13:24 +09:00
Dean Herbert
4b70fe8585 Merge branch 'fix-storyboard-sample-pausing' into fix-hitobject-sample-stuck-on-future-seek 2020-09-30 22:46:09 +09:00
Dean Herbert
367b35bb10 Merge branch 'master' into fix-storyboard-sample-pausing 2020-09-30 22:42:26 +09:00
smoogipoo
77651be2ca Remove padding from HitResult 2020-09-30 21:32:50 +09:00
Dean Herbert
7f579850dd
Merge branch 'master' into fix-editor-silence-on-seek 2020-09-30 17:03:23 +09:00
Dean Herbert
6cceb42ad5 Remove unused DI resolution 2020-09-30 15:50:53 +09:00
Dean Herbert
414c40d298 Reverse inheritance order of SkinnableSound's pause logic 2020-09-30 15:45:14 +09:00
smoogipoo
cc9fa4675c Adjust HP increases 2020-09-29 17:59:42 +09:00
smoogipoo
91262620d3 Remove XMLDocs from Ok/Perfect hit results 2020-09-29 17:17:06 +09:00
smoogipoo
bad48d6d44 Merge branch 'master' into scoring-standardisation 2020-09-29 16:33:38 +09:00
smoogipoo
bc8f6a58fd Update PF/SD with new hit results 2020-09-29 16:33:38 +09:00
smoogipoo
31fae045fa Update judgement processors with new hit results 2020-09-29 16:33:38 +09:00
smoogipoo
a1394c1830 Fix a few missed judgements 2020-09-29 16:33:38 +09:00
smoogipoo
6264a01ecc Add guard against using the wrong hit result 2020-09-29 16:33:38 +09:00
smoogipoo
519f376e7b Standardise Judgement across all rulesets 2020-09-29 16:33:38 +09:00
smoogipoo
07226c79b6 Add xmldocs 2020-09-29 16:33:23 +09:00
smoogipoo
cee58e89a3 Pad hit results 2020-09-29 16:32:02 +09:00
Dean Herbert
5d1c377379 Fix HitObject samples getting stuck in a playing state on seeking far into the future 2020-09-29 15:07:55 +09:00
smoogipoo
1a70002cdd Split ignore into hit/miss 2020-09-29 14:41:50 +09:00
Dean Herbert
136843c8e4 Make DrawableStoryboardSample a SkinnableSound
Allows sharing pause logic with gameplay samples.
2020-09-29 14:25:39 +09:00
Dean Herbert
d6f3beffb6 Use existing bindable flow instead 2020-09-29 12:50:17 +09:00
Dean Herbert
4f0c0ea5f9 Fix hit samples playing while paused / seeking in the editor 2020-09-28 18:17:47 +09:00
Dean Herbert
fd58a24183
Merge branch 'master' into fix-spinner-rpm-user-rate-adjust 2020-09-28 17:45:48 +09:00
Dean Herbert
524c2b678c Forcefully regenerate autoplay on editor changes 2020-09-28 15:48:42 +09:00
Dean Herbert
ff7c904996 Add autoplay mod in editor specific ruleset construction 2020-09-28 15:48:42 +09:00
Dean Herbert
e8220cf1b6 Allow attaching a replay to a FrameStabilityContainer when FrameStablePlayback is off 2020-09-28 15:47:11 +09:00
smoogipoo
9a24346a00 Fix HP drain edgecase potentially causing insta-fails 2020-09-25 23:29:40 +09:00
smoogipoo
4bcc3ca828 Add AffectsAccuracy extension 2020-09-25 22:16:14 +09:00
Dean Herbert
b2261f03e2
Merge branch 'master' into fix-spinner-rpm-user-rate-adjust 2020-09-25 20:21:35 +09:00
smoogipoo
1c4baa4e2a Add bonus hit results and orderings 2020-09-25 20:11:27 +09:00
Dan Balasescu
f588cf459d
Merge pull request #10243 from peppy/editor-ternary-buttons
Add ternary toggle buttons to editor toolbox selection
2020-09-25 19:37:18 +09:00
Dan Balasescu
8c45786841
Merge pull request #10247 from peppy/fix-editor-missed-state-changes
Forcefully re-apply DrawableHitObject state transforms on post-load DefaultsApplied
2020-09-25 19:00:45 +09:00
Dean Herbert
8e6bf516d9
Merge branch 'master' into editor-ternary-buttons 2020-09-25 18:30:59 +09:00
Dean Herbert
59bfa08684 Forcefully re-apply DrawableHitObject state transforms on post-load DefaultsApplied 2020-09-25 18:26:54 +09:00
Dean Herbert
346d14d40b Rename variables to match 2020-09-25 17:45:19 +09:00
Dean Herbert
22511c36c3 Ensure toggles are not instantiated more than once for safety 2020-09-25 17:43:09 +09:00
Dan Balasescu
7b09f73fe5
Merge branch 'master' into new-combo-toggle 2020-09-25 17:33:12 +09:00
Dan Balasescu
e1fc8d76fb
Merge branch 'master' into editor-dont-block-keys-unnecessarily 2020-09-25 17:31:41 +09:00
Dean Herbert
b70a20e7f1 Avoid consuming keystrokes in editor when a modifier key is held down 2020-09-25 16:56:39 +09:00
Dean Herbert
da820c815e Add shortcut keys to toolbox gorup titles 2020-09-25 16:46:06 +09:00
Dean Herbert
a6298c60eb Fix button spacing 2020-09-25 16:44:37 +09:00
Dean Herbert
ae68dcd962 Add ternary toggle buttons to editor toolbox selection 2020-09-25 16:38:12 +09:00
Dan Balasescu
69d057a8b3
Merge branch 'master' into fix-taiko-editor-type-stats 2020-09-25 14:53:47 +09:00
Dean Herbert
e009264f10 Add new combo toggle to main composer interface 2020-09-25 14:10:30 +09:00
Dean Herbert
bca774a0d4 Allow BlueprintContainer to specify toggles 2020-09-25 14:09:31 +09:00
Dean Herbert
3c191cfe25 Add basic xmldoc to HitObjectComposer 2020-09-25 14:08:47 +09:00
Dean Herbert
325bfdbf71 Fix hard crash on hitting an out of range key (Q~P) 2020-09-25 13:25:42 +09:00
Dean Herbert
892d440ed0 Add fallback path for potential null ParentGameplayClock 2020-09-25 13:19:07 +09:00
Dean Herbert
7df8b5bce7 Merge branch 'master' into fix-spinner-rpm-user-rate-adjust 2020-09-25 13:17:03 +09:00
Dean Herbert
dc85bcd470
Merge pull request #10229 from smoogipoo/fix-ruleset-disposal
Fix rulesets disposing game-wide texture store
2020-09-24 22:54:45 +09:00
Dean Herbert
6ebea3f6f2 Add ability to toggle editor toggles using keyboard shortcuts (Q~P) 2020-09-24 16:24:25 +09:00
smoogipoo
62c2dbc310 Nest classes + make private 2020-09-24 14:33:43 +09:00
smoogipoo
600b823a30 Fix game texture store being disposed by rulesets 2020-09-24 14:30:18 +09:00
Dean Herbert
33fad27ec2 Avoid API change to DrawableHitObject 2020-09-24 13:28:29 +09:00
Dean Herbert
00b0228b61 Merge branch 'master' into fix-taiko-editor-type-stats 2020-09-24 13:18:13 +09:00
Dean Herbert
26d1c4322d
Merge pull request #10200 from peppy/fix-hit-object-container-unbinding
Fix HitObjectContainer not correctly unbinding from startTime fast enough
2020-09-23 21:17:31 +09:00
Dan Balasescu
d1e41e41f7
Merge pull request #10214 from peppy/new-combo-editor-toggle
Add the ability to toggle new combo state from composer context menu
2020-09-23 19:46:55 +09:00
Dean Herbert
fee379b4b9 Reword xmldoc for legibility 2020-09-23 18:12:07 +09:00
Dean Herbert
9a0e5ac154 Handle type/strength changes from samples changes 2020-09-23 18:09:40 +09:00
Dean Herbert
a1ec167982 Add the ability to toggle new combo state from composer context menu 2020-09-23 16:38:16 +09:00
Joehu
c5b684bd2e Fix typo in log when beatmap fails to load 2020-09-23 00:30:20 -07:00
Dan Balasescu
fbaa6675c2
Merge branch 'master' into fix-hit-object-container-unbinding 2020-09-23 12:05:14 +09:00
Dean Herbert
e0a2321822 Reduce complexity of AllHitObjects enumerator when nested playfields are not present 2020-09-22 18:17:04 +09:00
Dean Herbert
3f788da06d Fix SPM changing incorrectly with playback rate changes 2020-09-21 19:39:54 +09:00
Dean Herbert
dd5b15c64f Fix HitObjectContainer not correctly unbinding from startTime fast enough 2020-09-21 18:27:15 +09:00
smoogipoo
73a7b759cb Add missing obsoletion notice 2020-09-17 17:04:44 +09:00
Dean Herbert
7f2ce14f36
Merge pull request #9294 from smoogipoo/morth-taiko-changes 2020-09-15 16:11:17 +09:00
Dean Herbert
a8b405791a Fix non-convert slider and spinner serialization 2020-09-14 17:32:32 +09:00
Dean Herbert
432c3e17eb Fix toolbox becoming inoperable due to incorrect ordering 2020-09-11 20:23:34 +09:00
Dean Herbert
139a5acd1b Fix editor hitobjects getting masked weirdly
Closes #10124
2020-09-11 20:16:50 +09:00
Bartłomiej Dach
a350802158 Fix wrong mono streak length handling in corner case 2020-09-10 20:50:26 +02:00
smoogipoo
447fd07b4e Fix maps with only bonus score having NaN scores 2020-09-11 01:13:55 +09:00
Dean Herbert
ef44c7d063
Merge branch 'master' into score-recalc 2020-09-10 18:30:41 +09:00
smoogipoo
d700ae55fb Merge branch 'master' into morth-taiko-changes 2020-09-10 16:34:09 +09:00
Dan Balasescu
6f6adb61d7
Merge pull request #10099 from peppy/add-editor-tool-icons
Add icons for editor toolbox tools
2020-09-09 22:22:58 +09:00
smoogipoo
be2d34d5dc Merge branch 'master' into score-recalc 2020-09-09 21:31:31 +09:00
Dan Balasescu
53a9804455
Merge branch 'master' into add-editor-tool-icons 2020-09-09 21:21:56 +09:00
Dean Herbert
d210e05629 Add a touch of spacing between toolbox groups 2020-09-09 19:20:11 +09:00
Dean Herbert
fb2aced3ac Add toggle for distance snap 2020-09-09 19:15:35 +09:00
Dean Herbert
d3957e6155 Move title specification for settings groups to constructor
Using an abstract property was awkward for this as it is being consumed
in the underlying constructor but could not be dynamically set in time from a
derived class.
2020-09-09 18:50:31 +09:00
Dean Herbert
c9f5005efd Add icons for editor toolbox tools 2020-09-09 18:40:01 +09:00
smoogipoo
37a659b2af Refactor/add xmldocs 2020-09-09 17:36:47 +09:00
smoogipoo
e271408fca Move max score calculation inside ScoreProcessor 2020-09-09 16:51:53 +09:00
smoogipoo
117c7ec6b2 Merge branch 'master' into score-recalc 2020-09-09 14:38:36 +09:00
Yao Chung Hu
96f39dd350 Merge remote-tracking branch 'upstream/master' into visible-playfield-boundary 2020-09-05 01:50:13 -05:00
smoogipoo
1143d5d992 Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
smoogipoo
d387c0cba0 Merge branch 'master' into morth-taiko-changes 2020-09-03 17:35:26 +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
1c1afa1c96 Move MaxCombo to base DifficultyAttributes 2020-08-28 19:16:20 +09:00
Dean Herbert
b51db90147 Merge branch 'master' into beatmap-track-rework 2020-08-26 23:20:56 +09:00
Dean Herbert
127330b8f9 Add 1ms lenience to avoid potential precision issues 2020-08-25 20:57:31 +09:00
Dean Herbert
6c7475f085 Fix snapped distances potentially exceeding the source distance
This results in slider placement including "excess" length, where the
curve is not applied to the placed path. This is generally not what we
want.

I considered adding a bool parameter (or enum) to change the
floor/rounding mode, but on further examination I think this is what we
always expect from this function.
2020-08-25 18:58:01 +09:00
Dean Herbert
357fb3a10e Merge branch 'master' into beatmap-track-rework 2020-08-21 12:53:09 +09:00
Dean Herbert
3eac81eb52
Merge pull request #9891 from smoogipoo/mania-mod-invert 2020-08-19 19:12:02 +09:00
Bartłomiej Dach
6c759f31f1 Add and use limited capacity queue 2020-08-18 20:19:58 +02:00
smoogipoo
a4ad0bd174 Ensure 0 score from miss judgements, add test 2020-08-18 19:51:26 +09:00
smoogipoo
583760100a Implement mania invert mod 2020-08-18 01:40:55 +09:00
Dean Herbert
e465afa280 Merge branch 'master' into beatmap-track-rework 2020-08-14 20:02:43 +09:00
smoogipoo
3cb22fad82 Fix mods sharing bindable instances 2020-08-13 19:48:31 +09:00
Dean Herbert
429ad783cf Merge branch 'update-framework' into beatmap-track-rework 2020-08-12 23:35:46 +09:00
smoogipoo
e47a1eb313 Use adjustable ITrack 2020-08-12 01:41:21 +09:00
Dean Herbert
471ed968e3 Fix crash when same ruleset loaded more than once
If the same ruleset assembly was present more than once in the current
AppDomain, the game would crash. We recently saw this in Rider EAP9.
While this behaviour may change going forward, this is a good safety
measure regardless.
2020-08-11 11:09:02 +09:00
smoogipoo
bf21fdd6da Merge branch 'master' into beatmap-track-rework 2020-08-07 18:41:34 +09:00
Dean Herbert
c84452cfbf Update usages 2020-08-06 21:53:20 +09:00
smoogipoo
7c3ae4ed42 Remove generics from IApplicableToTrack 2020-08-06 18:25:34 +09:00
smoogipoo
e8ab3cff3c Add class constraint 2020-08-06 17:02:47 +09:00
smoogipoo
5c05fe3988 Expose track from MusicController 2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c Move track to MusicController, compiles 2020-08-06 16:24:14 +09:00
smoogipoo
9a00ad48c6 Update components to use extension methods 2020-08-06 14:43:39 +09:00
Dan Balasescu
b448ca3efe
Merge branch 'master' into merge-global-to-legacy 2020-08-03 16:00:52 +09:00
Dean Herbert
62ba214dad Use OrderByDescending 2020-07-31 16:21:47 +09:00
smoogipoo
23ab6f8f94 Fix dynamic compilation loading wrong ruleset versions 2020-07-30 21:10:13 +09:00
Salman Ahmed
5439099b7c Merge GlobalSkinConfiguration settings into the LegacySetting enum 2020-07-29 10:35:51 +03:00
Dean Herbert
a210deee9a Remove unnecessary depth setter 2020-07-28 12:16:01 +09:00
Bartłomiej Dach
5fc7039bf2 Prevent DrawableJudgement from removing other children 2020-07-27 19:07:21 +02:00
smoogipoo
8f841b47e6 Cancel previous initial state computations 2020-07-24 19:31:08 +09:00
smoogipoo
5f98195144 Load nested hitobjects during map load 2020-07-24 18:16:36 +09:00
smoogipoo
c348599189 Merge branch 'master' into add-slider-slide-support 2020-07-23 21:24:45 +09:00
Dan Balasescu
2997fb3f4e
Merge pull request #9635 from peppy/perfect-mod-combo-objects-only
Make perfect mod ignore all non-combo-affecting hitobjects
2020-07-23 20:54:39 +09:00
Dean Herbert
ac602846df Expose balance and sample loading methods in DrawableHitObject 2020-07-22 16:37:58 +09:00
Dean Herbert
c1442568b9 Make perfect mod ignore all non-combo-affecting hitobjects 2020-07-21 17:04:45 +09:00
Dean Herbert
648e414c14 Update InputHandlers in line with framework changes 2020-07-19 11:39:11 +09:00
smoogipoo
6b2b3f4d4d Expose accuracy/combo portion adjustments 2020-07-16 14:10:44 +09:00
smoogipoo
e95a1beaef Update state after applying hitobject 2020-07-15 16:53:27 +09:00
Dan Balasescu
f3a498482b
Merge pull request #9553 from peppy/difficulty-adjust-range-match-stabl
Change difficulty adjust mod to match stable range of 0-10
2020-07-14 20:12:28 +09:00
Dean Herbert
b59e4f8a7e Change difficulty adjust mod to match stable range of 0-10 2020-07-14 08:15:14 +09:00
smoogipoo
8a3cadc111 Fix judgement animations not resetting on use 2020-07-13 21:21:59 +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
Yao Chung Hu
0d95b768aa Rename and Move EditorPlayfieldBorder to PlayfieldBorder for general purpose 2020-07-10 07:34:48 -05:00
Dean Herbert
f872343bab Make Apply virtual to further simplify application process 2020-07-10 18:35:20 +09:00
Dean Herbert
8aff828dfe Move application of judgements to Apply method 2020-07-10 18:34:31 +09:00
Yao Chung Hu
8121ccaad0 Change Box to EditorPlayfieldBorder 2020-07-09 15:00:26 -05:00
Yao Chung Hu
321815f535 Add playfield bounds box with toggle and dim slider 2020-07-09 14:01:28 -05:00
Dean Herbert
51050ec4ef Add per-result type pooling 2020-07-06 12:54:39 +09:00
Dean Herbert
ffec4298a7 Use DrawablePool for DrawableJudgements 2020-07-04 16:45:50 +09:00
Dan Balasescu
0cd49d81f1
Merge branch 'master' into fix-rank-badge-hd-fl-score-panel 2020-07-03 17:30:16 +09:00
Joehu
d66b97868c Adjust rank when flashlight is enabled 2020-07-02 12:39:37 -07:00
Dean Herbert
fc8c345ad7
Merge branch 'master' into custom-game-storage 2020-07-02 09:55:33 +09:00
Dean Herbert
49aa839872 Update RulesetInputManager to use new method 2020-07-01 18:54:11 +09:00
smoogipoo
85c42456f2 Improve performance of sequential scrolling algorithm 2020-06-30 21:41:27 +09:00
Dean Herbert
6547e07e56
Merge pull request #9377 from smoogipoo/fix-unsafe-mod-deserialisation
Fix crash due to unsafe mod deserialisation
2020-06-29 00:02:29 +09:00
Dean Herbert
e5a901cec7
Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-28 22:14:22 +09:00
smoogipoo
bd1f38cc3e Fix crash due to unsafe mod deserialisation 2020-06-26 23:21:44 +09:00
Dan Balasescu
7a6098bfb7
Merge branch 'master' into layered-hit-sounds 2020-06-26 18:38:32 +09:00
Dan Balasescu
1eaa25e75e
Merge branch 'master' into storyboard-sample-rate 2020-06-26 17:29:38 +09:00
Dean Herbert
9119f41604 Merge branch 'master' into results-screen-statistics-overlapping-transition 2020-06-24 18:22:51 +09:00
Bartłomiej Dach
58ffe8c6b6 Merge branch 'master' into layered-hit-sounds 2020-06-23 19:33:16 +02:00
Dean Herbert
14ad3835ff Update naming 2020-06-23 21:27:01 +09:00
Bartłomiej Dach
c5049b51c5 Mark normal-hitnormal sample as layered 2020-06-22 20:08:29 +02:00
smoogipoo
2b7fb2b71d Rename to Position 2020-06-22 19:04:51 +09:00
smoogipoo
261adfc4e6 Create a local playable beatmap instead 2020-06-22 18:38:41 +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
486b899e8f Rename method 2020-06-19 22:11:29 +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
5ce2c712d3 Fix statistics not being wrapped by containers 2020-06-19 20:53:43 +09:00
smoogipoo
ad3bc99e7c Fix hit event position offset not being set 2020-06-19 20:49:05 +09:00
smoogipoo
83e6c3efdb Adjust API for returning statistics 2020-06-19 20:31:52 +09:00
smoogipoo
eab00ec9d9 Move hit events to the ScoreProcessor 2020-06-19 19:58:35 +09:00
Ronnie Moir
bed5e857df Add missing license header and remove unused usings 2020-06-17 15:30:23 +01:00
Ronnie Moir
c3e268616f Implement grouping interface IApplicableToAudio 2020-06-17 14:11:00 +01:00
Ronnie Moir
4138f6119f Update rate adjust mods to also use IApplicableToSample 2020-06-16 15:05:37 +01:00
Ronnie Moir
1cf16038a7 Create IApplicableToSample 2020-06-16 14:54:05 +01:00
smoogipoo
a2ddb4edb4 Change interface for creating statistic rows 2020-06-16 17:49:28 +09:00
smoogipoo
89b54be673 Add initial implementation of the statistics panel 2020-06-15 22:45:18 +09:00
smoogipoo
41cec2c216 Merge branch 'master' into results-screen-statistics 2020-06-15 20:13:09 +09:00
Salman Ahmed
eb64c4752c
Merge remote-tracking branch 'upstream/master' into cache-ruleset-dependencies-for-tests 2020-06-15 11:31:12 +03:00
Salman Ahmed
60381d5817
Remove IRulesetTestScene and use OsuTestScene.CreateRuleset() instead 2020-06-15 11:30:48 +03:00
Bartłomiej Dach
e6ddd0380e Rename bool arguments for readability 2020-06-14 18:50:07 +02:00
Bartłomiej Dach
5f0a345eeb Unify method naming 2020-06-14 18:48:49 +02:00
Bartłomiej Dach
9907b4763b Remove redundant default argument value 2020-06-14 18:39:41 +02:00
Ronnie Moir
dc5bb12fa8 Use local helper for selecting adjusted property 2020-06-13 16:32:43 +01:00
Ronnie Moir
77eb428184 Use consistent setting casing 2020-06-13 16:30:21 +01:00
Ronnie Moir
201bfda338 Give ModTimeRamp an adjust pitch setting.
Implement in ModWindDown and ModWindUp
2020-06-13 15:16:27 +01:00
smoogipoo
3b630eabd6 Merge branch 'master' into results-screen-statistics 2020-06-12 17:46:11 +09:00
Dean Herbert
3ae1df07b0 Fix a couple more new formatting issues 2020-06-10 00:09:29 +09:00
Dean Herbert
7dc19220e5 Apply new resharper formatting fixes 2020-06-09 23:38:54 +09:00
smoogipoo
88aed1d504 Merge branch 'master' into update-inspectcode-version 2020-06-09 20:12:39 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
Dan Balasescu
73467410ab
Merge pull request #9192 from peppy/fix-redundant-override
Fix redundant override showing up in build warnings
2020-06-03 16:15:33 +09:00
Dean Herbert
1992a3db54 Fix redundant override showing up in build warnings 2020-06-03 15:50:00 +09:00
Dean Herbert
5740fc2bd0
Merge pull request #9168 from Game4all/fix-ruleset-no-autoplay
Fix crash after using Ctrl+Enter when current ruleset doesn't have an autoplay mod
2020-06-03 12:50:57 +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
Dean Herbert
a3e31adbf9
Merge pull request #9146 from peppy/taiko-editor
Implement osu!taiko editor
2020-06-02 21:49:20 +09:00
Dan Balasescu
427dbf7f58
Merge branch 'master' into update-framework 2020-06-02 20:54:50 +09:00
Lucas A
f63c66396f Apply review suggestions. 2020-06-02 13:32:52 +02:00
Dean Herbert
64550fe87c
Merge branch 'master' into fix-draining-in-between-break-sections 2020-06-02 16:06:08 +09:00
Dean Herbert
1b94048956 Merge branch 'replace-use-of-current-directory' into update-framework 2020-06-02 14:55:28 +09:00
Dean Herbert
6c8c95677f Fix incorrect usage of Directory.GetFiles 2020-06-02 14:55:10 +09:00
Dean Herbert
c59d750420 Merge branch 'replace-use-of-current-directory' into update-framework 2020-06-02 14:31:09 +09:00
Lucas A
e9b09373e7 Fix crashing if selected ruleset doesn't have an autoplay mod. 2020-06-01 17:41:04 +02:00
Dan Balasescu
a8b137bb71
Merge pull request #9123 from peppy/move-setter-to-duration
Move setter from EndTime to Duration
2020-06-01 16:52:38 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration 2020-06-01 15:55:48 +09:00
Dean Herbert
780611a954
Merge branch 'master' into taiko-editor 2020-06-01 15:39:02 +09:00
Dean Herbert
b9464a2aa8
Merge branch 'master' into editor-create-composer-fix 2020-06-01 15:38:15 +09:00
Dean Herbert
1a427bf709
Merge pull request #9115 from peppy/i-has-curve-with-repeats
Split out IHasPath from IHasCurve to better define hitobjects
2020-06-01 15:37:38 +09:00
smoogipoo
cac6e93575 Restore original IHasCurve implementation 2020-06-01 15:11:58 +09:00
smoogipoo
53b58910c3 Invert interface definition 2020-06-01 14:27:39 +09:00
Salman Ahmed
2c6887e610
Remove unnecessary use of and remove StartupStorage 2020-05-31 19:49:03 +03:00
Dean Herbert
d5c31f390b Merge branch 'move-setter-to-duration' into taiko-editor 2020-05-31 22:42:53 +09:00
Dean Herbert
e688033967 Fix incorrect xmldoc 2020-05-31 22:39:03 +09:00
Dean Herbert
19be111da0
Move incorrect placed full stop
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-05-31 22:33:10 +09:00
Dean Herbert
0ef971be28 Merge branch 'master' into i-has-curve-with-repeats 2020-05-31 22:30:18 +09:00
Salman Ahmed
82fe99cf4a
Replace any potential usage of Environment.CurrentDirectory with a new RuntimeInfo.StartupDirectory
Using `Environment.CurrentDirectory` for storing / reading files is dangerous as the current directory is mutable and can be changed when performing a certain operation (like opening solutions in roslyn type reference builder for example).
2020-05-31 02:24:49 +03:00
Dean Herbert
3b6619a360 Flip direction to avoid breaking other usages 2020-05-29 16:45:47 +09:00
Dean Herbert
590931b17c Pass hitobjects as a parameter to CreateBlueprintContainer 2020-05-29 16:45:47 +09:00
Dean Herbert
597f284805 Tidy up and complete xmldoc for HitObjectComposer 2020-05-29 16:45:47 +09:00
Dean Herbert
b2fad91589 Add swell and drumroll blueprints 2020-05-29 16:45:47 +09:00
Dean Herbert
dd7dbfd548 Rename to IHasDuration 2020-05-29 16:45:47 +09:00
Dean Herbert
534dccc0c3 Move sett from EndTime to Duration 2020-05-29 16:45:47 +09:00
Dean Herbert
280b0adb1d Split out IHasPath from IHasCurve to better define hitobjects 2020-05-29 16:45:47 +09:00