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

304 Commits

Author SHA1 Message Date
Dean Herbert
ac602846df Expose balance and sample loading methods in DrawableHitObject 2020-07-22 16:37:58 +09:00
smoogipoo
e95a1beaef Update state after applying hitobject 2020-07-15 16:53:27 +09:00
Dean Herbert
ce35d09e7d Fix incorrect alpha application to lines on rewinding 2020-05-22 12:45:37 +09:00
Dean Herbert
ce223a2bd8 Silence hit sounds while seeking 2020-05-21 11:08:06 +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
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
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
Dean Herbert
8ebc2ae03d Never run subtree masking 2020-04-20 20:48:35 +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
smoogipoo
a84fe2525b Fix nested hitobjects potentially indirectly masked away 2020-04-11 16:53:45 +09: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
Dean Herbert
7db9bd798c Remove handle overrides 2020-03-30 11:59:51 +09:00
Dean Herbert
a2b3fe180e Add the ability to disable user input on specific DrawableHitObjects 2020-03-29 14:30:45 +09:00
Dean Herbert
f80efd10c2 Avoid using a miss judgement 2020-03-26 19:54:17 +09:00
Dean Herbert
c06db5a54a Remove legacy DrawableHitObject state management 2020-02-27 11:28:29 +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
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
smoogipoo
958c891d15 Update with framework-side bindable list changes 2020-02-17 15:06:14 +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
Dean Herbert
7460018cd3 Move combo colours to GlobalSkinColours 2020-02-07 14:58:07 +09:00
smoogipoo
0f8a76afde Remove manual hitobject sample namespacing 2020-01-02 14:27:27 +09:00
Salman Ahmed
55be4478aa Merge remote-tracking branch 'upstream/master' into fallback-to-skin-combo-colours 2019-12-21 12:36:09 +03:00
Huo Yaoyuan
d5994ed484 CA2208: create exceptions correctly. 2019-12-17 13:00:10 +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
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
Dean Herbert
758c304d92
Merge branch 'master' into fallback-to-skin-combo-colours 2019-11-12 19:00:05 +09:00
smoogipoo
3f8928ca25 Suppress warnings 2019-11-12 13:41:54 +09: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
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
Dean Herbert
e3fa5f1da3
Merge branch 'master' into beatsnap-grid-integration 2019-10-21 18:44:34 +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
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
89f50b26f7 Fix hitobject combo colour potentially not getting adjusted 2019-10-18 17:32:11 +09:00
smoogipoo
5d3d25d3b6 Make method private for now 2019-10-18 13:24:28 +09:00
smoogipoo
9a896d52bf Fix nested hitobjects not updating 2019-10-18 13:18:41 +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
8d7453c251 Rework construction of nested hitobjects 2019-10-16 22:10:50 +09:00
Dean Herbert
ad6b8d3e04 Add result offset bounding to result itself, rather than just transforms 2019-10-09 19:08:55 +09:00
smoogipoo
706e884cc0 Update accent colour on combo index change 2019-09-26 17:13:13 +09:00
smoogipoo
75cceb9e30 Fix LifetimeChanged being invoked before lifetime is set 2019-09-24 16:47:34 +09:00
smoogipoo
762adb783a Fix duplicate invocation of updateState on load complete 2019-09-19 14:15:06 +09:00
Dean Herbert
5901a915e7 Always update drawable hitobject state on skin change 2019-09-18 20:19:57 +09:00
Dean Herbert
b81b162ee1 Update InitialLifetimeOffset comment 2019-09-12 19:30:27 +09:00
Dean Herbert
f21e47d6d2 Move expire to DrawableHitObject 2019-09-12 19:29:08 +09:00
Dean Herbert
7f2d14416a Reset DrawableHitObject lifetimes on state change 2019-09-07 14:44:44 +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
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
smoogipoo
07f662071d Remove judgementOccurred 2019-09-04 18:14:55 +09:00
Dean Herbert
bebc3309ce Refactor skin configuration to be infinitely extensible 2019-09-03 17:57:34 +09:00
Dean Herbert
1e7528c2b3 Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements 2019-09-02 19:13:00 +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
smoogipoo
8f8d35bd15 Delay initial hitobject state computation 2019-09-02 15:06:34 +09:00
Dean Herbert
9a98f39f06 Share logic with other rulesets (and make default) 2019-08-28 18:12:47 +09:00
smoogipoo
9e926d44c0 Obsolete legacy UpdateState() method 2019-08-27 16:09:47 +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
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
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
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
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
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
Dean Herbert
ba48331fcb Remove no longer necessary HandleInput overrides 2019-06-27 18:34:59 +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
smoogipoo
27fdda8b91 Don't update hitobject results when rewinding 2019-06-13 12:21:49 +09:00
Arphox
07e17518e9 Fix all "Maintainability" CodeFactor issues 2019-06-11 10:28:16 +02:00
smoogipoo
d7c09e7dbd Merge remote-tracking branch 'origin/master' into fix-new-inspections
# Conflicts:
#	osu.Game.Rulesets.Catch/Judgements/CatchDropletJudgement.cs
#	osu.Game.Rulesets.Catch/Judgements/CatchJudgement.cs
#	osu.Game.Rulesets.Mania/Scoring/ManiaScoreProcessor.cs
#	osu.Game.Rulesets.Osu/Replays/OsuAutoGenerator.cs
#	osu.Game.Rulesets.Osu/UI/Cursor/CursorTrail.cs
#	osu.Game.Tests/Visual/SongSelect/TestCaseBeatmapScoresContainer.cs
#	osu.Game/Graphics/OsuFont.cs
#	osu.Game/Online/API/Requests/Responses/APILegacyScoreInfo.cs
#	osu.Game/Overlays/Profile/Header/BadgeContainer.cs
#	osu.Game/Overlays/Profile/ProfileHeader.cs
#	osu.Game/Screens/Select/PlaySongSelect.cs
#	osu.Game/Skinning/LegacySkinDecoder.cs
2019-05-07 13:20:17 +09:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
Dean Herbert
612db31c38 Apply newline additions 2019-04-01 12:16:32 +09:00
Dean Herbert
c97116c91a Add safety against DrawableHitObject implementations clearing children 2019-03-25 13:34:22 +09:00
smoogipoo
f66fefb818 Adjust comment + accessibility 2019-02-27 16:30:10 +09:00
smoogipoo
a07d797d75 Merge remote-tracking branch 'Joehuu/master' into use-lifetime-optimization 2019-02-27 12:08:43 +09:00
Dean Herbert
3fe4b8fd1c Update variable names
Also cleans up some weird code
2019-02-22 17:51:39 +09:00
smoogipoo
d8c55bc729 Adjust namespaces 2019-02-21 19:05:52 +09:00
smoogipoo
bca347427f Update with framework bindable changes 2019-02-21 18:56:34 +09:00
ekrctb
8955d5de04 Update hit object result when lifetime is end 2019-01-29 15:25:27 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
smoogipoo
eb88768bd0 Fix incorrect controlpoint being applied to samples 2018-12-03 17:21:27 +09:00
smoogipoo
aea84f737b Fix taiko hitobjects potentially disappearing before being judged 2018-11-29 12:12:29 +09:00
smoogipoo
f27bd3ef3e OpenTK -> osuTK 2018-11-20 17:14:59 +09:00
smoogipoo
cf4dad0fe8 Fix hitobjects not updating IsMaskedAway after being judged 2018-11-07 15:42:40 +09:00
Dean Herbert
841b2e8692
Merge branch 'master' into consistent-terminology-format 2018-10-10 19:19:36 +09:00
smoogipoo
a8f156584b Update framework with positional/non-positional changes 2018-09-26 14:01:15 +09:00
Joehu
f99eff1192 Use consistent terminology format 2018-09-15 07:30:11 -07:00
smoogipoo
356a60b561 Fix hitobjects in scrolling rulesets getting masked away 2018-09-12 15:14:51 +09:00
smoogipoo
e04b2f4fa9 Fix hitobject results not rewinding 2018-08-14 18:31:32 +09:00
smoogipoo
2a54b5b78d ResetResult -> RevertResult 2018-08-06 12:29:22 +09:00
smoogipoo
3a7488767c Make HitObject not store the judgement 2018-08-06 11:50:18 +09:00
smoogipoo
0d6a8a2bf5 More xmldocs 2018-08-06 11:31:54 +09:00
smoogipoo
741ec0021e Rename more judgement-related methods to "result" 2018-08-06 11:31:46 +09:00
smoogipoo
ab642b563f CreateJudgementResult -> CreateResult 2018-08-06 11:07:41 +09:00
smoogipoo
754f3c8621 Move result creation to load(), add exceptions 2018-08-06 11:07:05 +09:00
smoogipoo
b35817c877 More xmldocs to hitobject/drawablehitobject 2018-08-06 10:55:38 +09:00
smoogipoo
5fd4ed2f4e Rename judgement-related methods/events + commenting 2018-08-06 10:55:25 +09:00
smoogipoo
482526135f Make IsHit not consider nested hitobjects 2018-08-03 16:07:20 +09:00
smoogipoo
2a4994e5ce Make hitobjects only have one judgement + result 2018-08-03 15:38:48 +09:00
smoogipoo
35b4ab5456 Introduce the concept of a "MainResult" 2018-08-02 21:07:40 +09:00
smoogipoo
3619290c34 Split out judgement definition from judgement result 2018-08-02 20:35:54 +09:00
smoogipoo
d51d0e8547 Initial structure for new hitobject judgement system 2018-08-01 21:45:59 +09:00
Dean Herbert
d11ba2df0e Merge remote-tracking branch 'upstream/master' into smoogipoo-legacy-custom-banks 2018-07-05 14:53:31 +09:00
smoogipoo
45a4187923 Tidy up lookups to NestedHitObjects 2018-07-02 16:10:56 +09:00
smoogipoo
781095b96b Encapsulate the method to apply SampleControlPoints to SampleInfos 2018-06-28 18:29:07 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo
6d4f94756e Rewrite the way drag + click selections happen
The general idea here is that we need the masks to handle mouse down events, as they need to handle the drag (mousedown -> drag immediately).

