Commit Graph

340 Commits

Author SHA1 Message Date
ab642b563f CreateJudgementResult -> CreateResult 2018-08-06 11:07:41 +09:00
754f3c8621 Move result creation to load(), add exceptions 2018-08-06 11:07:05 +09:00
b35817c877 More xmldocs to hitobject/drawablehitobject 2018-08-06 10:55:38 +09:00
5fd4ed2f4e Rename judgement-related methods/events + commenting 2018-08-06 10:55:25 +09:00
482526135f Make IsHit not consider nested hitobjects 2018-08-03 16:07:20 +09:00
2a4994e5ce Make hitobjects only have one judgement + result 2018-08-03 15:38:48 +09:00
35b4ab5456 Introduce the concept of a "MainResult" 2018-08-02 21:07:40 +09:00
3619290c34 Split out judgement definition from judgement result 2018-08-02 20:35:54 +09:00
d51d0e8547 Initial structure for new hitobject judgement system 2018-08-01 21:45:59 +09:00
d11ba2df0e Merge remote-tracking branch 'upstream/master' into smoogipoo-legacy-custom-banks 2018-07-05 14:53:31 +09:00
45a4187923 Tidy up lookups to NestedHitObjects 2018-07-02 16:10:56 +09:00
781095b96b Encapsulate the method to apply SampleControlPoints to SampleInfos 2018-06-28 18:29:07 +09:00
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
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
af65f2dd48 Move AccentColour changes local to rulesets which rely on it 2018-03-22 18:53:16 +09:00
366b7fca65 Remove GetColour method 2018-03-22 18:50:19 +09:00
c4fe6a04c5 Use string lookups for combo colours 2018-03-22 17:32:05 +09:00
ab9505652b Merge branch 'master' into skin--completion 2018-03-22 16:44:00 +09:00
9ad4e9284a Add skin source fallback chain 2018-03-20 16:40:11 +09:00
a42035f494 Make DrawableHitObject a CompositeDrawable
No reason for it to be a container.
2018-03-15 13:41:06 +09:00
2a9fb2c2c6 Make NestedHitObjects lazily-constructed 2018-03-05 21:40:26 +09:00
4a52df2dd4 Apply review 2018-02-24 23:07:02 +09:00
768e0a4e2a Add SkinnableSound class
Tidy things up, move logic out of SampleInfo.
2018-02-24 22:47:14 +09:00
6ceabfe19e Add basic hitsound skinning 2018-02-23 13:38:12 +09:00
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
9b33499fe7 Merge remote-tracking branch 'upstream/master' into RefactorInputQueues 2018-01-16 20:04:34 +09:00
0ae0dac192 Fix DrawableHitObject not binding nested hitobject events 2018-01-15 20:35:38 +09:00
8ac6818639 expose IsHit 2018-01-13 16:26:14 +01:00
7875f0cb01 remove unnecessary internal 2018-01-13 16:15:41 +01:00
356bb5da1e move sample logic up too 2018-01-13 12:55:52 +01:00
70fc09f81e move judgement + state logic up to DrawableHitObject 2018-01-13 12:42:42 +01:00
9d00e5bb7d Make ScrollingHitObjectContainer handle nested hitobjects 2018-01-11 15:08:30 +09:00
9036ea92eb Run child updates for nested hitobjects when parent hitobjects are masked 2018-01-10 18:29:46 +09:00
ae032cbf23 Support HandleKeyboardInput, HandleMouseInput, CanReceiveKeyboardInput, CanReceiveMouseInput properties 2018-01-07 23:40:00 +03:00
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
ccb69d16d9 move HitResult in Scoring namespace to replace HitCount 2017-12-30 21:23:18 +01:00
a0966305d4 Remove unnecessary new event 2017-12-30 14:46:44 +09:00
f547c7986d created option to override values before UpdateState is called 2017-12-29 17:50:55 +01:00
27cb445c24 Always recrusively apply custom sequence to nested hitobjects 2017-12-29 17:48:05 +09:00
dbcf87267d Merge branch 'master' into standard-hd-support 2017-12-27 21:26:39 +01:00
4c2554595e implement hidden (mostly)
some things work and others don't, I dunno
2017-12-26 17:25:18 +01:00
9690591593 Make taiko use namespaced hitsounds
This is a temporary solution for now that uses DrawableHitObject.SampleNamespace for the override. We will not want to do this going forward, and instead have the rulesets add their custom resource stores to the games', but that requires deciding where/when to apply/remove such resource stores, and is probably left to skinning.
2017-12-26 19:55:56 +09:00
14162b5d46 Make InputDrum handle all Normals/Claps, hitobjects all others 2017-12-26 14:18:23 +09:00
0fb620a8d3 Make HitObject.Samples non-nullable 2017-12-25 16:41:18 +09:00
68d76d4380 Fix taiko strong hits not being handled 2017-12-23 20:58:09 +09:00
aeafa5645a Make Samples null by default and prepopulate in mania 2017-12-23 18:06:46 +09:00
2db68df999 Simplify DrawableHitObject's sample load code 2017-12-23 17:20:14 +09:00
5026c7a95e SoundControlPoint -> SampleControlPoint 2017-12-23 16:34:34 +09:00
ff0927e71b Remove unnecessary newline 2017-12-23 16:23:33 +09:00
46865bbacd Merge remote-tracking branch 'upstream/master' into taiko-hitsounds-fix
# Conflicts:
#	osu.Game/Audio/SampleInfo.cs
2017-12-23 14:50:35 +09:00