1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-19 21:22:56 +08:00
Commit Graph

4108 Commits

Author SHA1 Message Date
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
Dean Herbert
f9883373bb Flip direction to avoid breaking other usages 2020-05-29 16:11:26 +09:00
Dean Herbert
e8b43e8e1f Merge branch 'master' into move-setter-to-duration 2020-05-29 16:04:23 +09:00
Dean Herbert
8fa8c561e7 Pass hitobjects as a parameter to CreateBlueprintContainer 2020-05-29 12:20:50 +09:00
Dean Herbert
46689a2fbc Tidy up and complete xmldoc for HitObjectComposer 2020-05-29 11:46:32 +09:00
Dan Balasescu
1a2392aa83
Merge branch 'master' into remove-unused-mania-rprop 2020-05-28 14:57:10 +09:00
Dean Herbert
6be5917eb0 Remove necessity for custom mania interface caching 2020-05-27 23:15:16 +09:00
Dan Balasescu
0891c47d09
Merge pull request #9124 from peppy/editor-hide-non-alive-blueprints-default
Hide non-alive selection blueprints by default
2020-05-27 21:29:53 +09:00
Dean Herbert
9a060cfb3a Allow drag selections to occur from outside the playfield 2020-05-27 20:44:15 +09:00
Dean Herbert
f5c974dd89 Hide non-alive selection blueprints by default 2020-05-27 13:40:16 +09:00
Dean Herbert
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +09:00
Dean Herbert
b8e0a6f127 Move sett from EndTime to Duration 2020-05-27 12:37:44 +09:00
Dean Herbert
6b5b215299 Split out IHasPath from IHasCurve to better define hitobjects 2020-05-26 17:44:47 +09:00
Dan Balasescu
b5de30ef3d
Merge branch 'master' into editor-scrolling-playfield-support 2020-05-26 14:46:58 +09:00
Dean Herbert
0cc6d6d97c
Merge pull request #9033 from smoogipoo/applydefaults-cancellation
Add cancellation token support to CreateNestedHitObjects()
2020-05-26 12:04:06 +09:00
Dean Herbert
417e31d77f Rename function for consistency 2020-05-26 10:17:56 +09:00
Dean Herbert
d69111c665 Fix spelling of breadth 2020-05-26 10:17:34 +09:00
Dan Balasescu
98f3d790df
Merge pull request #9107 from peppy/editor-remove-size-propagation
Remove unnecessary size propagation in HitObjectComposer
2020-05-25 23:55:26 +09:00
Dean Herbert
8fc60d12c9 Add back comments 2020-05-25 22:09:09 +09:00
Dean Herbert
e7442ec3a2 Remove need for ManiaSnapResult 2020-05-25 19:33:03 +09:00
Dean Herbert
2c16619ecd Move time to position conversion to ScrollingHitObjectContainer 2020-05-25 19:32:39 +09:00
Dean Herbert
af5fac471e Remove unnecessary size propagation in HitObjectComposer 2020-05-25 19:29:46 +09:00
smoogipoo
ebe2e97372 Merge branch 'master' into editor-clock-transform 2020-05-25 19:01:04 +09:00
smoogipoo
6f4cd6111c Drop obsoletion status for now 2020-05-25 16:50:49 +09:00
smoogipoo
bc35bc5efb Merge branch 'master' into applydefaults-cancellation 2020-05-25 16:45:30 +09:00
smoogipoo
cd65fc860b Remove extra default application 2020-05-25 16:15:55 +09:00
Dean Herbert
b44beb4137 Remove double resolution of EditorClock 2020-05-25 15:40:45 +09:00
Dean Herbert
ed83ef202a Merge branch 'master' into editor-clock-cache 2020-05-25 15:39:42 +09:00
Dan Balasescu
2f9cc0c15a
Merge pull request #9078 from peppy/editor-move-distance-snap-grid
Move distance snap grid to osu! HitObjectComposer
2020-05-25 15:05:30 +09:00
Dan Balasescu
b732ea6763
Merge branch 'master' into fix-placement-default-application 2020-05-25 14:17:28 +09:00
Dean Herbert
decdc58de5 Merge branch 'editor-clock-cache' into editor-clock-transform 2020-05-24 12:55:47 +09:00
Dean Herbert
a3a9810344 Merge branch 'master' into editor-clock-cache 2020-05-23 00:44:04 +09:00
Dean Herbert
1311fd2f64
Merge branch 'master' into editor-move-distance-snap-grid 2020-05-23 00:42:43 +09:00
Dean Herbert
83f4ba107f Fix defaults not being applied correctly to blueprints after StartTime is changed 2020-05-22 22:42:17 +09:00
Dan Balasescu
7846445b45
Merge branch 'master' into mania-distance-snap-grid 2020-05-22 21:17:25 +09:00
Dan Balasescu
9ede390c60
Merge branch 'master' into editor-position-snap 2020-05-22 20:05:18 +09:00
Dean Herbert
1486a44b55 Merge branch 'editor-clock-cache' into editor-clock-transform 2020-05-22 19:51:02 +09:00
Dean Herbert
ffaec9f9f7 Merge branch 'master' into editor-clock-cache 2020-05-22 19:35:05 +09:00
Dean Herbert
3e0ee310d0 Remove now incorrect comment 2020-05-22 18:30:39 +09:00
Dean Herbert
d18eb663b1 Add tweening seek support to EditorClock 2020-05-22 16:47:52 +09:00
Dean Herbert
dd09d7830d Cache and resolve editor clock as EditorClock in all cases 2020-05-22 16:44:06 +09:00
Dean Herbert
eefff6cc49 Merge branch 'mania-distance-snap-grid' into editor-clock-cache 2020-05-22 16:44:02 +09:00
Dean Herbert
a0fe03b68f Merge branch 'editor-move-distance-snap-grid' into editor-clock-cache 2020-05-22 16:43:59 +09:00
Dean Herbert
f395ef24a4
Merge branch 'master' into editor-position-snap 2020-05-22 16:42:09 +09:00
Dan Balasescu
648fc3af41
Merge branch 'master' into bar-line-floating-point 2020-05-22 16:32:25 +09:00
Dean Herbert
ce35d09e7d Fix incorrect alpha application to lines on rewinding 2020-05-22 12:45:37 +09:00
Bartłomiej Dach
6f388b731e Fix display start time in sequential scroll algorithm 2020-05-21 21:56:59 +02:00
Dean Herbert
8a47e2431b Move distance snap grid implementation to OsuHitObjectComposer 2020-05-21 17:13:22 +09:00
Dean Herbert
b1fd7da824 Merge branch 'master' into editor-position-snap 2020-05-21 15:47:20 +09:00
Dean Herbert
776b842fdb Remove unused using 2020-05-21 14:53:36 +09:00
Dean Herbert
a9a1c00cf1 Move responsibility placement blueprint's StartTime set to within 2020-05-21 14:50:33 +09:00
Dan Balasescu
eb2e8e50b9
Merge pull request #9071 from peppy/seek-to-start-not-end
Seek to start of placed object, not end
2020-05-21 14:30:14 +09:00
Dan Balasescu
669d9231db
Merge branch 'master' into seek-to-start-not-end 2020-05-21 13:41:57 +09:00
Dean Herbert
5ad7842b91 Move ScreenSpacePositionAtTime to inside Column implementation 2020-05-21 13:33:02 +09:00
Dean Herbert
ce223a2bd8 Silence hit sounds while seeking 2020-05-21 11:08:06 +09:00
Dean Herbert
e09a1bf546 Only seek forwards if not already beyond the placed object 2020-05-20 21:50:52 +09:00
Dean Herbert
b5a7023312 Seek to start time after placement, not end 2020-05-20 21:46:52 +09:00
Dean Herbert
7c9fbb6fcf Split out classes 2020-05-20 21:03:03 +09:00
Dean Herbert
82d6549161 Pass down snap result and remove local TimeAt usage 2020-05-20 21:01:29 +09:00
Dean Herbert
970bd86d2e Remove local TimeAt usage in mania placement 2020-05-20 21:01:29 +09:00
Dean Herbert
23bf0d000e Implement mania beat snapping support 2020-05-20 21:01:19 +09:00
Dean Herbert
ffb8d48fc3 Fix osu!mania editor placement regressions 2020-05-20 21:01:03 +09:00
Dean Herbert
c46bfc2532 Create SnapResult class to hold various snapping results 2020-05-20 21:00:47 +09:00
Dean Herbert
3354d48a38 Change snapping to be screen space coordinate based 2020-05-20 21:00:29 +09:00
Dean Herbert
c2697d3907 Use DrawableSample in SkinnableSound class 2020-05-20 20:49:01 +09:00
Dean Herbert
db4e3047dd Add test for final sample output 2020-05-19 23:28:13 +09:00
Bartłomiej Dach
17ae392a75 Apply rounding to bar line start times 2020-05-17 22:11:13 +02:00
smoogipoo
6cd1753459 Add overload to prevent crashes (bosu) 2020-05-15 18:51:44 +09:00
smoogipoo
4719fcc291 Actually use the cancellation token 2020-05-15 18:17:39 +09:00
smoogipoo
98125102a7 Add cancellation token support to CreateNestedHitObjects() 2020-05-15 18:07:41 +09:00
Dean Herbert
de50b725d5 Fix mod failure checks executing actual game logic 2020-05-12 20:08:35 +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
Dean Herbert
44fdf1e6b0
Reword xmldoc 2020-05-10 20:09:41 +09:00
Dean Herbert
c712e98f2b
Merge branch 'master' into publicly-expose-hud 2020-05-10 20:06:28 +09:00
Dean Herbert
729585e151
Merge branch 'master' into mania-holdnote-selection-fix 2020-05-10 15:07:30 +09:00
Dan Balasescu
2f12c4126a
Apply suggestions from code review
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-05-10 13:49:08 +09:00
Dean Herbert
5c2778d5f0 Change comparison direction 2020-05-08 20:33:02 +09:00
smoogipoo
be3b77cf25 Fix potentially skipping hitobject updates 2020-05-08 20:09:59 +09:00
smoogipoo
22dda3fe02 Make ScrollingHitObjectContainer respond to defaults applied events 2020-05-08 18:49:58 +09:00
smoogipoo
efff2bf15d Add HitObject to DefaultsApplied event 2020-05-08 18:49:19 +09:00
Dean Herbert
a59db976d6 Fix loading a ruleset with a new version specification causing a crash 2020-05-08 18:05:06 +09:00
Lucas A
30dd158c33 Rename property to AllowGameplayOverlays and update XMLDoc accordingly. 2020-05-08 09:37:50 +02:00
Lucas A
83998d5ba5 Trim whitespace. 2020-05-07 09:39:14 +02:00
Lucas A
83be5455d3 Disable the display of HUD through DisplayHud property. 2020-05-07 08:52:36 +02:00
Dean Herbert
c8134162b5
Merge pull request #8934 from smoogipoo/sorcerer-catch-changes
Implement Sorcerer's osu!catch difficulty calculation adjustments
2020-05-06 18:10:33 +09:00
alex
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07: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
Dean Herbert
064e5004ed
Merge branch 'master' into fix-mania-selection 2020-04-29 17:15:48 +09:00
smoogipoo
1aaab40228 Fix mods affecting mania scroll speed 2020-04-28 19:34:02 +09:00
smoogipoo
da30eafa30 Prevent potential exception 2020-04-28 14:47:45 +09:00
smoogipoo
86ef73aa27 Implement HitObjectContainer.Clear() 2020-04-23 11:16:59 +09:00
smoogipoo
93151f7612 Add back necessary events + addition to list 2020-04-22 18:32:59 +09:00
smoogipoo
8b0274fedd Remove obsolete methods 2020-04-22 17:55:50 +09:00
smoogipoo
07a73ba83c Merge branch 'master' into rulesetstore-ruleset-dir 2020-04-22 10:23:04 +09:00
Dean Herbert
af32f51116
Merge pull request #8800 from iiSaLMaN/allow-cancelling-completion
Fix results screen pushed after rewinding in-between push delay
2020-04-21 12:49:49 +09:00
Dean Herbert
5a2129da7c
Merge branch 'master' into allow-cancelling-completion 2020-04-21 11:22:37 +09:00
Lucas A
a541f92682 Resolve ruleset dependencies on game core / framework assemblies by checking already loaded assemblies in AppDomain. 2020-04-20 13:56:15 +02:00
Dean Herbert
a842f17630 Merge branch 'master' into taiko-drumroll-skinning 2020-04-20 20:48:41 +09:00
Dean Herbert
8ebc2ae03d Never run subtree masking 2020-04-20 20:48:35 +09:00
Salman Ahmed
6f233917b1 Centralize updating HasCompleted bindable logic 2020-04-20 06:40:51 +03:00
Bartłomiej Dach
1dcb0f53a2 Fix whitespace formatting 2020-04-19 16:29:32 +02:00
Lucas A
ba1c465edf Add comment in regards to the attaching of event handler to the assembly lookup event before call to loadUserRulesets(). 2020-04-19 15:26:00 +02:00
Lucas A
a7179d1c87
Fix comment wording
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-04-19 15:15:04 +02: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
Dean Herbert
9dda7da489 Fix spinners being considered the "first object" for increased visibility in hidden 2020-04-16 14:11:38 +09:00
Dean Herbert
4eefe47ce3
Merge branch 'master' into fix-0-customsampleset 2020-04-16 11:20:31 +09:00
smoogipoo
44981431c5 Remove suffix hackery 2020-04-14 21:33:32 +09:00
smoogipoo
6935221463 Improve logic for CSB transfer 2020-04-14 21:05:07 +09:00
Bartłomiej Dach
06407a1081 Merge branch 'master' into fix-classic-scoring 2020-04-14 02:13:45 +02: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
Dean Herbert
63de493c85
Merge branch 'master' into fix-red-point-placement 2020-04-13 20:56:50 +09:00
smoogipoo
58a7313091 Fix fallback for file hit samples 2020-04-13 20:09:17 +09:00
smoogipoo
cee4b005e6 Fix custom sample set 0 not falling back to default samples 2020-04-13 20:00:06 +09:00
smoogipoo
f38b64d201 Fix placement blueprints handling double clicks 2020-04-13 13:57:15 +09:00
Dean Herbert
c51bad0e35 Cache ManiaPlayfield instead 2020-04-13 13:42:21 +09:00
Dean Herbert
cdff6060d3 Remove recursive hierarchy traversal for mania sample balance 2020-04-13 13:01:27 +09:00
Dean Herbert
65b96079a0 Move dampening to base implementation and change range to 0..1 2020-04-13 13:01:02 +09:00
Fire937
22d89dbff7 Merge branch 'master' of https://github.com/ppy/osu into stereo-shifted-playback 2020-04-12 01:46:32 +02:00
Fire937
f274ec297c Add positional sound support for all rulesets
The SamplePlaybackBalance is calculated in a way that the balance
remains between -0.4 and 0.4.
Positional sound is not supported in osu!taiko.
2020-04-12 01:33:25 +02:00
Salman Ahmed
97340da2f2 Add null-conditional to acesses in dispose methods
Such a terrible mistake, the finalizer may be called while the dependencies have an instance but the local itself doesn't have a value yet.
2020-04-12 02:24:36 +03:00
Salman Ahmed
31b494b0b7
Merge branch 'master' into cache-ruleset-dependencies-for-tests 2020-04-11 22:56:47 +03:00
smoogipoo
a84fe2525b Fix nested hitobjects potentially indirectly masked away 2020-04-11 16:53:45 +09:00
Salman Ahmed
a314a6119a Fix CI issues 2020-04-11 05:13:04 +03:00
Salman Ahmed
2b4208bebf Cache ruleset dependencies if the scene tests ruleset-specific components 2020-04-11 04:23:31 +03:00
Salman Ahmed
235d3046c6 Move ruleset dependencies caching to its own container 2020-04-11 04:22:23 +03:00
Fire937
c17e470266 Fix PositionalSound calculation implementation
The position used to calculate the stereo balance is now the position of
the drawable (as opposed to the position specified in the beatmap file
previously).
2020-04-10 00:01:35 +02:00
Fire937
2201e9b4ae Add stereo shifted hitsound playback support
There is now a setting in the general settings called "Positional
hitsounds". If the setting is enabled, the hitsounds playback will be
shifted according to their position on the beatmap.
2020-04-09 18:12:15 +02:00
smoogipoo
ee6ea08cf8 Cleanup handling of hitobject updates 2020-04-09 20:16:44 +09:00
Lucas A
2087d8d09e Don't search for user rulesets if rulesetsStorage isn't set (Testing environnment) 2020-04-07 16:01:47 +02:00
Lucas A
08308e07e7 Apply review suggestions 2020-04-07 12:22:09 +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
Lucas A
0e45a4d54e Add back cached ruleset assembly lookup 2020-04-04 20:13:46 +02:00
Lucas A
8cdae790c3 Load user rulesets from the game data directory 2020-04-03 21:40:09 +02:00
Dean Herbert
7b2144a1a7 Fix merge mishap 2020-04-03 23:31:46 +09:00
Dean Herbert
3289fa7c66
Merge branch 'master' into better-mania-scrollspeed 2020-04-03 23:25:14 +09:00
Dean Herbert
eacbb20d87
Merge branch 'master' into fix-convert-scroll-speed 2020-04-03 22:47:53 +09:00
smoogipoo
d90db5649d Improve comment slightly 2020-04-03 18:32:07 +09:00
smoogipoo
1ff2cc31d1 Implement more familiar scroll speed options in mania 2020-04-03 18:25:01 +09:00
smoogipoo
b42d1104b7 Fix mania converts scrolling at incorrect speeds 2020-04-03 13:16:01 +09:00
smoogipoo
1f797207f7 Rework lookups to not require total playfield columns 2020-04-03 12:31:05 +09:00
smoogipoo
66486b094c Remove unnecessary dependency, allow null mods 2020-04-01 13:31:17 +09:00
Dan Balasescu
03cd9aa060
Merge branch 'master' into spun-out 2020-03-30 12:31:53 +09:00
Dean Herbert
7db9bd798c Remove handle overrides 2020-03-30 11:59:51 +09:00
Dean Herbert
2abb8a37df
Merge branch 'master' into show-mod-settings-tooltip 2020-03-29 14:35:04 +09:00
Dean Herbert
a2b3fe180e Add the ability to disable user input on specific DrawableHitObjects 2020-03-29 14:30:45 +09:00
Dan Balasescu
005a818f32
Merge branch 'master' into fix-slider-end-sounds 2020-03-27 19:26:32 +09:00
Dean Herbert
f80efd10c2 Avoid using a miss judgement 2020-03-26 19:54:17 +09:00
Dean Herbert
07462120e4 Split break tracking into its own component 2020-03-26 15:30:23 +09:00
Dean Herbert
2b1245f63a Improve xmldoc in a couple of places 2020-03-26 12:50:00 +09:00
Dean Herbert
8a2aac5f83 Rename conversion methods for clarity 2020-03-25 20:21:34 +09:00
Dean Herbert
800e395bc8 Merge branch 'master' into replay-recording 2020-03-25 20:20:59 +09:00
Dean Herbert
6d81da5419
Merge branch 'master' into video-offset 2020-03-25 11:28:59 +09:00
Dean Herbert
448961b330 Rename incorrect variable 2020-03-24 15:39:01 +09:00
Dean Herbert
388cf5c83a Fix catch positional data being incorrectly recorded 2020-03-24 15:38:54 +09:00
Dean Herbert
022465f546 Add encoding and import support 2020-03-24 14:51:52 +09:00
Dean Herbert
546772192c Add helper method to convert to legacy mods enums 2020-03-24 13:07:51 +09:00
Liam DeVoe
2fa42ed644 use N2 for ModTimeRamp, add x text 2020-03-23 12:54:08 -04:00
Dean Herbert
617149fb27 Implement in player 2020-03-23 20:06:18 +09:00
Dean Herbert
14a85a84bf Add proper screen space - gamefield mapping 2020-03-23 20:06:18 +09:00
Dean Herbert
6d48068061 Move replay recorder to final location 2020-03-23 20:04:15 +09:00
Dean Herbert
232c255986 Basic test scene setup 2020-03-23 17:33:02 +09:00
Dean Herbert
2dbcf9e346
Merge branch 'master' into taiko-random-mod 2020-03-23 16:33:59 +09:00
Dean Herbert
205f4dcb54 Simplify string construction logic 2020-03-23 15:20:56 +09:00
Dean Herbert
a6b153673e Fix icons not updating tooltip text correctly 2020-03-23 14:58:02 +09:00
Dean Herbert
4f9ac7b81e Merge branch 'master' into show-mod-settings-tooltip 2020-03-23 14:57:54 +09:00
smoogipoo
e3a5be71cc Implement random mod for taiko 2020-03-23 12:09:30 +09:00
Liam DeVoe
64fc116d67 use two decimal points for ModRateAdjust format 2020-03-22 23:08:00 -04:00
Liam DeVoe
5cc626d37b move SettingDescription override to ModRateAdjust 2020-03-22 22:57:46 -04:00
Liam DeVoe
1da590c63f use N1 format instead of 0.# 2020-03-22 22:54:21 -04:00
Liam DeVoe
889608a408 remove redundant ToString call 2020-03-22 22:51:29 -04:00
Liam DeVoe
98b8f82810 simplify SettingDescription default definition 2020-03-22 22:07:09 -04:00
Liam DeVoe
ea87afd577 use string.Empty in IconTooltip 2020-03-22 22:06:54 -04:00
Liam DeVoe
cb6e602556 enforce single signficiant digit precision for other mods 2020-03-22 22:06:35 -04:00
Liam DeVoe
67667b3d22 enforce precision for ModDifficultyAdjust and derived classes 2020-03-22 21:22:46 -04:00
Liam DeVoe
63e9b2a299 use string.Empty, use base SettingDescription for [Osu/Catch]ModDifficultyAdjust 2020-03-22 18:50:09 -04:00
Dean Herbert
d8041a0dcb Increase sample concurrency to better match stable 2020-03-22 02:16:28 +09:00
Dean Herbert
729e006c3a
Merge branch 'master' into video-offset 2020-03-21 20:03:46 +09:00
Liam DeVoe
4907fb8fd1 remove another ToString statement 2020-03-20 17:04:22 -04:00
Liam DeVoe
eab705a9b6 remove another ToString statement 2020-03-20 17:00:36 -04:00
Liam DeVoe
ac202ba7ea remove unused using directive 2020-03-20 16:57:37 -04:00
Liam DeVoe
55568ee6a5 remove extra parentheses 2020-03-20 16:44:38 -04:00
Liam DeVoe
6a63ba1bb8 use humanizer for ModEasy lives setting 2020-03-20 16:42:35 -04:00
Liam DeVoe
cda1efef0b move overridability to SettingDescription method 2020-03-20 16:34:36 -04:00
Liam DeVoe
7bdbdd25f8 Revert "use SettingSource to define IconTooltip format"
This reverts commit 5a6d8f1932.
2020-03-20 16:05:12 -04:00
Liam DeVoe
3d95592130
use var for list declaration
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-03-20 14:37:31 -04:00
Liam DeVoe
9e3bff3b97 oops, missed a newline 2020-03-20 13:36:16 -04:00
Liam DeVoe
9dc8146811 fix style issues 2020-03-20 13:21:44 -04:00
Liam DeVoe
5a6d8f1932 use SettingSource to define IconTooltip format 2020-03-20 12:47:17 -04:00
Liam DeVoe
18bf7c913b show mod settings in ModIcon tooltip 2020-03-18 23:43:26 -04:00
Liam DeVoe
e59d7fee26 fix comment grammar 2020-03-18 23:42:14 -04:00
smoogipoo
5f09c70f75 Move judgement colours to OsuColour 2020-03-18 17:21:36 +09:00
smoogipoo
758bb3711f Add more sane limit for maximum slider length 2020-03-11 18:07:11 +09:00
Dan Balasescu
1d556bfc5f
Merge branch 'master' into video-offset 2020-03-11 15:13:18 +09:00
voidedWarranties
76c832518f Render video as a part of the storyboard 2020-03-07 21:32:03 -08:00
Dean Herbert
5b8aaba4a6 Merge branch 'master' into fix-perfect-judgements 2020-03-06 00:18:05 +09:00
Dean Herbert
dc79c11b6a Merge branch 'master' into layout-rework 2020-03-02 16:36:48 +09:00
smoogipoo
6d051d9e42 Fix perfect mod failure cases 2020-03-02 13:25:56 +09:00
Dean Herbert
c06db5a54a Remove legacy DrawableHitObject state management 2020-02-27 11:28:29 +09:00
smoogipoo
da89798765 Merge remote-tracking branch 'origin/master' into layout-rework 2020-02-26 15:06:40 +09:00
smoogipoo
fab49fb1ba Slightly increase HP awarded for 100s 2020-02-26 12:18:46 +09:00
Dean Herbert
d564440fe7
Merge branch 'master' into fix-barline-lifetimes 2020-02-25 20:41:04 +09:00
Dean Herbert
36079236e6
Remove pointless comment
Co-Authored-By: Dan Balasescu <smoogipoo@smgi.me>
2020-02-25 19:22:51 +09:00
Dean Herbert
a047456354 Revert changes to make HitObject abstract 2020-02-25 19:07:15 +09:00
smoogipoo
6c28fd21c7 osu-side changes 2020-02-24 20:52:15 +09:00
Dean Herbert
be08e69862 Merge branch 'fix-dho-lifetimes-via-judgements' into fix-barline-lifetimes 2020-02-23 14:30:23 +09:00
Dean Herbert
401bf1c928 Remove unnecessary checks on NotNull attributes 2020-02-23 14:30:08 +09:00
Dean Herbert
0e29d3c4a2 Correctly expire bar lines in osu!taiko and osu!mania 2020-02-23 13:50:05 +09:00
Dean Herbert
ffc7eaa3f2 Fix hitobjects with unknown lifetimes by enforcing non-null judgement
We've seen multiple cases where DrawableHitObject are stuck in the lifetime management container
due to not implementing a judgement (meaning they are never "hit" or "missed"). To avoid this going forward
CreateJudgement() must be implemented and return a non-null judgement.