I've rewritten the editor selections to use events, as there are some 3 different components that handle/trigger selections in different ways.

1. All selections/deselections now propagate through `HitObjectMask.Select()`/`HitObjectMask.Deselect()`.
2. Components that react to changes in the selection bind to the masks' `Selected`/`Deselected` events, and track them/change their states locally.
3. Masks provide a `SingleSelectionRequested` event which is invoked on the mouse-down event. Various components bind to this event to perform state changes locally in this scenario.
4. `DragBox` now handles all drag input locally. It triggers `Select`/`Deselect` on the masks it needs to.
5. `SelectionBox` handles the display of itself locally.
6. `SelectionBox` handles movement of groups of masks locally.
7. `HitObjectMasks` handles movement of itself locally.
2018-03-29 22:07:23 +09:00
Dean Herbert
af65f2dd48 Move AccentColour changes local to rulesets which rely on it 2018-03-22 18:53:16 +09:00
Dean Herbert
366b7fca65 Remove GetColour method 2018-03-22 18:50:19 +09:00
Dean Herbert
c4fe6a04c5 Use string lookups for combo colours 2018-03-22 17:32:05 +09:00
Dan Balasescu
ab9505652b Merge branch 'master' into skin--completion 2018-03-22 16:44:00 +09:00
Dean Herbert
9ad4e9284a Add skin source fallback chain 2018-03-20 16:40:11 +09:00
Dean Herbert
a42035f494 Make DrawableHitObject a CompositeDrawable
No reason for it to be a container.
2018-03-15 13:41:06 +09:00
smoogipoo
2a9fb2c2c6 Make NestedHitObjects lazily-constructed 2018-03-05 21:40:26 +09:00
Dean Herbert
4a52df2dd4 Apply review 2018-02-24 23:07:02 +09:00
Dean Herbert
768e0a4e2a Add SkinnableSound class
Tidy things up, move logic out of SampleInfo.
2018-02-24 22:47:14 +09:00
Dean Herbert
6ceabfe19e Add basic hitsound skinning 2018-02-23 13:38:12 +09:00
smoogipoo
b77f08941c Make mania play the next note's sounds if no note is hit
Fixes #1911.

