Salman Ahmed
0bf84e473d
Refactor spinner SPM counter for skinning purposes
2021-03-30 04:19:23 +03:00
Dean Herbert
c715b9b89e
Merge branch 'master' into legacy-spinner-bonus
2021-03-25 18:09:25 +09:00
Dean Herbert
64e85ba995
Always fade out approach circles at a HitObject's start time to better match stable
2021-03-23 19:19:07 +09:00
Dean Herbert
098005393e
Remove unnecessary null checks and debug code
2021-03-23 10:38:37 +09:00
Dean Herbert
c4d08463ad
Fix spinners playing looping sound too long in the editor
...
The `OnComplete` event was never being run due to the transform playing
out longer than the spinner's lifetime. I've matched the durations, but
also moved the `Stop()` call to what I deem a safer place to run it (I
did notice that without this it would still potentially never fire).
Note that this is more noticeable in the editor because of lifetime
extension. In gameplay, the returning of a spinner to the pool will
clean things up (but in the editor that can take longer, depending on
timeline zoom level).
Another thing worth mentioning is that the fade doesn't actually work.
This is due to https://github.com/ppy/osu-framework/pull/4212 .
Closes #12119 .
2021-03-22 16:04:51 +09:00
Salman Ahmed
98f6e16113
Move default spinner bonus counter to new DefaultSpinner
2021-03-13 05:59:42 +03:00
Salman Ahmed
8fdab5a7de
Revert legacy spinner presence changes and bonus counter component
...
No longer necessary, after inlining legacy coordinates logic to `LegacySpinner` and limiting precisely-positioned legacy components there
2021-03-13 05:57:47 +03:00
Salman Ahmed
020a03e01e
Use sensible "score per tick" constant
2021-03-13 05:56:28 +03:00
Salman Ahmed
c4048c9831
Merge branch 'master' into legacy-spinner-bonus
2021-03-13 05:54:34 +03:00
Dean Herbert
1591d593e2
Move spin start time to inside result and switch to standard state handling
2021-03-11 12:58:15 +09:00
Dean Herbert
4e8bcc9265
Fix SPM counter decreasing after spinner has already been completed
2021-03-09 16:54:46 +09:00
Dean Herbert
5a6864eb78
Fix SPM counter immediately disappearing on completion of spinners
2021-03-09 16:54:46 +09:00
Salman Ahmed
3f1d36ee6b
Add default spinner bonus counter piece
2021-03-06 20:27:56 +03:00
Salman Ahmed
c441e993ff
Separate "gained bonus" to a read-only bindable
2021-03-06 20:27:56 +03:00
smoogipoo
d3f0c0730d
Merge branch 'master' into non-concurrent-sample-playback
2021-02-12 17:22:15 +09:00
Dean Herbert
4710a12774
Merge branch 'master' into classic-mode-flags
2021-02-11 16:21:55 +09:00
smoogipoo
5d1d6ec1cb
Fix inverted calculation
2021-02-10 22:09:24 +09:00
smoogipoo
20a6405fd2
Add explanatory comments + const
2021-02-10 22:06:19 +09:00
smoogipoo
bd2486e5a0
Fix grammatical error in comment
2021-02-10 21:27:12 +09:00
smoogipoo
1d425b8322
Simplify case
2021-02-10 21:25:31 +09:00
smoogipoo
4a391ce03d
Fix div-by-0 when 0 ticks are hit
2021-02-10 21:24:41 +09:00
smoogipoo
be9b07a4cf
Merge branch 'master' into difficulty-adjustment-extension
2021-02-10 20:42:08 +09:00
smoogipoo
0dcdad9839
Adjust comment for DrawableSliderHead
2021-02-10 19:04:23 +09:00
smoogipoo
a16f4cee3a
Adjust DrawableSlider comment
2021-02-10 18:52:39 +09:00
smoogipoo
2fcc4213e1
Rename IgnoreJudgement -> OnlyJudgeNestedObjects
2021-02-10 18:46:26 +09:00
smoogipoo
cf06684ad1
Judge heads as slider ticks instead
2021-02-10 18:38:31 +09:00
smoogipoo
d955200e07
Prevent invalid hit results for ignored slider heads
2021-02-08 11:10:14 +09:00
smoogipoo
a5855f5d28
Move follow circle tracking to DrawableSliderHead
2021-02-05 17:33:48 +09:00
smoogipoo
2f22dbe06b
Make sliders display judgements when not ignored
2021-02-03 22:42:50 +09:00
smoogipoo
03b7817887
Add flags to return to classic slider scoring
2021-02-03 22:12:20 +09:00
smoogipoo
623b47f9af
Add flag to toggle follow circle tracking for slider heads
2021-02-03 21:55:19 +09:00
Dean Herbert
d521bfc251
Don't directly update HandleUserInput (as it is used by mods)
2021-01-30 02:35:11 +09:00
Dean Herbert
5a306dfc2b
Fix unused using
2021-01-29 20:22:25 +09:00
Dean Herbert
f25809d35f
Ensure spinners only handle input during their hittable time
...
While this was already being enforced inside of `CheckForResult`, the
internal tracking values of rotation were still being incremented as
long as the `DrawableSpinner` was present. This resulted in incorrect
SPM values being displayed if a user was to start spinning before the
object's `StartTime`.
Kind of annoying to write a test for (there's no setup for spinners yet)
but am willing to do so if that is deemed necessary.
Closes https://github.com/ppy/osu/issues/11600 .
2021-01-29 19:55:55 +09:00
smoogipoo
de9d075f94
Initial sample + samplechannel rework
2021-01-19 17:11:40 +09:00
Dean Herbert
14b3323682
Use OnComplete instead of Finally to avoid potentially stopping on aborted transforms
2021-01-15 17:18:15 +09:00
Dean Herbert
311f8b7017
Only restart spinning sample if it was not already playing
2021-01-15 17:17:51 +09:00
Dean Herbert
767c76921f
Adjust transition time of spinner sound
2021-01-15 17:17:28 +09:00
smoogipoo
47a93d8614
Adjust osu! hitobject fade-ins to support AR>10
2020-12-10 00:37:19 +09:00
ekrctb
626956febd
Move some files from Drawables to Skinning.Default namespace
2020-12-04 20:25:12 +09:00
ekrctb
245be2c5ed
Adjust namespace
2020-12-04 20:21:53 +09:00
ekrctb
a12b049154
Move piece files in Osu ruleset
2020-12-04 20:11:35 +09:00
Dean Herbert
5db15a6b26
Merge branch 'master' into fix-hidden-mod-crash
2020-12-04 12:50:02 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived
2020-12-04 11:04:56 +09:00
smoogipoo
09af4bbd57
Merge branch 'dho-remove-onparentreceived' into fix-hidden-mod-crash
2020-12-03 20:10:16 +09:00
smoogipoo
0bdf99b97a
Remove OnParentReceived()
2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc
Change order of OnParentReceived()
2020-12-03 20:06:26 +09:00
smoogipoo
e3bbc2b128
Rework osu! hidden mod to avoid storing hitobjects
2020-12-03 14:45:56 +09:00
smoogipoo
e831c797f3
Merge branch 'master' into hit-sample-pooling
2020-12-02 14:45:24 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
...
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dan Balasescu
46a57921e2
Merge branch 'master' into osu-fade-slider-body-on-hit
2020-12-02 11:03:04 +09:00
smoogipoo
2bb7484608
Merge branch 'immutable-hit-samples' into hit-sample-pooling
2020-12-01 16:05:28 +09:00
smoogipoo
5760e1c1fc
Make HitSampleInfo immutable
2020-12-01 15:37:51 +09:00
Dean Herbert
dd05c56a08
Fix sliders playing hit animations when completely missed
2020-12-01 15:34:29 +09:00
Dean Herbert
f8ef822e73
Add short fade to better hide transition on default skin
2020-12-01 15:21:32 +09:00
Dean Herbert
d0852d7f4a
Hide slider body immediately on successful hit when snaking is enabled
2020-12-01 14:56:41 +09:00
Dean Herbert
8d101efb24
Remove unused proxy layer
2020-12-01 14:56:14 +09:00
Dean Herbert
51741c4791
Merge branch 'master' into hit-sample-pooling
2020-11-30 22:25:28 +09:00
smoogipoo
f589da4317
Fix compilation error
2020-11-30 19:24:38 +09:00
smoogipoo
4bbeb9ebd4
Merge branch 'master' into hit-sample-pooling
2020-11-30 18:31:58 +09:00
smoogipoo
8f48389f89
Merge branch 'master' into improve-dho-time-offsets
2020-11-30 18:01:48 +09:00
Dean Herbert
5bc76cac58
Remove unused using statement
2020-11-27 17:01:07 +09:00
Dean Herbert
1246c8ba5f
Reduce the opacity of the default skin slider ball
...
Previous value was [hitting pure white on some brighter combo
colours](https://github.com/ppy/osu/issues/10910#issuecomment-734354812 ).
2020-11-27 15:22:29 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets
2020-11-27 15:03:56 +09:00
ekrctb
fe85b7d482
Remove unused import
2020-11-27 10:18:00 +09:00
ekrctb
57454bbb1c
Remove hitObject argument from OnApply and OnFree
2020-11-27 10:13:05 +09:00
smoogipoo
0414e5c550
Add MaximumJudgementOffset to DrawableHitObject, use in more places
2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57
Rewind pooled DHOs into better states
2020-11-26 00:42:25 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added
2020-11-24 16:09:57 +09:00
Bartłomiej Dach
1c31a4a6b6
Expose animation start time as mutable in interface
2020-11-22 13:11:22 +01:00
ekrctb
c506b438bf
Remove more code and make some methods private
2020-11-22 18:51:16 +09:00
Bartłomiej Dach
240c1b0aef
Add support for changing animation start time after load
2020-11-21 20:06:30 +01:00
ekrctb
295ca38cda
Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added
2020-11-21 15:25:16 +09:00
Dan Balasescu
4213d6bdba
Merge pull request #10890 from peppy/legacy-jugement-match-stable-transforms
...
Adjust judgement animations to match stable
2020-11-20 21:47:21 +09:00
Dan Balasescu
79752bcb19
Merge branch 'master' into legacy-jugement-match-stable-transforms
2020-11-20 20:51:27 +09:00
ekrctb
cd16a3fa61
Use event instead of using custom pools (osu)
2020-11-20 17:56:47 +09:00
smoogipoo
7bd75eca81
Separate classes
2020-11-20 16:53:08 +09:00
smoogipoo
c1f56cd0ba
Remove aliveness hackery
2020-11-20 16:52:27 +09:00
smoogipoo
85eb98a7ec
Clean up some code reuse
2020-11-20 16:43:07 +09:00
smoogipoo
2418f17b0c
Fix lifetime not being set correctly in some cases
2020-11-20 16:19:02 +09:00
smoogipoo
2ed2ddfe8a
Rename methods
2020-11-20 15:39:29 +09:00
smoogipoo
33eea64cfc
Fix follow points not updating on positional changes
2020-11-20 15:31:04 +09:00
smoogipoo
2fc53a278d
Add back reorder support
2020-11-20 14:10:28 +09:00
smoogipoo
17ff7fe163
Fix failing test due to early lifetime end
2020-11-20 13:55:27 +09:00
smoogipoo
a3145ed96d
Fix test compile errors
2020-11-20 13:54:41 +09:00
smoogipoo
d467a00eea
Add initial followpoint pooling implementation
2020-11-20 00:11:31 +09:00
smoogipoo
688a04c2ff
Make slider/spinner use pooled samples
2020-11-19 20:40:30 +09:00
Dean Herbert
7f3c8ad744
Merge pull request #10872 from smoogipoo/fix-missing-triangles
2020-11-19 14:11:08 +09:00
Dean Herbert
3024ae6d86
Add better test coverage of hit lighting (and ensure reset after animation reapplication)
2020-11-19 14:10:07 +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
Dean Herbert
d017e725fb
Add comment for future todo task
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
smoogipoo
ce4baf328d
Move into OnApply() to resolve one-frame issues
2020-11-17 23:35:36 +09:00
smoogipoo
04805b78c3
Tighten osu! ruleset lifetime expiry for past hitobjects
2020-11-17 23:20:19 +09:00
Dean Herbert
8247e6ce91
Move result type to ctor
2020-11-17 15:43:54 +09:00
Dean Herbert
f465dd5a5e
Move all extended animation logic out of DrawableJudgement
2020-11-17 14:59:34 +09:00
Dean Herbert
82c3925a37
Remove unused DrawableOsuJudgement constructors
2020-11-17 14:13:51 +09:00
Dean Herbert
9dfa4249e0
Make Apply non-virtual
2020-11-17 14:05:13 +09:00
smoogipoo
c101f32db8
Reset osu! triangle pieces on hitobject application
2020-11-17 13:06:52 +09:00
smoogipoo
84b42f207d
Fix triangles disappearing after a while
2020-11-16 23:14:20 +09:00
smoogipoo
4cf6aca873
Fix slider ball tint not working
2020-11-16 22:40:25 +09:00
Bartłomiej Dach
532680bb36
Manually reset rest of rotation tracker state on object application
2020-11-14 23:23:11 +01:00
Bartłomiej Dach
727a886fb3
Move spinner completion info into judgement
2020-11-14 23:08:47 +01:00
Bartłomiej Dach
af392e3995
Move rate adjusted spinner rotation into judgement result
2020-11-14 21:10:12 +01:00
Dean Herbert
7ac4d2c4be
Move "drawable" to first prefix
2020-11-14 18:05:30 +09:00
Dean Herbert
90f37ff4ab
Rejig namespaces
2020-11-14 18:04:59 +09:00
smoogipoo
3f0a127196
Fix slider/spinner samples not being disposed
2020-11-12 18:51:58 +09:00
smoogipoo
3f78d81386
Add nested osu! hitobject pooling
2020-11-12 15:59:48 +09:00
smoogipoo
bf72961959
Add top-level osu! hitobject pooling
2020-11-12 15:39:02 +09:00
smoogipoo
606cfacedf
Fix state update exception in a better way
2020-11-11 19:01:12 +09:00
Dean Herbert
a82291f31f
Merge pull request #10776 from smoogipoo/fix-possible-nullref
...
Fix possible nullref with non-attached hitobjects
2020-11-11 11:14:57 +09:00
smoogipoo
81844878b0
Fix possible nullref with non-attached hitobjects
2020-11-11 00:29:34 +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
e190afbfed
Remove initial value changed invocations
2020-11-07 00:00:25 +09:00
smoogipoo
33b629a87a
Make top-level osu! objects use new methods
2020-11-06 23:09:23 +09:00
Dean Herbert
e0ef777e87
Merge branch 'master' into fix-hitcircle-glow-on-skin-change
2020-11-06 16:47:56 +09:00
Dean Herbert
0cadb31947
Merge branch 'master' into drawable-hit-object-hit-state-fix
2020-11-05 17:07:52 +09:00
Dean Herbert
4a4fa96fef
Merge pull request #10692 from smoogipoo/followpointrenderer-hitobject
2020-11-05 16:39:05 +09:00
Dean Herbert
54775ccacf
Merge pull request #10690 from smoogipoo/osu-remove-hitobject-references
2020-11-05 16:22:13 +09:00
Dean Herbert
a43166e8a9
Merge branch 'master' into followpointrenderer-hitobject
2020-11-05 15:42:09 +09:00
Dean Herbert
c26fd4dc3d
Merge pull request #10691 from smoogipoo/osu-lighting-colour-reuse
...
Remove AccentColour binding from judgement lighting
2020-11-05 15:37:28 +09:00
Dean Herbert
4457e363d3
Bring back local variables to reduce two-level-deep variable access
2020-11-05 15:22:40 +09:00
smoogipoo
9c1c9945af
Make FollowPointRenderer use hitobject models
2020-11-05 15:01:45 +09:00
smoogipoo
9ac822beed
Remove AccentColour binding from judgement lighting
2020-11-05 14:49:15 +09:00
smoogipoo
400fcedf0f
Remove stored hitobject references from skinnable components
2020-11-05 14:40:48 +09:00
smoogipoo
9a7fcadabc
Use BDL for top-level osu! DHOs
2020-11-05 13:51:46 +09:00
Dean Herbert
65fb8628e0
Use HitStateUpdateTime
2020-11-04 17:30:11 +09:00
Dean Herbert
e5a5c3713d
Merge branch 'drawable-hit-object-hit-state-fix' into fix-hitcircle-glow-on-skin-change
2020-11-04 17:15:20 +09:00
Dean Herbert
a3dc1d5730
Update existing implementations
2020-11-04 17:14:23 +09:00
Dean Herbert
b069372b29
Fix skin changes resulting in incorrectly applied transforms in MainCirclePiece
2020-11-03 17:49:48 +09:00
Dean Herbert
ed982e8dd1
Make stacked hitcircles more visible when using default skin
2020-10-06 14:09:31 +09:00
Dean Herbert
f0b5ba9534
Merge branch 'master' into skin-slider-end-circle-support
2020-10-05 17:45:51 +09:00
Dan Balasescu
692ca87bec
Merge branch 'master' into fix-spinner-rewind-crash
2020-10-05 15:32:52 +09:00
Bartłomiej Dach
26eff0120d
Apply same fix for miss-triggering case
...
See 5888ecd
- the same fix is applied here, but in the miss case.
2020-10-03 21:11:34 +02:00
Dean Herbert
5888ecdeb1
Fix spinner crashing on rewind
2020-10-04 01:08:24 +09:00
Bartłomiej Dach
1f0620ffd4
Replace assignment references to HitResult.Miss with Judgement.MinResult
2020-10-02 23:31:24 +02:00
Bartłomiej Dach
2b1ef16f89
Replace comparison references to HitResult.Miss with IsHit
2020-10-02 23:31:24 +02:00
Dean Herbert
b1e7a5113e
Merge pull request #10328 from smoogipoo/fix-spinner-transforms
...
Fix spinners not transforming correctly
2020-10-02 23:51:09 +09:00
Dean Herbert
a3ecc6c5a4
Remove redundant array type specification
2020-10-02 19:56:24 +09:00
Dean Herbert
5a6c45e2ff
Fix hidden mod support for sliderendcircle
2020-10-02 18:41:28 +09:00
smoogipoo
fe818a020a
Fix spinners not transforming correctly
2020-10-02 16:17:57 +09:00
Dean Herbert
dde7f706aa
Avoid rapid triangle repositioning during editor slider placement
2020-10-02 15:51:14 +09:00
Dean Herbert
2427ae43da
Share fade in logic with repeats
2020-10-02 14:50:03 +09:00
Dean Herbert
5d2a8ec764
Add final sliderendcircle display support
2020-10-02 14:50:03 +09:00
Dean Herbert
fce3eacd7d
Move tail circle to display beneath ticks etc.
2020-10-02 14:50:03 +09:00
smoogipoo
ba76089219
Fix spinner flashing yellow glow before completion
2020-10-01 20:24:32 +09:00