This fixes BananaShower and JuiceStreams in osu!catch.

This also makes HitObject abstract and cleans up convert HitObject implementations.
2020-02-23 13:49:06 +09:00
Dean Herbert
5970c102b4 Change API to be easier to understand 2020-02-20 15:17:49 +09:00
Dean Herbert
5340d1de59 Move combo colour update logic to osu! ruleset 2020-02-19 16:07:00 +09:00
Dean Herbert
a1bfb18ce0 Fix accessing incorrect items list in event 2020-02-18 19:00:02 +09:00
Dean Herbert
b18f9e195e Merge branch 'master' into bindable-list-events 2020-02-18 18:47:06 +09:00
Andrei Zavatski
316c6b2a94 Simplify RulesetInfo string presentation 2020-02-18 01:17:12 +03:00
smoogipoo
958c891d15 Update with framework-side bindable list changes 2020-02-17 15:06:14 +09:00
recapitalverb
7c9569c9a3
Merge branch 'master' into remove-duplicated-load 2020-02-15 12:10:34 +07:00
recapitalverb
c753cb46c5 Use [Resolved] wherever possible 2020-02-14 20:14:00 +07:00
Dean Herbert
61a7f04efb Add a sane key up delay to relax mod 2020-02-14 17:13:50 +09:00
Dean Herbert
5b3f0bbb0a
Merge branch 'master' into fix-editor-time-change-display 2020-02-13 23:55:52 +09:00
Dan Balasescu
5a90e6f9b5
Merge branch 'master' into fix-blueprint-outside-container 2020-02-13 17:32:49 +09:00
Dean Herbert
53b62816f8 Add index constants for cross-class safety 2020-02-13 14:07:37 +09:00
Dean Herbert
b65e839bd2 Simplify blueprints by removing visible state 2020-02-13 10:00:09 +09:00
Dean Herbert
0fe41fd50a Fix blueprint showing even when mouse outside of container 2020-02-13 09:03:48 +09:00
Dean Herbert
f7ee675102 Clear and revert to negative infinity, avoiding transforms getting left behind on StartTime change 2020-02-12 19:02:54 +09:00
Dean Herbert
c386589cc0 Reapply current state, not idle 2020-02-12 19:02:25 +09:00
voidedWarranties
3d1183eea0
Merge branch 'master' into difficultyadjust-order 2020-02-10 16:46:24 -08:00
voidedWarranties
ca237fd987 Simplify ordering by using only numbers, add xmldoc 2020-02-10 16:21:49 -08:00
Dan Balasescu
f3c47dc8c9 Merge branch 'master' into seek-to-endtime-on-placement 2020-02-10 14:53:11 +09:00
voidedWarranties
ea521b466f Switch numerical consts to an enum 2020-02-09 21:37:40 -08:00
voidedWarranties
137181017b Naming consistency with osu!web 2020-02-09 20:36:54 -08:00
voidedWarranties
88a56d00bf Allow specifying order to SettingSource 2020-02-09 20:11:37 -08:00
Dean Herbert
91203c2b12
Merge branch 'master' into placement-display-in-timeline 2020-02-08 01:50:24 +09:00
Dean Herbert
51ae741fc7
Merge pull request #7755 from peppy/fix-spinner-placement
Fix spinner placement blueprint in multiple ways
2020-02-08 01:49:48 +09:00
Dean Herbert
678eb8ec31
Reduce accessibility to set
Co-Authored-By: Dan Balasescu <smoogipoo@smgi.me>
2020-02-08 00:12:23 +09:00
Dan Balasescu
7c715937ca
Merge branch 'master' into skin-animation-frame-rate 2020-02-07 23:52:45 +09:00
Dean Herbert
2e50e56d7c Seek to previous object endtime after successful placement 2020-02-07 19:12:09 +09:00
Dean Herbert
a6531bf73e Don't show distance snap grid for spinners (for now) 2020-02-07 19:09:23 +09:00
Dean Herbert
e08437c5dc Track placement object in EditorBeatmap 2020-02-07 18:03:14 +09:00
Dean Herbert
e31d69c749 Add commit status to EndPlacement; call BeginPlacement on initial movement 2020-02-07 18:02:48 +09:00
Dan Balasescu
a6a285bc09
Merge branch 'master' into fix-editor-snapping-inaccuracy 2020-02-07 17:20:42 +09:00
Dan Balasescu
e6060d5ecc
Merge pull request #7749 from peppy/fix-incorrect-distance-snap-grip
Fix incorrect distance snap grid being displayed when in selection mode
2020-02-07 17:20:28 +09:00
Dean Herbert
8990152315 Fix duration snapping still being incorrect 2020-02-07 16:43:50 +09:00
Dean Herbert
3aa18abd99
Fix typo in xmldoc
Co-Authored-By: Tree <thewildtree@outlook.com>
2020-02-07 16:22:59 +09:00
Dean Herbert
f63bf06373 Fix incorrect distance snap grid being displayed when in selection mode 2020-02-07 16:09:54 +09:00
Dean Herbert
7460018cd3 Move combo colours to GlobalSkinColours 2020-02-07 14:58:07 +09:00
Bartłomiej Dach
5fde4f2c0c Fix lifetime calculation in overlapping algorithm
Changes to lifetime calculation in scrolling rulesets introduced in
#7367, which aimed to account for the distance between hit objects'
origin and its edge entering the scrolling area, fixed some issues with
hitobjects appearing abruptly, but also regressed some other scenarios.