This follows what osu!stable does, which is rather unfortunate, since it just plays _every_ sound for the note :|.
2018-01-24 20:05:37 +09:00
Dean Herbert
9b33499fe7 Merge remote-tracking branch 'upstream/master' into RefactorInputQueues 2018-01-16 20:04:34 +09:00
smoogipoo
0ae0dac192 Fix DrawableHitObject not binding nested hitobject events 2018-01-15 20:35:38 +09:00
Aergwyn
8ac6818639 expose IsHit 2018-01-13 16:26:14 +01:00
Aergwyn
7875f0cb01 remove unnecessary internal 2018-01-13 16:15:41 +01:00
Aergwyn
356bb5da1e move sample logic up too 2018-01-13 12:55:52 +01:00
Aergwyn
70fc09f81e move judgement + state logic up to DrawableHitObject 2018-01-13 12:42:42 +01:00
smoogipoo
9d00e5bb7d Make ScrollingHitObjectContainer handle nested hitobjects 2018-01-11 15:08:30 +09:00
smoogipoo
9036ea92eb Run child updates for nested hitobjects when parent hitobjects are masked 2018-01-10 18:29:46 +09:00
TocoToucan
ae032cbf23 Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties 2018-01-07 23:40:00 +03:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
Aergwyn
ccb69d16d9 move HitResult in Scoring namespace to replace HitCount 2017-12-30 21:23:18 +01:00