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
smoogipoo
86b5591583
Merge remote-tracking branch 'origin/master' into scrolling-hitobjects-rewrite
2018-01-10 18:02:49 +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
smoogipoo
f34131f8f4
Initial game-wide replacement of scrolling playfields
2018-01-04 18:50:17 +09:00
Aergwyn
ccb69d16d9
move HitResult in Scoring namespace to replace HitCount
2017-12-30 21:23:18 +01:00
Dean Herbert
a0966305d4
Remove unnecessary new event
2017-12-30 14:46:44 +09:00
Aergwyn
f547c7986d
created option to override values before UpdateState is called
2017-12-29 17:50:55 +01:00
Dean Herbert
27cb445c24
Always recrusively apply custom sequence to nested hitobjects
2017-12-29 17:48:05 +09:00
Aergwyn
dbcf87267d
Merge branch 'master' into standard-hd-support
2017-12-27 21:26:39 +01:00
Aergwyn
4c2554595e
implement hidden (mostly)
...
some things work and others don't, I dunno
2017-12-26 17:25:18 +01:00
smoogipoo
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
smoogipoo
14162b5d46
Make InputDrum handle all Normals/Claps, hitobjects all others
2017-12-26 14:18:23 +09:00
smoogipoo
0fb620a8d3
Make HitObject.Samples non-nullable
2017-12-25 16:41:18 +09:00
smoogipoo
68d76d4380
Fix taiko strong hits not being handled
2017-12-23 20:58:09 +09:00
Dean Herbert
aeafa5645a
Make Samples null by default and prepopulate in mania
2017-12-23 18:06:46 +09:00
Dean Herbert
2db68df999
Simplify DrawableHitObject's sample load code
2017-12-23 17:20:14 +09:00
Dean Herbert
5026c7a95e
SoundControlPoint -> SampleControlPoint
2017-12-23 16:34:34 +09:00
Dean Herbert
ff0927e71b
Remove unnecessary newline
2017-12-23 16:23:33 +09:00
Dean Herbert
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
smoogipoo
cb7e192aff
Determine SampleInfo defaults in DrawableHitObject
2017-12-21 16:02:33 +09:00
smoogipoo
a303bf71cf
Give control over screen space conversion to DrawableHitObject
2017-12-11 22:19:02 +09:00
smoogipoo
b28306d3c0
Fix incorrect SelectionPoint
2017-12-11 18:08:16 +09:00
smoogipoo
4573cc3322
Refactor into a new DragBox class, representing a single drag
2017-12-11 17:45:03 +09:00
FreezyLemon
43c270ea49
Rolled back the bad earlier implementation
2017-12-07 21:18:51 +01:00
smoogipoo
cf859a6cf2
Make the dragger attach to objects it surrounds
...
Plus a lot more implementation.
2017-12-02 00:26:02 +09:00
FreezyLemon
bc3f11fdb8
Added PlaysSamples property to prevent certain DrawableHitObjects from playing their samples on hit. Also added this to TaikoObjects so their hitsounds won't be played (will be done by the TaikoRulesetContainer)
2017-11-29 06:24:13 +01:00
smoogipoo
ae8407a3f3
Fix nested hitobject judgements not being removed
2017-11-13 14:00:35 +09:00
smoogipoo
66ee9d1631
Update in-line with framework changes
2017-11-09 17:04:04 +09:00
smoogipoo
348083f589
Update with framework state transformation
...
Removes explicit initial state setting in DrawableOsuHitObjects.
2017-11-09 14:05:05 +09:00
smoogipoo
0620d0bd7a
AllJudged does not need to be virtual anymore
2017-11-02 21:56:09 +09:00
smoogipoo
326891f51c
Add "Final" to better determine when to stop processing the hitobject
2017-11-02 21:54:28 +09:00
smoogipoo
fe00ac7e41
Make DrawableHitObject/ScoreProcessor support rewinding
2017-11-02 21:21:07 +09:00
Dean Herbert
d5892cf54e
Add a bool to specify whether judgements should be visible for certain DrawableHitObjects
2017-10-09 20:17:05 +09:00
Dean Herbert
b78c516b74
Merge branch 'master' into scoring-revamp
2017-09-13 20:47:14 +09:00
smoogipooo
093d82ac45
Set depths from playfield add methods instead of DrawableHitObject
2017-09-13 16:17:01 +09:00
smoogipooo
d83a2d4dc6
Disable masking optimisations for scrolling hit objects
...
Lifetime is very tightly controlled here, so all should be okay.
2017-09-13 15:57:40 +09:00
smoogipooo
92b3e203e8
judgementOccurred should be passed upwards
...
So only one hit object is ever judged in a single frame.
2017-09-12 18:50:30 +09:00
smoogipooo
a38e0062a4
Fix checking judgements even if we don't provide a judgement, if we have a result, or if a nested hit object handled a judgement.
2017-09-12 18:49:50 +09:00
Dean Herbert
f32d444d68
Remove generics from Playfield (fixes catch)
2017-09-12 18:19:28 +09:00
Dean Herbert
d7ac02d090
Ensure judgements aren't updated when ArmedState is not idle
2017-09-12 18:00:41 +09:00
Dean Herbert
1194e46ef1
Merge remote-tracking branch 'upstream/master' into judgement-revamp
2017-09-12 17:46:21 +09:00
Dean Herbert
7b92bbfa86
Merge branch 'master' into mania-hit-explosions
2017-09-11 17:34:14 +09:00
smoogipooo
0cadee998c
Set default AccentColour for hit objects
2017-09-11 13:44:05 +09:00
smoogipooo
2086ed209d
Fix hold note tick input.
2017-09-11 04:51:44 +09:00
smoogipooo
0cc443e618
Remove all generic judgements.
2017-09-06 18:05:51 +09:00
smoogipooo
f158ce814c
Fix state never getting set.
2017-09-06 17:20:41 +09:00
smoogipooo
ac8ec31b61
Make judgements able to be "added" plus make everything compile and run.
2017-09-06 17:02:13 +09:00
Dean Herbert
84c22df3f5
Combine Judgement.HitResults into one.
2017-09-06 17:01:48 +09:00
smoogipooo
7a5708ce92
Further support for null judgements.
2017-08-21 15:35:16 +09:00
smoogipooo
d83c218e08
Remove various scrolling container optimisations (removing when not alive).
2017-08-09 16:19:09 +09:00
Dean Herbert
ee7bb1b4f5
Don't set RelativePositionAxes when setting ScrollingAxes
...
(cherry picked from commit debe13629f
)
2017-08-08 13:02:23 +09:00
smoogipooo
f3c05fe232
CI fixes.
2017-08-07 17:34:57 +09:00
smoogipooo
933740664c
SpeedAdjustedHitRenderer -> ScrollingHitRenderer for consistent naming.
2017-08-07 16:43:54 +09:00
smoogipooo
a3efca9c35
Reduce implementation overhead in actually positioning hitobjects and making them scroll.
2017-08-07 16:02:38 +09:00
smoogipooo
e1dfe364b2
Fix lifetime performance regression.
2017-08-07 14:07:49 +09:00
smoogipooo
3389c8a4dc
CI fixes.
2017-06-21 20:17:15 +09:00
smoogipooo
34ac932fe2
Reduce pollution in DrawableHitObject in favor of a loosely-coupled IScrollingHitObject.
2017-06-19 10:54:23 +09:00
smoogipooo
28e48eab2b
CI fixes.
2017-06-16 19:30:30 +09:00
smoogipooo
4afe83e74e
Rework DrawableHitObject to provide default life times and proper DrawableTimingSection autosizing.
...
This exposes LifetimeOffset from DrawableHitObject which is used by the XSRG rulesets to adjust the life time range by the VisibleTimeRange.
2017-06-16 19:21:54 +09:00
smoogipooo
3ec41a313b
Add base DrawableHitObject + HitObjectStartTimeComparer.
2017-05-26 18:48:18 +09:00
Dean Herbert
6fd95e0c52
Fix post-merge breakage
2017-05-11 17:16:01 +09:00
Dean Herbert
bc54b3c85f
Merge branch 'master' into mania-notes
2017-05-11 17:13:29 +09:00
Dean Herbert
b0e522345c
Combine DrawableHitObject classes into one
2017-05-11 17:07:46 +09:00
smoogipooo
2d2d1beddd
More concrete method to determine if all hit objects have been judged.
...
Covers the case where nested hit objects are involved.
2017-05-11 14:48:08 +09:00
smoogipooo
956a7288fb
Add basic DrawableNote.
2017-05-03 20:12:27 +09:00
smoogipooo
1fa42b26e8
Make base DrawableHitObject<TJudgement> uninheritable.
2017-05-03 14:02:23 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset.
2017-04-18 16:05:58 +09:00