Upon investigation, the regression was localised to the overlapping
scroll algorithm. The reason for this was two-fold:

* The previous code used TimeAt() to calculate the time of travel from
  the hit object's edge to its origin. For other algorithms, that time
  can be accurately reconstructed, because they don't have periods of
  time where there are multiple hit objects scrolling at different
  velocities.

  That invariant does not hold for the overlapping algorithm, therefore
  it is possible for different values to be technically correct for
  TimeAt(). However, the only value that matters for the adjustment
  is the one that's indicated by the control point that applies to the
  hit object origin, which can be uniquely identified.

* Additionally, the offset returned (even if correct) was applied
  externally to the hit object's start time and passed to
  GetDisplayStartTime(). In the overlapping algorithm, the choice of
  control point used in GetDisplayStartTime() is important, since
  the value of the speed multiplier is read within.

  Externally rewinding the hit object's start time meant that in some
  cases the speed multiplier of the *previous* control point is applied,
  which led to hit objects appearing too late if the scrolling rate
  decreased.

Because of the above, modify GetDisplayStartTime() to take the offset
into account in all algorithms, and apply the adjustment correctly
inside of them. The constant and sequential algorithms needed no
adjustment from the previous logic, since:

* the constant algorithm disregarded control points, and
* the sequential algorithm would effectively rewind to time = 0,
  calculate the absolute distance from time = 0 to the hit object start,
  apply the origin offset *to the absolute distance*, and then convert
  back to time, applying all control points in sequence. Due to this
  it was impossible for control points to get mixed up while
  calculating.

As for the overlapping algorithm, the high-level logic is as follows:

* The distance that the origin has to travel is the length of the scroll
  plus the distance from the origin to the object edge.
* The above distance divided by the scroll length gives the relative
  scroll lengths that the object has to travel.
* As one relative scroll length takes one time range, the relative
  travel length multiplied by the time range gives the absolute travel
  time of the object origin.
* Finally, the control point multiplier applicable at origin time is
  applied to the whole travel time.

Correctness of the above is demonstrated by visual tests added before
and headless unit tests of the algorithms themselves. The sequential
scroll algorithm was not covered by unit tests, and remains uncovered
due to floating-point inaccuracies that should be addressed separately.
2020-02-06 23:13:28 +01:00
Dean Herbert
daf5fa9da4 Throw NotSupportedException instead 2020-02-06 13:16:32 +09:00
Dean Herbert
cd6902a312 Make EndTime and RepeatCount settable 2020-02-05 17:52:51 +09:00
Dean Herbert
63c595ed97 Make EditorBeatmap a component and move UpdateHitObject to it 2020-02-05 17:48:21 +09:00
Bartłomiej Dach
434c0d92e4 Use Bindable{Float,Double}s everywhere
To avoid further floating-point comparison bugs, remove all usages of
Bindable<{float,double}>, replacing them with their
Bindable<Float,Double> counterparts.
2020-02-01 22:50:29 +01:00
Berkan Diler
9596030e1d Make use of ElementAtOrDefault() when possible 2020-01-31 18:32:47 +01:00
Dean Herbert
9f0f09a844
Add a reverse setting for Winding mods (#7222)
Add a reverse setting for Winding mods
2020-01-29 20:29:32 +09:00
Dan Balasescu
77b1bf3ee2
Merge pull request #7648 from peppy/keyboard-composition-tools
Allow selecting composition tools using 1-4 keys
2020-01-29 17:29:11 +09:00
Dan Balasescu
37c7fe30fa
Merge branch 'master' into keyboard-composition-tools 2020-01-29 16:52:47 +09:00
Dan Balasescu
66b8d38d42
Merge branch 'master' into selection-composition-conformity 2020-01-29 16:52:45 +09:00
smoogipoo
ec015d750b Merge remote-tracking branch 'origin/master' into reverse-winding 2020-01-29 15:38:06 +09:00
smoogipoo
17294b1b09 Make wind down max value 200% 2020-01-29 15:34:36 +09:00
Dan Balasescu
65ac412ff8
Merge branch 'master' into fix-beat-snap 2020-01-29 15:32:27 +09:00
Dean Herbert
8e2159e4eb Ensure selection tool correctly matches selection state
- When a selection is made (via the timeline) the selection tool should become the select tool.
- When the selection tool is changed to anything *but* the select tool, the selection should be cleared.
2020-01-28 15:13:12 +09:00
Dean Herbert
7e0c45de6d Allow selecting composition tools using 1-4 keys 2020-01-28 15:09:03 +09:00
Dean Herbert
e81d3c51ed Move select tool to an actual tool implementation
Also tidies up radio button action firing so calling Select actually fires the associated action in all cases.
2020-01-28 15:05:29 +09:00
Dean Herbert
58654f28b6 Fix beat snap implementation being incorrect 2020-01-28 12:48:24 +09:00
unknown
d9e21a572f remove unecessary comment 2020-01-28 07:13:28 +08:00
unknown
a6124ae499 fix typo on ScoreProcessor xmldoc 2020-01-27 08:24:15 +08:00
unknown
7f538cfa74 allow setting initial rate instead of reversing 2020-01-27 07:56:18 +08:00
unknown
12b9e8146e Merge remote-tracking branch 'upstream/master' into reverse-winding 2020-01-26 16:19:57 +08:00
smoogipoo
027778acc1 Fix slider circles not being selected by default 2020-01-24 17:51:24 +09:00
Dean Herbert
ea2271c905 Merge branch 'master' into timeline-maybe 2020-01-24 13:39:51 +09:00
Dean Herbert
a6d97f8ee6
Merge pull request #7577 from ProTheory8/mod-autoopen
Make Difficulty Adjust mod customisation menu open automatically
2020-01-23 17:03:04 +09:00
Dean Herbert
143d47ec93
Merge pull request #7538 from peppy/decouple-blueprint-container
Decouple blueprint container to allow usage in timeline
2020-01-23 16:13:51 +09:00
Dan Balasescu
0df9703c46
Merge branch 'master' into mod-autoopen 2020-01-23 16:04:43 +09:00
Dean Herbert
02ae92418f Merge remote-tracking branch 'upstream/master' into decouple-blueprint-container 2020-01-23 15:54:46 +09:00
Dean Herbert
289be7a17b Merge branch 'i-beat-snapping' into timeline-maybe 2020-01-23 15:45:33 +09:00
Dan Balasescu
e988976012
Merge branch 'master' into mod-autoopen 2020-01-23 15:34:19 +09:00
Dean Herbert
ccf911884b Remove passed in BaetDivisor 2020-01-23 15:31:56 +09:00
Dean Herbert
098d643955 Move beat snapping to its own interface 2020-01-23 14:39:56 +09:00
Dean Herbert
56c044c44a Move beat snapping to its own interface 2020-01-23 14:30:25 +09:00
smoogipoo
7b2f58eb30 Apply OnRelease method signature refactorings 2020-01-22 13:22:34 +09:00
Dean Herbert
98aaf38649 Fix playfield movement regressing 2020-01-21 23:58:51 +09:00
Dean Herbert
24a466ab24 Avoid null by calling initial OnDeselected later 2020-01-21 17:36:21 +09:00
Dean Herbert
8f16c1cb04 Add non-hiding selection state 2020-01-21 14:21:00 +09:00
Dean Herbert
bd96cf94a6 Begin refactoring SelectionBlueprint to handle non-drawable HitObjects 2020-01-21 12:47:14 +09:00
ProTheory8
02f26e4a4d
Update comment
Co-Authored-By: Salman Ahmed <email@iisalman.me>
2020-01-21 08:44:22 +05:00
ProTheory8
41295bc27c Difficulty Adjust mod customisation menu opens automatically now 2020-01-20 21:06:36 +05:00
Dean Herbert
25aff5d96e Merge remote-tracking branch 'upstream/master' into decouple-blueprint-container 2020-01-20 17:08:59 +09:00
mcendu
e096688ac8
simplify some stuff 2020-01-16 17:58:47 +08:00
smoogipoo
5f178b7755 General refactorings 2020-01-16 11:54:03 +09:00
Dean Herbert
d57f55f053 Apply remaining changes required to restore previous functionality 2020-01-15 19:09:49 +09:00
mcendu
970653470c
format 2020-01-15 17:49:45 +08:00
mcendu
12cf304598
Update ModDaycore icon 2020-01-14 21:23:09 +08:00
mcendu
5d160376c0
nullable-ize Mod.Icon 2020-01-14 21:22:00 +08:00
mcendu
abdebcfddc
switch to changing Mod property 2020-01-14 20:11:32 +08:00
mcendu
c08fc62e00
expose setter of Mod 2020-01-14 19:59:43 +08:00
smoogipoo
91735ff367 Update MathUtils namespace usages 2020-01-09 13:43:44 +09:00
Albie Spriddell
23ed64c5fd Merge branch 'rpc' of https://github.com/aspriddell/osu into rpc 2020-01-03 13:08:06 +00:00
Albie Spriddell
71a3db7cd6 remove from rulesetinfo 2020-01-03 13:08:01 +00:00
Albie
b500ee44fb
Update osu.Game/Rulesets/Ruleset.cs
Co-Authored-By: Salman Ahmed <email@iisalman.me>
2020-01-03 13:00:57 +00:00
Albie Spriddell
5940851519 remove database dependency 2020-01-03 12:17:01 +00:00
Albie Spriddell
3a903339d6 add playingverb and database migrations 2020-01-03 11:39:15 +00:00
Dan Balasescu
c07cfce3b3
Merge branch 'master' into resource-assembly 2020-01-03 17:56:25 +09:00
Dean Herbert
ee332e0d42 Split out BlueprintContainer functionality further 2020-01-02 18:21:16 +09:00
smoogipoo
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
Dean Herbert
f09f9eb07d Merge branch 'master' into general-editor-beatmap 2020-01-01 23:27:08 +09:00
Dean Herbert
ca90f708f1 Merge remote-tracking branch 'upstream/master' into remove-editor-beatmap-generics 2020-01-01 21:03:31 +09:00
smoogipoo
8c378dc625 Move EditorBeatmap construction/conversion to Editor 2019-12-30 14:51:14 +09:00
Huo Yaoyuan
1b33581667 Construct DllResourceStore with assemblies 2019-12-28 21:13:18 +08:00
Bartłomiej Dach
3621362a48 Merge branch 'master' into scrolling-container-origin-adjust 2019-12-27 16:52:21 +01:00
Dean Herbert
5efb7e8015 Always update default value 2019-12-27 23:01:52 +09:00
smoogipoo
6069d98ced Remove generic editor beatmap 2019-12-27 19:39:30 +09:00
Dean Herbert
2c8879f0fb Lock user adjusted difficulty settings when changing beatmap 2019-12-27 19:05:17 +09:00
Dan Balasescu
199c0bca02
Merge branch 'master' into fix-mod-read-setting 2019-12-27 17:45:24 +09:00
Dan Balasescu
ecfe1d361b
Merge branch 'master' into fix-mod-read-setting 2019-12-27 17:29:13 +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
Bartłomiej Dach
193e41f878 Add origin adjustment for hitobject lifetime
Visual inspection of taiko gameplay has shown that hitobjects appeared
on screen only when the origin of the hitobject came into the bounds
of the screen, instead of appearing when any visible part of the
hitobject came into the screen bounds.

This behaviour was due to lifetime calculation being based on the origin
of the hitobject and not taking into account the actual object
dimensions. Adjust the lifetime start of the hitobject by subtracting
the time needed to show the part of the hitobject that should already
be visible on screen when the origin comes into frame.
2019-12-26 20:37:29 +01:00
Dean Herbert
a4d4efc312
Fix missing comments 2019-12-26 19:33:59 +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
3b07c3913d Add perfect and ok values, move to base Judgement 2019-12-26 15:00:59 +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
7414a6aadd Merge remote-tracking branch 'huoyaoyuan/master' into health-processor
# Conflicts:
#	osu.Game.Rulesets.Catch/CatchRuleset.cs
#	osu.Game.Rulesets.Mania/ManiaRuleset.cs
#	osu.Game.Rulesets.Taiko/TaikoRuleset.cs
2019-12-26 14:56:54 +09:00
Dean Herbert
f603dd82bc Fix difficulty adjust mod not correctly reading settings while leaderboard visible 2019-12-26 14:52:08 +09:00
Dean Herbert
a47e5aeead Fix sample lookup not working correctly for custom rulesets 2019-12-26 00:51:44 +09:00
Dan Balasescu
9702cc9809
Merge branch 'master' into remove-legacy-id 2019-12-25 21:01:12 +09:00
Dean Herbert
1b1c255394
Make the Easy mod's extra life count customizable (#7331)
Make the Easy mod's extra life count customizable
2019-12-25 20:19:08 +09:00
Dean Herbert
d84b319a3a Merge remote-tracking branch 'upstream/master' into adjustable-map-settings 2019-12-25 15:20:17 +09:00
Dean Herbert
911dc2d98d Fix code inspections 2019-12-25 15:20:10 +09:00
Dean Herbert
52ba0cd816 Rename method to be more appropriate
Also adds xmldoc.
2019-12-25 15:20:04 +09:00
Dean Herbert
e019ea408a
Merge branch 'master' into adjustable-map-settings 2019-12-25 13:16:47 +09:00
Lucas A
e3753ae29f Make the easy mod's extra life count customizable 2019-12-24 10:13:12 +01:00
smoogipoo
00546787c8 Remove unused method 2019-12-24 16:52:49 +09:00
Dean Herbert
fcb7a9ade5 Update RulesetStore to read from populated defaults 2019-12-24 16:16:55 +09:00
Dean Herbert
5738267642 Copy ruleset info over default 2019-12-24 16:05:20 +09:00
Dean Herbert
d87203857b Move default construction into constructor 2019-12-24 16:02:35 +09:00
Dean Herbert
a324bfbc2c Remove LegacyID from Ruleset 2019-12-24 13:48:27 +09:00
unknown
fe73b9f8d3 make HP and OD generic and instantiate CS and AR to modes that need it 2019-12-22 16:45:32 +08:00
Salman Ahmed
55be4478aa Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-21 12:36:09 +03:00
unknown
1bd44529dd add full-stop to mod description for consistency 2019-12-20 18:31:16 +08:00
unknown
08b477ed52 make ModDifficultyAdjust abstract 2019-12-20 18:30:23 +08: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
smoogipoo
39489e2901 Merge remote-tracking branch 'refs/remotes/origin/master' into fix-editor-movement-crash 2019-12-18 18:51:56 +09:00
smoogipoo
5664ce3109 Add hitobject container regression test 2019-12-18 18:51:12 +09:00
Dean Herbert
ea661fce21
Merge branch 'master' into adjustable-map-settings 2019-12-18 18:44:11 +09:00
Dean Herbert
5cdc7d3b18
Merge pull request #7183 from smoogipoo/legacy-beatmap-saving
Add initial implementation of a legacy beatmap encoder
2019-12-18 18:43:14 +09:00
Dean Herbert
51a01c7006
Merge pull request #7256 from peppy/remove-ruleset-ctor-param
Remove RulesetInfo parameter from Ruleset constructor
2019-12-18 18:42:42 +09:00
smoogipoo
2a128340d0 Merge remote-tracking branch 'refs/remotes/origin/master' into nightcore-beats 2019-12-18 17:58:37 +09:00
Dean Herbert
fa067b8799
Merge branch 'master' into legacy-beatmap-saving 2019-12-18 17:17:03 +09:00
Dean Herbert
6e0802e50c Remove RulesetInfo parameter from Ruleset constructor 2019-12-18 14:49:09 +09:00
smoogipoo
df8f8ffd0d Fix potential exception during removal 2019-12-18 12:03:15 +09:00
smoogipoo
bcc19e29f2 Fix editor crashing after re-ordering objects 2019-12-18 02:56:29 +09:00
Dean Herbert
e0ce87adca
Move CreateScoreProcessor() to Ruleset (#7244)
Move CreateScoreProcessor() to Ruleset
2019-12-17 22:15:42 +09:00
Dan Balasescu
fd2785bab3
Merge branch 'master' into fxcop 2019-12-17 20:14:45 +09:00
smoogipoo
49bf8d27d1 Move CreateScoreProcessor() to Ruleset 2019-12-17 20:08:13 +09:00
Huo Yaoyuan
d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +08:00
Huo Yaoyuan
3c39fde7ff CA1065: throw NotSupportedException in properties. 2019-12-17 13:00:05 +08:00
Huo Yaoyuan
d7b3578cc6 CA2201: throw correct exception type. 2019-12-17 13:00:02 +08:00
Huo Yaoyuan
ecfc6dfa3d CA1825: use Array.Empty. 2019-12-17 12:59:48 +08:00
Dean Herbert
b5db927d93 Merge branch 'master' into cinema-mod 2019-12-17 12:56:06 +09:00
Dean Herbert
272d7d0ca9
Merge branch 'master' into fallback-to-skin-combo-colours 2019-12-17 12:36:20 +09:00
Dean Herbert
87035f8251 Simplify complex method 2019-12-17 12:12:15 +09:00
Dean Herbert
438d97f4f5 Rename variable for clarity 2019-12-16 19:42:28 +09:00
Dean Herbert
cfd8111120 Better initial beat handling 2019-12-16 19:41:02 +09:00
Dean Herbert
72404bff9a Add support for simple triple time 2019-12-16 19:16:54 +09:00
Dean Herbert
210fecc951 Fix incorrect hat logic; add support for first barline omission 2019-12-16 18:57:11 +09:00
Dean Herbert
0f9ff32cdc Fix beat playing while paused 2019-12-16 18:51:22 +09:00
Dean Herbert
c883c97bab Fix off-by-one starting bar 2019-12-16 18:50:58 +09:00
Dean Herbert
3e0fda58ea Play finish in addition to kick, not isolated 2019-12-16 18:47:06 +09:00
Dean Herbert
9de6b62fb1 Fix nightcore beat not playing if song doesn't hit beat index 0 2019-12-16 18:24:29 +09:00
smoogipoo
8beb6b534f Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving 2019-12-16 17:09:03 +09:00
unknown
88d3a1707d ensure beatIndex is 0 before starting beats 2019-12-16 06:35:18 +08:00
Huo Yaoyuan
c457571da6 Use index and range expressions 2019-12-15 20:17:35 +08:00
unknown
c06e558f87 add setting to start fully wounded 2019-12-15 18:12:37 +08:00
unknown
154bc57c6e remove unused dependency 2019-12-15 17:46:44 +08:00
unknown
6da168118e remove unused usings 2019-12-15 17:02:29 +08:00
unknown
01c036b0b0 implement backing beats for nightcore mods 2019-12-15 16:56:02 +08:00
Huo Yaoyuan
ddb2cfc46d Use GetEndTime in Taiko and Mania 2019-12-14 18:16:13 +08:00
Dean Herbert
59538bfd32 Merge branch 'global-available-mods' into adjustable-rate-mods 2019-12-13 21:57:27 +09:00
smoogipoo
72ea871bff Make constructor protected 2019-12-13 21:55:20 +09:00
Dean Herbert
af15662856 Fix WindUp applying too much change 2019-12-13 21:55:07 +09:00
smoogipoo
abf3f341b7 Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving 2019-12-13 19:01:25 +09:00
unknown
ab5aa8594d remove whitespace 2019-12-13 15:46:58 +08:00
unknown
0311cc83ad add whitespace 2019-12-13 15:27:34 +08:00
unknown
ababe7b6c9 refactor mod to make use of #7175 2019-12-13 15:22:07 +08:00
unknown
002a125b4a make ModDifficultyAdjust generic 2019-12-12 21:14:26 +08:00
Salman Ahmed
a9125f6544 Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-12 12:37:51 +03:00
Dean Herbert
623ab1ef3b Update time ramp preview on setting change 2019-12-12 17:38:18 +09:00
Dean Herbert
d15f49f60f Also hide the break overlay 2019-12-12 16:13:02 +09:00
Dean Herbert
99280db694 Add note about AlwaysPresent requirement 2019-12-12 16:12:40 +09:00
Dean Herbert
e4297ffead Hide HUD in a better way 2019-12-12 16:12:32 +09:00
Dean Herbert
37a94988a3 Merge branch 'improve-hud-hiding' into cinema-mod 2019-12-12 16:12:19 +09:00
smoogipoo
5861eca80d Make DrawableRuleset take a converted beatmap 2019-12-12 15:58:11 +09:00
Dean Herbert
4c4199269c Use protected constructors 2019-12-12 15:25:37 +09:00
Dean Herbert
9961fa7385
Merge branch 'master' into adjustable-rate-mods 2019-12-12 15:10:23 +09:00
Dean Herbert
d2ada90434
Merge branch 'master' into single-scoreprocessor 2019-12-12 11:36:45 +09:00
unknown
472fa9822c make ModDifficultyAdjust incompatible with ModEasy and ModHardRock 2019-12-12 08:25:51 +08:00
Albie
4a1c6db3ed
Merge branch 'master' into cinema-mod 2019-12-11 18:00:17 +00:00
Albie
caa9286a90 update tests, change binding and reduce lines in cinema mod 2019-12-11 17:39:40 +00:00
unknown
b0cf44c3be fix appveyor issues 2019-12-11 20:12:29 +08:00
unknown
b795532aa5 add difficulty adjustment mods 2019-12-11 19:43:16 +08:00
smoogipoo
40f918dce6 Remove unused using 2019-12-11 19:49:32 +09:00
smoogipoo
c34b6b59ed Remove time ramp and rate adjust mod incompatibility 2019-12-11 19:48:57 +09:00
smoogipoo
404d3207ff Refactor ModNightcore/ModDaycore 2019-12-11 19:43:32 +09:00
smoogipoo
48f1dad4aa Remove abstract ScoreProcessor class 2019-12-11 17:25:06 +09:00
Dean Herbert
9eed64997f Merge branch 'customized-mods' into adjustable-rate-mods 2019-12-11 13:26:05 +09:00
Albie
a61f8cc2c3
Merge branch 'master' into cinema-mod 2019-12-10 17:06:53 +00:00
smoogipoo
c378e525da Extract the rest of legacy enums 2019-12-10 20:23:15 +09:00
smoogipoo
e3f925f69a Extract legacy hitobject type enum 2019-12-10 20:19:16 +09:00
smoogipoo
8012b21ffa Extract legacy sound type enum 2019-12-10 20:18:44 +09:00
Dean Herbert
138b83c9ea
Merge branch 'master' into customized-mods 2019-12-10 19:13:32 +09:00
Dean Herbert
f7f4a57c5f Update bindable types in line with framework 2019-12-10 16:48:24 +09:00
Dan Balasescu
bd6a08a21b
Merge branch 'master' into apply-to-track 2019-12-10 16:15:24 +09:00
Dean Herbert
5f3d163772
Merge branch 'master' into segmented-slider-paths-3 2019-12-10 14:28:20 +09:00
smoogipoo
ab0f2e7c6a Apply suggested refactorings 2019-12-10 13:12:54 +09:00
Dean Herbert
dc9775742c
Fix incorrect code migration
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2019-12-10 02:23:17 +09:00
Dean Herbert
12bdb1dafd Pin DC/NC pitch 2019-12-09 20:40:38 +09:00
smoogipoo
47f3c4a596 Don't serialise path version 2019-12-09 20:18:18 +09:00
Dean Herbert
edc8220554 Add time ramp settings 2019-12-09 19:58:51 +09:00
Dean Herbert
7fd52c21f5 Update mods and user adjust to use adjustments 2019-12-09 19:41:31 +09:00
Dean Herbert
6b667daf09 Update bindable types in line with framework 2019-12-09 19:41:18 +09:00
Huo Yaoyuan
04b3297a05 Constrain configuration lookup as enum. 2019-12-09 17:45:26 +08:00
smoogipoo
6d9cd0fafe Split out complex method 2019-12-09 18:25:13 +09:00
smoogipoo
b6e2738236 Remove unused using 2019-12-09 18:15:00 +09:00
smoogipoo
a1798fd38d Fix bad ctor implementation 2019-12-09 18:01:13 +09:00
smoogipoo
bfbb9aa18e Remove outdated assert 2019-12-09 18:01:02 +09:00
smoogipoo
883d5bc11d Remove automatic slider path offsetting 2019-12-09 17:54:22 +09:00
smoogipoo
9cb649436c Default to linear control point type 2019-12-09 17:47:05 +09:00
smoogipoo
5a093c039c Simplify path/point construction 2019-12-09 17:46:40 +09:00
Dean Herbert
ba538cf09b Merge branch 'apply-to-track' into adjustable-double-time 2019-12-09 17:45:19 +09:00
Dean Herbert
eb074b7058 Allow mods to apply to track, not clock 2019-12-09 17:44:45 +09:00
Dean Herbert
0c7e5a2e3b Add bindable adjustments for DT/HT rate 2019-12-09 16:54:00 +09:00
Dean Herbert
e37526888c Merge remote-tracking branch 'upstream/master' into adjustable-double-time 2019-12-09 16:43:17 +09:00
smoogipoo
c18f2e6436 Merge remote-tracking branch 'refs/remotes/origin/master' into segmented-slider-paths-3 2019-12-09 15:34:49 +09:00
smoogipoo
4905709ea4 Remove unused usings 2019-12-09 13:19:21 +09:00
smoogipoo
16f8341a02 Handle control point positional updates within SliderPath 2019-12-06 18:49:01 +09:00
Dean Herbert
a5d5099868 Use SettingsSource for mod cusomisation 2019-12-06 17:09:48 +09:00
smoogipoo
b4e1b5fa98 Explose + use the full calculated length of the path 2019-12-06 15:53:19 +09:00
smoogipoo
2654710d91 Add tests and fix negative expected distances 2019-12-06 15:37:06 +09:00
Dean Herbert
170954bc6e Merge remote-tracking branch 'upstream/master' into customized-mods 2019-12-06 15:31:20 +09:00
smoogipoo
27dd12a66d Rewrite slider length calculation for readability 2019-12-06 15:06:31 +09:00
Dean Herbert
9f4c8db395 Add xmldoc 2019-12-06 12:17:41 +09:00
smoogipoo
23c7132c4f Add missing license header 2019-12-06 11:53:22 +09:00
Dean Herbert
d8620a70fb Make work in editor 2019-12-05 20:12:25 +09:00
smoogipoo
3ebbf62b2a Initial game-wide update with the new SliderPath 2019-12-05 19:53:36 +09:00
smoogipoo
c9a66c0d07 Expose a version to indicate path changes 2019-12-05 18:31:28 +09:00
smoogipoo
1585d83b96 Add legacy constructor 2019-12-05 18:19:42 +09:00
smoogipoo
986ac1cee4 Make expected distance a bindable 2019-12-05 17:51:29 +09:00
smoogipoo
2702edfa55 Rename new path, replace existing one 2019-12-05 17:49:32 +09:00
smoogipoo
5e9b739b67 Re-implement slider paths to support multiple segments 2019-12-05 16:45:02 +09:00
smoogipoo
0149e47673 Expose general control point change event 2019-12-05 14:38:32 +09:00
smoogipoo
3e0f499e72 Add xmldocs 2019-12-05 14:38:21 +09:00
smoogipoo
40d0700fa5 Add structure for path control points 2019-12-05 13:43:38 +09:00
Huo Yaoyuan
05cfef92f9 Don't compare spans with null. 2019-12-03 20:09:58 +08:00
Huo Yaoyuan
a42f9447e6 Don't use Equals(object) on T?. 2019-12-03 20:07:22 +08:00
Dean Herbert
f181ee1843 Hide the menu cursor while inside the playfield by default 2019-11-29 17:35:11 +09:00
Albie
7864899249
Merge branch 'master' into cinema-mod 2019-11-28 16:42:01 +00:00
Dean Herbert
01a37771bc
Merge branch 'master' into customized-mods 2019-11-27 19:44:32 +09:00
Huo Yaoyuan
c0fe91a84c Merge branch 'master' into sharpen 2019-11-26 18:21:50 +08:00
Albie
09158b6b08
Merge branch 'master' into cinema-mod 2019-11-26 06:57:47 +00:00
Dean Herbert
fbebbab5db Remove excess parenthesis 2019-11-25 22:37:07 +09:00
Dean Herbert
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
Albie
0a70ec0b11
Merge branch 'master' into cinema-mod 2019-11-25 07:25:30 +00:00
Albie
9fdbb2a58e change name of interface and expose method instead of seperate values 2019-11-25 07:24:29 +00:00
Albie
1d6665fe57 improve code quality using resharper and codefactor advice 2019-11-24 07:42:39 +00:00
Albie
b8e5796af5 add forced video/storyboard and disabled dim for mod inside new interface 2019-11-24 07:37:06 +00:00
andy840119
6126fd9a6b ApplyToDrawableHitObjects should be able to get all the hitobject in nasted Playfield 2019-11-24 10:42:05 +09:00
Albie Spriddell
20edaf4ba6 add cinema mod support 2019-11-23 17:32:16 +00:00
Andrei Zavatski
eb2f7c1d0a Rename forgotten variable 2019-11-21 20:37:02 +03:00
Andrei Zavatski
0f1a3d97c8 Naming adjustments 2019-11-21 20:34:19 +03:00
Andrei Zavatski
c7c8527f5f Remove OnHighlightedChanged function 2019-11-21 20:22:15 +03:00
Andrei Zavatski
458496206c Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-21 18:49:37 +03:00
Huo Yaoyuan
818553027b Merge branch 'master' into sharpen 2019-11-21 23:42:46 +08:00
Dan Balasescu
a7c074ff37
Merge branch 'master' into math_clamp 2019-11-21 11:08:56 +09:00
iiSaLMaN
5391c752b4 Implement IAggregateAudioAdjustments properties for FallbackSampleStore 2019-11-21 03:20:08 +03:00
Berkan Diler
6cab517b2d .NET Standard 2.1 implements Math.Clamp , use it instead of MathHelper.Clamp from osuTK. 2019-11-20 13:37:47 +01:00
Huo Yaoyuan
374ef6ff83 Merge branch 'master' into sharpen 2019-11-20 17:30:58 +08:00
Huo Yaoyuan
b1b234c6fb Use paramref. 2019-11-17 20:49:36 +08:00
Huo Yaoyuan
f05b83d7d4 Use typeparamref. 2019-11-17 20:48:23 +08:00
Andrei Zavatski
2592a0489b Use existing ModNoMod 2019-11-15 11:57:40 +03:00
Andrei Zavatski
aca3690d77 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-13 00:20:51 +03:00
Huo Yaoyuan
144812669d Use static local functions. 2019-11-12 19:56:54 +08:00
Huo Yaoyuan
dcfa98414f Use ??=. 2019-11-12 19:56:51 +08:00
Huo Yaoyuan
31cc0d13da Use 'out var'. 2019-11-12 19:55:26 +08:00
Huo Yaoyuan
e5e8e70704 Use pattern matching. 2019-11-12 19:55:19 +08:00
Dean Herbert
758c304d92
Merge branch 'master' into fallback-to-skin-combo-colours 2019-11-12 19:00:05 +09:00
smoogipoo
10fd5ef5a7 Merge context menus 2019-11-12 15:02:27 +09:00
Andrei Zavatski
fa01e11a6e Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-12 08:25:42 +03:00
smoogipoo
3f8928ca25 Suppress warnings 2019-11-12 13:41:54 +09:00
Dean Herbert
b37bf4ea01 Merge remote-tracking branch 'upstream/master' into selection-hitsound-addition 2019-11-12 10:44:53 +09:00
Andrei Zavatski
4145e25f7b Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-11 17:55:10 +03:00
Huo Yaoyuan
e9b8cbb516 Apply other styles. 2019-11-11 20:27:04 +08:00
Huo Yaoyuan
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
smoogipoo
e924a5d51e Disable ruleset input in the editor 2019-11-11 13:04:43 +09:00
Andrei Zavatski
e3d8e29cdd Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-11-10 23:38:41 +03:00
smoogipoo
b4cb4c1243 Remove previous samples on change 2019-11-08 16:19:55 +09:00
smoogipoo
a9b4106075 Remove unnecessary (for now) scheduling 2019-11-08 16:19:43 +09:00
smoogipoo
53e6186b6d Fix drawable hitobject samples not updating 2019-11-08 14:59:47 +09:00
smoogipoo
6fc1be64c2 Make hitobject samples a bindable list 2019-11-08 14:04:57 +09:00
iiSaLMaN
cee16e9419 Merge remote-tracking branch 'refs/remotes/upstream/master' into fallback-to-skin-combo-colours 2019-11-07 19:11:29 +03:00
iiSaLMaN
808543885f Change ComboColours type to IReadOnlyList<Color4>
Also exposes functions to modify the internal list (AddComboColours, ClearComboColours)
2019-11-07 15:54:30 +03:00
smoogipoo
f3ddc4c00b Advance editor clock after a snapped placement 2019-11-07 14:08:02 +09:00
smoogipoo
64d900b387 Disable input for non-selected blueprints 2019-11-05 11:33:37 +09:00
unknown
2bc6932567 make interface mod applicable 2019-11-05 00:55:55 +08:00
unknown
1216d66a4c Merge remote-tracking branch 'origin/customized-mods' into customized-mods 2019-11-04 23:21:45 +08:00
Dean Herbert
1155aacd90
Update sliders when control points change (#6680)
Update sliders when control points change
2019-11-03 19:05:48 +09:00
Dean Herbert
d089e47a56
Merge branch 'master' into master 2019-11-01 14:15:57 +09:00
smoogipoo
0171b2ae7c Fix scrolling hitobjects expiring too soon 2019-11-01 12:10:03 +09:00
smoogipoo
41ae66d517 Update slider when control points change 2019-10-31 18:24:38 +09:00
smoogipoo
9f28b1905b Expose composer method to update hitobject 2019-10-31 18:15:19 +09:00
nwabear
e35931fdfc removed blank line 2019-10-26 14:33:59 -05:00
nwabear
349a2745c5 Merge remote-tracking branch 'origin/master' 2019-10-26 14:30:17 -05:00
nwabear
9e2e87c8d1 added visual tests
added small commenting
added xmldoc for CancelResume();
2019-10-26 14:29:52 -05:00
nwabear
f8354eefc4 Added null check in the CancelResume method 2019-10-25 16:49:18 -05:00
nwabear
b0e21c2749 Fixed Issue #6442 2019-10-25 14:57:49 -05:00
Dan Balasescu
3692846367
Merge branch 'master' into snapping-refactor 2019-10-25 18:26:14 +09:00
smoogipoo
4ca6a5a0cc Interface the distance snap provider 2019-10-25 16:50:21 +09:00
smoogipoo
607b4d874a Refactor flow of snapping through HitObjectComposer 2019-10-25 16:40:30 +09:00
Dean Herbert
fa3350ce2d
Refactor blueprint movement and selection events (#6588)
Refactor blueprint movement and selection events
2019-10-24 22:58:03 +09:00
smoogipoo
d83b9ef0e4 Rename grid snapping methods 2019-10-24 18:18:04 +09:00
smoogipoo
f45f17339c Implement slider path distance snapping 2019-10-24 18:17:30 +09:00
smoogipoo
e04c77178c Move selection events to BlueprintContainer 2019-10-24 14:58:02 +09:00
smoogipoo
714c89faa4 Move selection drag events to BlueprintContainer 2019-10-24 14:57:58 +09:00
smoogipoo
c03fa01fd9 Remove unnecessary set 2019-10-23 17:51:16 +09:00
smoogipoo
2c9b11cdfd Move variable outside of if block 2019-10-23 17:49:21 +09:00
smoogipoo
64682611bb Fix distance snapping grid not updating on scroll 2019-10-23 16:39:14 +09:00
Dean Herbert
e3fa5f1da3
Merge branch 'master' into beatsnap-grid-integration 2019-10-21 18:44:34 +09:00
Dean Herbert
ed8b8e3ad0
Merge pull request #6557 from smoogipoo/fix-hitcircle-selection-size
Fix hitcircle selection area being too large
2019-10-21 18:43:48 +09:00
Dean Herbert
9f004186d5 Ensure DrawableHitObject's HitObject is not null 2019-10-21 17:56:39 +09:00
Dean Herbert
b157aaead1 Merge remote-tracking branch 'upstream/master' into beatsnap-grid-integration 2019-10-21 17:09:43 +09:00
smoogipoo
38c2c328ff Rename HitObject -> DrawableObject in selection blueprints 2019-10-21 17:04:56 +09:00
smoogipoo
dc222b5e4d Add common path for duplicated code 2019-10-21 13:52:55 +09:00
Dean Herbert
d0eaf629af
Merge branch 'master' into dho-apply 2019-10-18 19:45:10 +09:00
smoogipoo
190a83da6e Refresh the grid after a placement 2019-10-18 19:04:08 +09:00
Dean Herbert
07286c0cfc Fix editor's clock not being processed unless composer is loaded 2019-10-18 18:21:53 +09:00
smoogipoo
31313ec9e1 Fix potential nullref 2019-10-18 17:56:31 +09:00
smoogipoo
89f50b26f7 Fix hitobject combo colour potentially not getting adjusted 2019-10-18 17:32:11 +09:00
Dean Herbert
50d4a9d726
Merge pull request #6534 from smoogipoo/placement-blueprint-starttime
Make BeginPlacement() set the hitobject start time
2019-10-18 16:25:38 +09:00
smoogipoo
f1d7e7e7f6 Merge branch 'placement-blueprint-starttime' into beatsnap-grid-integration 2019-10-18 13:49:09 +09:00
smoogipoo
463079e148 Implement placement snapping 2019-10-18 13:48:59 +09:00
smoogipoo
5d3d25d3b6 Make method private for now 2019-10-18 13:24:28 +09:00
smoogipoo
cb301a4661 Improve performance of intra-frame updates/deletions 2019-10-18 13:18:57 +09:00
smoogipoo
9a896d52bf Fix nested hitobjects not updating 2019-10-18 13:18:41 +09:00
smoogipoo
b047e05d86 Fix bad variable names 2019-10-18 13:18:16 +09:00
smoogipoo
ba4402207a Implement selection time snapping 2019-10-18 12:53:38 +09:00
smoogipoo
1dc7c59853 Implement selection position snapping 2019-10-18 12:53:27 +09:00
smoogipoo
c4704f6a29 Add beat snap grid to the composer 2019-10-18 12:47:52 +09:00
smoogipoo
d3e38f5e5a Make the editor beatmap protected 2019-10-18 12:40:31 +09:00
smoogipoo
c5ee533524 Merge branch 'dho-apply' into beatsnap-grid-integration 2019-10-18 12:38:29 +09:00
smoogipoo
f429a8f7c2 Add back/obsolete old AddNested() method 2019-10-17 14:02:08 +09:00
smoogipoo
d8f3678c3c Rename parameter 2019-10-17 12:53:54 +09:00
smoogipoo
9b9138253c Remove finalizer 2019-10-17 11:27:23 +09:00
smoogipoo
8d7453c251 Rework construction of nested hitobjects 2019-10-16 22:10:50 +09:00
smoogipoo
79b2c7b480 Make BeginPlacement() set the hitobject start time 2019-10-16 20:04:15 +09:00
smoogipoo
96c6aeefe9 Remove out-of-date todo 2019-10-15 16:16:33 +09:00
smoogipoo
12cd57744b Make RulestStore initialise at construction time 2019-10-15 16:14:06 +09:00
Dean Herbert
00d4d976b7
Move editor selections relative to hitobject start positions (#6431)
Move editor selections relative to hitobject start positions
2019-10-11 19:35:11 +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
ad6b8d3e04 Add result offset bounding to result itself, rather than just transforms 2019-10-09 19:08:55 +09:00
Dean Herbert
51bf600ea7 Use empty hitwindows instead of null 2019-10-09 19:08:31 +09:00
LeNitrous
59b2f02828 initial implementation of customizable mods 2019-10-08 18:34:09 +08:00
smoogipoo
c1db11fa06 More removal of "drag" 2019-10-08 19:24:58 +09:00
smoogipoo
08d043f447 Move selection relative to the hitobject start positions 2019-10-08 18:57:03 +09:00
Dean Herbert
6fce646369
Merge branch 'master' into placement-blueprint-movement 2019-10-04 19:05:56 +08:00
Dean Herbert
9eab56e2fc
Merge branch 'master' into editor-beatmap-changed-event 2019-10-04 17:58:58 +08:00
Dean Herbert
aeb62825cd Move out requireMoreUpdateLoops for better consistency 2019-10-04 13:42:06 +08:00
Dean Herbert
ddef7fa3ba Repair behavioural change 2019-10-04 13:32:47 +08:00
smoogipoo
652acac87f Move placement movement event to BlueprintContainer 2019-10-03 16:14:42 +09:00
Dean Herbert
b28689c774 Fix key counters appearing negative on intense beatmaps
When `FrameStabilityContainer` decides it needs multiple updates on the same frame, it ends up with an elapsed time of zero. This was interacting badly with the condition used in `RulesetInputManager` to govern playback direction.

I have changed this to use `Rate` as exposed by the frame stable clock.

- Closes #6198.
2019-10-03 15:01:54 +08:00
smoogipoo
2c13043c42 Hook up the event to HitObjectComposer 2019-10-03 14:40:00 +09:00
smoogipoo
897b3233af Add start time tracking to EditorBeatmap 2019-10-03 14:23:48 +09:00
smoogipoo
ce609302ed Fix CI error 2019-10-01 15:41:09 +09:00
miterosan
9f498d2990 Log the exception that caused to loading of rulesets to fail. 2019-09-29 19:25:44 +02:00
smoogipoo
45f2bcc440 Fix combo bindings not being bound to nested hitobjects 2019-09-26 17:39:19 +09:00
smoogipoo
706e884cc0 Update accent colour on combo index change 2019-09-26 17:13:13 +09:00
smoogipoo
bbf0544a8d Add bindables for IHasComboInformation properties 2019-09-26 16:55:08 +09:00
Dean Herbert
7d5544460b
Fix mania scrolling speed not including beatmap slider multipli… (#6236)
Fix mania scrolling speed not including beatmap slider multiplier

Co-authored-by: Dean Herbert <pe@ppy.sh>
2019-09-25 22:34:46 +09:00
smoogipoo
244627ff10 Add comment + test for slider multiplier 2019-09-25 20:12:01 +09:00
Bartłomiej Dach
9323df26a1 Decouple bar line hitobjects from generator
Introduce an IBarLine interface, which together with generic constraints
helps decouple BarLineGenerator from the actual hitobject types it
creates. Thanks to this, all rulesets that want bar lines can provide
an implementation of IBarLine that also derives from the base hitobject
class.

This allows DrawableBarLines in taiko and mania to be migrated back to
DrawableTaikoHitObject and DrawableManiaHitObject base classes
respectively. This in turn resolves #6215 without code duplication,
since the missing anchoring application is now done in mania's
DrawableBarLine through deriving from DrawableManiaHitObject.
2019-09-25 00:36:27 +02:00
smoogipoo
4abe0473b9 Fix relative beat length not considering slider multiplier 2019-09-24 16:49:42 +09:00
smoogipoo
af0c15a93c Fix initial hitobject states not being recomputed correctly 2019-09-24 16:48:39 +09:00
smoogipoo
75cceb9e30 Fix LifetimeChanged being invoked before lifetime is set 2019-09-24 16:47:34 +09:00
Dean Herbert
c99b48f934 Bring up-to-date and use IApplicableFailOverride 2019-09-21 23:30:54 +09:00
Dean Herbert
4c4b71eeec
Merge branch 'master' into master 2019-09-21 22:45:05 +09:00
Andrei Zavatski
e7118a9272 Use System mod type for NoMod 2019-09-20 23:47:21 +03:00
Andrei Zavatski
0d43f4e4f9 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-09-20 23:39:44 +03:00
Vperus
ac8fe6045f Fixed typo
Changed CreateReourceStore() to CreateResourceStore()
2019-09-20 19:58:39 +03:00
Andrei Zavatski
0cf4db899f Few cleanups 2019-09-19 17:03:52 +03:00
Andrei Zavatski
529a1c3b91 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-09-19 16:46:58 +03:00
Dean Herbert
0640b2eb35
Fix judgement sizes not matching legacy skins (#6145)
Fix judgement sizes not matching legacy skins
2019-09-19 18:49:35 +09:00
Dean Herbert
3abcd898a6
Add hit lighting (#6144)
Add hit lighting

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-19 18:49:22 +09:00
Dan Balasescu
027d6194f2
Merge branch 'master' into add-hit-lighting 2019-09-19 18:07:29 +09:00
smoogipoo
bc9941a990 Newline required when xmldocs are involved 2019-09-19 18:00:11 +09:00
smoogipoo
65276cd235 Remove whitespace 2019-09-19 17:58:10 +09:00
smoogipoo
db24cfbead Merge remote-tracking branch 'origin/master' into auto-restart-mod-perfect
# Conflicts:
#	osu.Game/Screens/Play/Player.cs
2019-09-19 17:57:04 +09:00
smoogipoo
da15b900f7 Remove virtual member from ModBlockFail 2019-09-19 17:44:24 +09:00
Dean Herbert
e6c36a8bc7 Fix scaling mode being applied to judgements 2019-09-19 17:36:32 +09:00
Dean Herbert
2cd7c769e1 Merge remote-tracking branch 'upstream/master' into fix-judgement-size 2019-09-19 16:32:37 +09:00
smoogipoo
762adb783a Fix duplicate invocation of updateState on load complete 2019-09-19 14:15:06 +09:00
Dean Herbert
2296ea75d7
Add reference to xmldoc
Co-Authored-By: Salman Ahmed <slmanarendo1950@gmail.com>
2019-09-19 02:03:30 +09:00
Dean Herbert
1150e9fdfb Bring other mods up-to-date 2019-09-19 01:45:42 +09:00
Dean Herbert
ff3a7c1d13 Merge remote-tracking branch 'upstream/master' into auto-restart-mod-perfect 2019-09-19 01:36:29 +09:00
Dean Herbert
5901a915e7 Always update drawable hitobject state on skin change 2019-09-18 20:19:57 +09:00
Dean Herbert
26eca5b1f4 Fix judgement sizes not matching skins stable 2019-09-18 02:56:03 +09:00
Dean Herbert
ba76f09c99 Add initial implementation of hit lighting
Requires a supporting skin, like osu!classic for now.
2019-09-18 02:49:54 +09:00
Dean Herbert
38d85e44be Merge branch 'master' into key-counter-fixes 2019-09-17 22:33:15 +09:00
Dean Herbert
624e5644a4 Change osu!catch key trigger to occur on frame before positional change 2019-09-13 23:06:35 +09:00
Dan Balasescu
b10ce0b12d
Merge branch 'master' into key-counter-fixes 2019-09-13 19:43:33 +09:00
Dan Balasescu
125b3fda6c
Merge branch 'master' into improve-catch-replay-frames 2019-09-13 19:23:15 +09:00
Dean Herbert
b81b162ee1 Update InitialLifetimeOffset comment 2019-09-12 19:30:27 +09:00
Dean Herbert
9fc60aeefc Merge branch 'master' into reset-dho-lifetimes 2019-09-12 19:29:14 +09:00
Dean Herbert
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
Dean Herbert
1dfd104690 Merge branch 'improve-catch-replay-frames' into key-counter-fixes 2019-09-12 18:34:00 +09:00
Dean Herbert
acdfeef1dc Improve how osu!catch stores and replays key actions 2019-09-12 18:33:46 +09:00
Dean Herbert
0cdf125c1e Handle key counter rewinding in a better way
Use ElapsedFrameTime rather than storing state data
2019-09-12 15:42:14 +09:00
Dean Herbert
af3bb5a2cd Centralise and share bar line generation code between rulesets 2019-09-10 13:30:54 +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
7f2d14416a Reset DrawableHitObject lifetimes on state change 2019-09-07 14:44:44 +09: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
a50284a5eb
Merge pull request #6019 from peppy/hit-window-refactor
Refactor HitWindows for legibility
2019-09-06 16:10:04 +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
c379480e7b
Merge branch 'master' into remove-judgement-occurred 2019-09-06 15:32:34 +09:00
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +09:00
Dean Herbert
bf6f803e69 Nest temporary class 2019-09-06 12:12:27 +09:00
Dean Herbert
7d1f5310d2 Don't implement anything 2019-09-06 12:03:29 +09:00
Dan Balasescu
5dbdce17a7
Merge branch 'master' into fix-sample-fallback 2019-09-06 11:27:39 +09:00
Dean Herbert
50985d1b1d Fix disposal logic 2019-09-06 10:43:19 +09:00
Dean Herbert
d6cdde552d Add comment explaining dispose logic 2019-09-06 01:14:37 +09:00
Dean Herbert
dafe9da851 Dispose config managers ahead of time to avoid database errors 2019-09-06 00:22:35 +09:00
Dean Herbert
60c2d113b8 Fix typo 2019-09-05 23:07:03 +09:00
Dean Herbert
0a6c42972c Add back missing sample fallback to default skin 2019-09-05 23:01:35 +09:00
Dean Herbert
c0bcbfd892 Merge branch 'master'
Conflicts:
	osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs
2019-09-05 14:40:30 +09:00
Dean Herbert
2c871c52f1
Add automatic resource mapping for rulesets to their own dll (#5988)
Add automatic resource mapping for rulesets to their own dll
2019-09-05 14:18:12 +09:00
Dean Herbert
8e8f33ec7b Remove null hinting for now 2019-09-04 21:35:59 +09:00
Dean Herbert
6197c7fd31 Add automatic resource mapping for rulesets to their own dll 2019-09-04 20:29:28 +09:00
Dean Herbert
b80a8296cd Fix unavailable rulesets crashing at song select 2019-09-04 20:28:52 +09:00
smoogipoo
07f662071d Remove judgementOccurred 2019-09-04 18:14:55 +09:00
Andrei Zavatski
04111cc3b7 Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-09-04 02:46:23 +03:00
Dean Herbert
bebc3309ce Refactor skin configuration to be infinitely extensible 2019-09-03 17:57:34 +09:00
Dean Herbert
05ed9d3802 Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements 2019-09-03 13:07:58 +09:00
Dean Herbert
4cad55cee6 Move hit windows lookup to DrawableRuleset 2019-09-03 13:05:03 +09:00
Dean Herbert
0261456d5a
Merge branch 'master' into play-to-gameplay 2019-09-03 11:42:15 +09:00
Dean Herbert
09097f7680
Merge branch 'master' into iskincomponent 2019-09-02 22:38:57 +09:00
Dean Herbert
91e3eeb1c0
Merge branch 'master' into beatmap-mod-selector 2019-09-02 21:35:42 +09:00
Dean Herbert
1e7528c2b3 Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements 2019-09-02 19:13:00 +09:00
smoogipoo
f20e07136a Add attribute to catch potential future nullrefs 2019-09-02 17:48:41 +09:00
smoogipoo
f6102b4d92 Adjust xmldoc 2019-09-02 17:15:36 +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
Dean Herbert
e1e4c00a15
Merge branch 'master' into improve-scrolling-ruleset-performance 2019-09-02 15:09:48 +09:00
smoogipoo
d74e1b9b64 Remove from dictionary on Remove() 2019-09-02 15:06:43 +09:00
smoogipoo
8f8d35bd15 Delay initial hitobject state computation 2019-09-02 15:06:34 +09:00
Dean Herbert
f9fcf1562f Merge remote-tracking branch 'upstream/master' into iskincomponent 2019-09-02 14:21:02 +09:00
smoogipoo
2945fef62d Expose HasCompleted from ScoreProcessor 2019-09-02 13:04:30 +09:00
Dean Herbert
7ca51d3866 Fix resume overlay being drawn below cursor
Closes #5905.
2019-09-02 11:20:55 +09:00
Dean Herbert
8f5dc06d55 Merge remote-tracking branch 'upstream/master' into accuracy-bar 2019-08-30 20:18:25 +09:00
Dean Herbert
741bd0a5cf Fix incorrect colour sizes and simplify alignment specification 2019-08-30 18:35:17 +09:00
Dean Herbert
70e417533f Update naming 2019-08-30 15:13:29 +09:00
Dean Herbert
a15828ab25 Introduce the concept of SkinComponents
Removes reliance on string lookups and better defines elements for introduction into database
2019-08-30 14:55:52 +09:00
Dean Herbert
dc1046bf0c Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-30 12:53:05 +09:00
smoogipoo
6ab2b20c70 Add an interface for working beatmaps 2019-08-29 19:38:44 +09:00
Dan Balasescu
d8a48a37d1
Merge branch 'master' into editor-refactor 2019-08-29 18:22:42 +09:00
smoogipoo
714ee312da Rename DrawableEditRuleset -> DrawableEditRulesetWrapper 2019-08-29 18:20:43 +09:00
Dean Herbert
98626018fd
Encapsulate editor hitobject additions/removals (#5878)
Encapsulate editor hitobject additions/removals
2019-08-29 18:20:24 +09:00
smoogipoo
87e28ab1f9 Remove non-generic DrawableEditRuleset 2019-08-29 18:12:29 +09:00
smoogipoo
59296d12f3 Refactor HitObjectComposer 2019-08-29 18:02:50 +09:00
smoogipoo
0fbdcabb6f Re-use a single beatmap processor 2019-08-29 17:21:52 +09:00
smoogipoo
b40143cb73 Remove unnecessary comment 2019-08-29 17:18:34 +09:00
smoogipoo
dad0fa2dca Bind disposal 2019-08-29 16:31:40 +09:00
smoogipoo
5db813b7a4 Add secondary interface for further abstraction 2019-08-29 16:26:39 +09:00
smoogipoo
7927b684d3 Hook up + use editor beatmap 2019-08-29 16:06:40 +09:00
smoogipoo
6949c96aaa Add initial EditorBeatmap structure 2019-08-29 15:17:27 +09:00
Dean Herbert
1597cf874e
Merge branch 'master' into relative-beat-lengths 2019-08-28 20:26:20 +09:00
Dean Herbert
f6ad95018a Centralise default beat length specification 2019-08-28 20:22:16 +09:00
Dean Herbert
ecfcbe3723 Merge remote-tracking branch 'upstream/master' into relative-beat-lengths 2019-08-28 20:21:56 +09:00
Dean Herbert
9a98f39f06 Share logic with other rulesets (and make default) 2019-08-28 18:12:47 +09:00
Dean Herbert
7ea55a5cdd Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-28 16:36:20 +09:00
Dean Herbert
7ccc409df7 Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin 2019-08-27 18:27:26 +09:00
smoogipoo
9e926d44c0 Obsolete legacy UpdateState() method 2019-08-27 16:09:47 +09:00
Dean Herbert
6aab7168d4
Merge branch 'master' into relative-beat-lengths 2019-08-27 10:59:52 +09:00
Dean Herbert
07380af877
Merge branch 'master' into scrolling-lifetime-safety 2019-08-26 19:07:05 +09:00
Dean Herbert
0422c19c2f Group lifetime setters together 2019-08-26 19:06:23 +09:00
Dean Herbert
dffb2d6474
Merge branch 'master' into relative-beat-lengths 2019-08-26 18:59:50 +09:00
Dean Herbert
28dc51279a
Allow RulesetConfigCache to return null configs (#5835)
Allow RulesetConfigCache to return null configs
2019-08-26 18:59:26 +09:00
Dean Herbert
b41bed8ba0
Add nullref safety to FrameStablePlayback boolean (#5834)
Add nullref safety to FrameStablePlayback boolean
2019-08-26 18:58:27 +09:00
smoogipoo
fd4c6e08ca Merge remote-tracking branch 'origin/master' 2019-08-26 17:37:06 +09:00
smoogipoo
fb1cd9e5e7 Add a sane default lifetime end for scrolling hitobjects 2019-08-26 16:47:23 +09:00
smoogipoo
6dfe95db74 Allow RulesetConfigCache to return null configs 2019-08-26 16:34:12 +09:00
smoogipoo
6596d7fc46 Add nullref safety to FrameStablePlayback boolean 2019-08-26 16:33:24 +09:00
smoogipoo
1cfe2b7de8 Fix timing points beyond the end time potentially becoming dominant 2019-08-26 16:31:34 +09:00
smoogipoo
d99c60adc7 Provide a way to scale beat lengths relative to each other 2019-08-26 12:51:13 +09:00
Dean Herbert
5e362d10b1 Add ruleset-specific legacy skin providers
This moves implementation of osu! skinnables to OsuLegacySkin.
2019-08-26 12:21:49 +09:00
Dean Herbert
acc07c1d65 Remove mod icon offset 2019-08-21 22:18:29 +09:00
iiSaLMaN
439d825dd1 Disallow adding bonus judgements' result to statistics 2019-08-20 18:39:29 +03:00
Desconocidosmh
b3556403aa Make GetNextObject() a virtual method 2019-08-19 16:18:25 +02:00
Dean Herbert
152df9f3d5 Remove accidental blank line 2019-08-16 20:23:09 +09:00
Dean Herbert
d11b896148 Move FrameStablePlayback handling to early return 2019-08-16 20:21:00 +09:00
Dean Herbert
58d2268b9e Combine conditionals that provide the same behaviour 2019-08-16 19:52:35 +09:00
smoogipoo
8c67f58e2d Disable frame-stable playback in the editor 2019-08-15 18:25:31 +09:00
Dean Herbert
bd61642ac6
Merge branch 'master' into beatmap-mod-selector 2019-08-13 00:54:21 +09:00
iiSaLMaN
883102ee5d Move score multiplier logic inside score calculation 2019-08-12 16:40:52 +03:00
Andrei Zavatski
b71c776e65 Add web-like hover behavior 2019-08-12 16:20:36 +03:00
Andrei Zavatski
62a91e4aaa Add the ability to override Highlighted action to the ModIcon 2019-08-12 15:20:21 +03:00
Andrei Zavatski
16b6ed846f Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-mod-selector 2019-08-12 14:46:24 +03:00
Dean Herbert
90b1fe81f3 Update cached usage in line with framework changes 2019-08-09 19:12:29 +09: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
Dean Herbert
dbb3b583cf
Log error for invalid beatmap/storyboard events instead of thro… (#5611)
Log error for invalid beatmap/storyboard events instead of throwing

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-08-09 12:56:47 +09:00
Dean Herbert
7e9c100c9b Apply new resharper refactors 2019-08-09 12:29:33 +09:00
iiSaLMaN
566d874641 Prevent failing when reverting to a hasFailedAtJudgement 2019-08-08 15:25:07 +03:00
smoogipoo
de4ad1f625 Fix bad log message 2019-08-08 14:44:49 +09:00
smoogipoo
ac2060f1cf Throw exceptions and let LegacyDecoder handle them 2019-08-08 14:44:04 +09: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
Andrei Zavatski
d9fd054102 Merge master with conflicts resolved 2019-08-07 16:05:28 +03:00
Dan Balasescu
df784e1d8e
Merge branch 'master' into mod-icon-improvements 2019-08-07 19:43:52 +09:00
Dean Herbert
b0e0659715 Dispose instead 2019-08-07 17:33:30 +09:00
Dean Herbert
c6d481238d Move QuadBatch to a local variable to stop resharper complaining 2019-08-07 16:56:22 +09:00
Andrei Zavatski
1d42f0959a ModIcon improvements 2019-08-07 08:46:27 +03:00
Andrei Zavatski
87974850dd Initial implementation 2019-08-07 08:42:43 +03:00
smoogipoo
0ff1c6184b Add generation comment 2019-08-01 17:36:20 +09:00
smoogipoo
a2468e599b Fix ticks in repeat spans being returned in reverse order 2019-08-01 17:31:37 +09:00
smoogipoo
bc80fa11bb Mode IApplicableToBeatmap application to WorkingBeatmap 2019-08-01 12:41:46 +09:00
smoogipoo
8a64ab0384 Remove generics from IApplicableToBeatmap 2019-08-01 12:39:32 +09: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
Dean Herbert
894d573fbc
Cache DrawableHitObject for skinnables to access (#5463)
Cache DrawableHitObject for skinnables to access
2019-07-29 18:49:37 +09:00
Dan Balasescu
7779302e82
Merge branch 'master' into skin-scaling-modes 2019-07-29 17:47:07 +09:00
iiSaLMaN
ba4045a761 Fix transforming mods not working properly
Hidden, Grow, Deflate, etc..
2019-07-27 00:22:40 +03:00
Dean Herbert
eb6bda3f08 Cache DrawableHitObject for skinnables to access 2019-07-25 16:03:07 +09:00
Dean Herbert
efad9b3150
Merge branch 'master' into skin-scaling-modes 2019-07-24 18:37:31 +09:00
smoogipoo
4e7e2d1d52 Adjust comments 2019-07-23 21:16:09 +09:00
smoogipoo
74b09c72fa Refactor state updates to convert State into an IBindable 2019-07-23 21:16:09 +09:00
Dan Balasescu
9b526ef61e
Merge branch 'master' into move-state-logic 2019-07-23 20:37:57 +09:00
Dean Herbert
91e21688d8
Make AccentColour a bindable (#5420)
Make AccentColour a bindable

Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-07-23 20:37:47 +09:00
smoogipoo
776757545d Fix FTB causing flashlight to block vision correctly 2019-07-23 15:17:02 +09:00
Dean Herbert
d5ee4cbc9c Move TouchDevice mod to new "system" category 2019-07-23 13:14:28 +09:00
Dean Herbert
d4d286c988 Add full documentation 2019-07-22 16:08:38 +09:00
Dean Herbert
c3b81bef4a Flip default to the preferred method going forward 2019-07-22 15:55:38 +09:00
Dean Herbert
be170b4124 Naming and documentation improvements 2019-07-22 15:50:02 +09:00
Dean Herbert
91f86adb66 Move DrawableHitObject state management to base class 2019-07-22 15:07:12 +09:00
Dean Herbert
8327452fe1 Make AccentColour a bindable 2019-07-22 14:48:59 +09:00
Dean Herbert
74c961bcff Add more flexible skin element confine modes 2019-07-22 14:42:56 +09:00
Dean Herbert
f1423b8cb5 Add more brackets 2019-07-18 00:03:04 +09:00
Dean Herbert
3e57fcf5c5 Merge remote-tracking branch 'upstream/master' into cleanup-slider-bodies 2019-07-17 22:11:01 +09:00
Dean Herbert
1a19cf0739
Fix 0-length sliders not getting correct lengths (#5033)
Fix 0-length sliders not getting correct lengths
2019-07-17 18:01:57 +09:00
smoogipoo
a9286fee07 Recycle slider paths when the parenting slider dies 2019-07-17 16:20:27 +09:00
smoogipoo
ed203cb0ff Delay intial hitobject updates 2019-07-16 13:45:59 +09:00
Dean Herbert
d0c8aaba4e Override basic equality function too 2019-07-15 15:50:50 +09:00
Dean Herbert
9c1badd2e3 Fix rulesets not matching in dictionary lookups due to missing GetHashCode implementation 2019-07-15 15:42:54 +09:00
Dean Herbert
80ddfc3b1e Disable frame accurate replay playback
I want to prioritise better playback performance over accuracy for now. Also, in my testing this is still 100% accurate due to the addition of the FrameStabilityContainer, which is pretty cool.
2019-07-10 10:27:51 +09:00
Dean Herbert
84919d70bb Health bar -> Health display
Also inverts logic
2019-07-07 05:30:30 +09:00
Salman Ahmed
1f13b94c72
Fix build error 2019-07-06 18:44:55 +03:00
Salman Ahmed
a42c79895d
Remove unnecessary private field 2019-07-06 18:38:41 +03:00
Salman Ahmed
dfabed3d85
Merge branch 'master' into applicable-to-hud 2019-07-06 16:30:02 +03:00
iiSaLMaN
530e07110f Use a descriptive name for the setting 2019-07-06 06:32:25 +03:00
smoogipoo
5862eb172a Merge remote-tracking branch 'origin/master' into fix-zero-length-sliders
# Conflicts:
#	osu.Game/Rulesets/Objects/Legacy/Catch/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Mania/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Osu/ConvertHitObjectParser.cs
#	osu.Game/Rulesets/Objects/Legacy/Taiko/ConvertHitObjectParser.cs
2019-07-05 15:48:04 +09:30
Dean Herbert
8120bb36bc More methods 2019-07-03 18:42:10 +09:00
Dean Herbert
06ef8f71e9 Fix typo 2019-07-03 18:41:01 +09:00
Dean Herbert
62dd89197c Refactor comment slightly 2019-07-03 18:36:04 +09:00
miterosan
5ecb764cdc Remove whitespaces and lowercase the comments 2019-07-03 10:57:09 +02:00
miterosan
43d7f66c5b Add comment about the android ruleset situation. 2019-07-03 10:54:10 +02:00
miterosan
ab244d1b7f Only log that the rulesets could not be loaded from a directory. 2019-07-03 10:21:18 +02:00
miterosan
d9e646d9ef Use addRuleset inside loadRulesetFromFile 2019-07-03 09:51:09 +02:00
Salman Ahmed
98daaf634a Simplify changes 2019-07-03 06:44:17 +03:00
Salman Ahmed
3f39541cc2 Fade health bar on value change 2019-07-03 05:11:11 +03:00
miterosan
f1ceea8361 style fixes 2019-07-02 17:25:12 +02:00
miterosan
778c36c7d7 Allow discover of rulesets that are already loaded. 2019-07-02 17:05:04 +02:00
Salman Ahmed
744e651a37
Merge branch 'master' into applicable-to-hud 2019-07-02 05:24:56 +03:00
Salman Ahmed
a8e8650ddd Move blocking fail logic into a base class 2019-07-02 01:47:39 +03:00
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
iiSaLMaN
41597efdf7 Hide health bar in no fail 2019-06-29 04:25:52 +03:00
iiSaLMaN
d37cefbad8 Implement IApplicableToHUD 2019-06-29 04:23:59 +03:00
smoogipoo
a6ee83eac2 Merge remote-tracking branch 'origin/master' into fix-zero-length-sliders 2019-06-27 19:57:21 +09:00
Dean Herbert
ba48331fcb Remove no longer necessary HandleInput overrides 2019-06-27 18:34:59 +09:00
smoogipoo
6ce86e6083 General refactoring 2019-06-26 17:52:25 +09:00
Andrei Zavatski
4a05c560cf Remove unwanted class and move the bind logic outside the RulesetSelector 2019-06-24 23:13:28 +03:00
Andrei Zavatski
35db20a337 Remove useless bindable check 2019-06-24 02:01:00 +03:00
Andrei Zavatski
60ff497add Merge remote-tracking branch 'refs/remotes/ppy/master' into toolbar-rulesets-refactor 2019-06-24 01:06:54 +03:00
David Zhao
de59e038ac Prevent non-combo affecting judgements from triggering sudden death 2019-06-21 14:29:16 +09:00
Andrei Zavatski
413c2158e2 Simplify bindables usage 2019-06-18 01:11:05 +03:00
Andrei Zavatski
c95e3da3ec Implement a BindableRulesetSelector 2019-06-18 00:23:00 +03:00
Andrei Zavatski
cecbcd21b2 Merge remote-tracking branch 'upstream/master' into toolbar-rulesets-refactor 2019-06-17 23:12:55 +03:00
smoogipoo
2e7922c3f9 Fix 0-length sliders not getting correct lengths 2019-06-15 23:53:28 +09:00
Dean Herbert
cf713fbacc
Merge branch 'master' into fix-stacking-shaking 2019-06-14 22:16:35 +09:00
smoogipoo
4818187d8f Reset result timeoffset to 0 when rewound 2019-06-13 14:55:52 +09:00