Bartłomiej Dach
c5049b51c5
Mark normal-hitnormal sample as layered
2020-06-22 20:08:29 +02: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
Dean Herbert
1992a3db54
Fix redundant override showing up in build warnings
2020-06-03 15:50:00 +09:00
Dan Balasescu
64d1b4b11b
Merge branch 'master' into move-setter-to-duration
2020-06-01 15:55:48 +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
Dean Herbert
e688033967
Fix incorrect xmldoc
2020-05-31 22:39:03 +09:00
Dean Herbert
f9883373bb
Flip direction to avoid breaking other usages
2020-05-29 16:11:26 +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
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
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
Dan Balasescu
7846445b45
Merge branch 'master' into mania-distance-snap-grid
2020-05-22 21:17:25 +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
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
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
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
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
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
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
smoogipoo
758bb3711f
Add more sane limit for maximum slider length
2020-03-11 18:07:11 +09:00
Dean Herbert
c06db5a54a
Remove legacy DrawableHitObject state management
2020-02-27 11:28:29 +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
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
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
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
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
smoogipoo
91735ff367
Update MathUtils namespace usages
2020-01-09 13:43:44 +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
Dean Herbert
fa067b8799
Merge branch 'master' into legacy-beatmap-saving
2019-12-18 17:17:03 +09:00
Huo Yaoyuan
d5994ed484
CA2208: create exceptions correctly.
2019-12-17 13:00:10 +08:00
Dean Herbert
272d7d0ca9
Merge branch 'master' into fallback-to-skin-combo-colours
2019-12-17 12:36:20 +09:00
smoogipoo
8beb6b534f
Merge remote-tracking branch 'refs/remotes/origin/master' into legacy-beatmap-saving
2019-12-16 17:09:03 +09:00
Huo Yaoyuan
c457571da6
Use index and range expressions
2019-12-15 20:17:35 +08:00
Huo Yaoyuan
ddb2cfc46d
Use GetEndTime in Taiko and Mania
2019-12-14 18:16:13 +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
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
smoogipoo
ab0f2e7c6a
Apply suggested refactorings
2019-12-10 13:12:54 +09:00
smoogipoo
47f3c4a596
Don't serialise path version
2019-12-09 20:18:18 +09: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
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
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
smoogipoo
27dd12a66d
Rewrite slider length calculation for readability
2019-12-06 15:06:31 +09:00
smoogipoo
23c7132c4f
Add missing license header
2019-12-06 11:53:22 +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
Huo Yaoyuan
c0fe91a84c
Merge branch 'master' into sharpen
2019-11-26 18:21:50 +08: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
Huo Yaoyuan
818553027b
Merge branch 'master' into sharpen
2019-11-21 23:42:46 +08: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
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
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
Dean Herbert
b37bf4ea01
Merge remote-tracking branch 'upstream/master' into selection-hitsound-addition
2019-11-12 10:44:53 +09: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
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
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
Dean Herbert
51bf600ea7
Use empty hitwindows instead of null
2019-10-09 19:08:31 +09:00
smoogipoo
897b3233af
Add start time tracking to EditorBeatmap
2019-10-03 14:23:48 +09: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
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
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
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
af3bb5a2cd
Centralise and share bar line generation code between rulesets
2019-09-10 13:30:54 +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
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
smoogipoo
8f8d35bd15
Delay initial hitobject state computation
2019-09-02 15:06:34 +09:00
Dean Herbert
741bd0a5cf
Fix incorrect colour sizes and simplify alignment specification
2019-08-30 18:35:17 +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
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
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
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
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
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
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
60ea3d4e1a
Fix skinning support for combobreak
2019-06-30 21:58:30 +09: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
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
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
c39c37a18d
Apply more missed cases
2019-04-01 12:44:46 +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
6511234804
Fix catch spinners not being allowed for conversion
2019-03-20 13:53:22 +09:00
Dean Herbert
14af957599
Merge pull request #4468 from smoogipoo/fix-min-tick-distance
...
Fix ticks not being generated at the minimum tick distance
2019-03-15 12:12:48 +09:00
smoogipoo
71d79f0a39
Fix ticks not being generated at the minimum tick distance
2019-03-14 15:20:12 +09:00
Dean Herbert
8f00f2290a
Log issues
2019-03-13 14:56:41 +09:00
Dean Herbert
f8b5cf8c8e
Add extra clamping of endTime to startTime
2019-03-13 13:46:41 +09:00
Dan Balasescu
a35d9ccc09
Apply clamping suggestion
...
Co-Authored-By: peppy <pe@ppy.sh>
2019-03-13 12:35:05 +09:00
Dean Herbert
93b774104a
Fix NaN handling
2019-03-13 11:30:33 +09:00
Dean Herbert
cc09ecbfcf
Increase validation performed on .osu files to avoid hard crashes
2019-03-12 20:31:15 +09:00
Dean Herbert
63fea65c0c
Clarify repeat index
2019-03-11 14:53:21 +09:00
Dean Herbert
489153579a
Add xmldoc and clarify struct variables
2019-03-11 14:36:29 +09:00
Dean Herbert
2029cf93fd
Rename and reuse variables
2019-03-11 14:33:21 +09:00
Dean Herbert
93a999396e
LegacyFinalTick -> LegacyLastTick to match existing variable
2019-03-08 20:13:11 +09:00
Dean Herbert
355705f0a5
Fix legacy tick handling
2019-03-08 19:57:30 +09:00
Dean Herbert
973f29b765
Apply review
2019-03-08 15:14:57 +09:00
smoogipoo
a08086cc8a
Fix volume not being considered for file samples
2019-03-05 18:21:29 +09:00
Dean Herbert
26d53d06a9
Fix remaining issues
2019-02-28 13:31:40 +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
Unknown
6eff79913b
remove blank lines
2019-01-11 10:34:56 +01:00
Ivan Pavluk
28b033bd99
Autodetect LowestSuccessfulHitResult
2018-12-12 17:15:59 +07:00
Ivan Pavluk
e49e2fda9e
Rename SuccessfulHitResult->LowestSuccessfulHitResult
2018-12-12 13:24:58 +07:00
Dean Herbert
ffb91b4afc
Update docstring
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-12 13:11:03 +07:00
Dean Herbert
d86cbf66a9
Update docstring
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-12 13:10:47 +07:00
Ivan Pavluk
a62b105fb5
Fix formatting
2018-12-10 05:06:18 +00:00
Ivan Pavluk
8457324044
SuccessfulHitWindow->SuccessfulHitResult
2018-12-10 09:04:12 +07:00
Dan Balasescu
77a544e475
formatting fix
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-09 23:38:29 +07:00
Dan Balasescu
784a114eae
formatting fix
...
Co-Authored-By: pavlukivan <pavlukivan@outlook.com>
2018-12-09 23:38:19 +07:00
Ivan Pavluk
cb2444e01c
Remove Meh from TaikoHitWindows
2018-12-06 19:04:54 +07:00
smoogipoo
9fdd48ded2
Add 1ms offset to controlpoint lookup times
2018-12-04 12:08:46 +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
f3ba429701
Make sure control points is internally initialised
2018-11-12 17:14:06 +09:00
smoogipoo
f4fd6189f8
Implement IEquatable
2018-11-12 16:53:30 +09:00
smoogipoo
0220ed21b0
Ignore distance for json serialisation
2018-11-12 16:38:49 +09:00
smoogipoo
0e92b385f0
Define default json deserialisation constructor
2018-11-12 16:38:33 +09:00
smoogipoo
8ad9b6a02a
Safety for default(SliderPath)
2018-11-12 16:38:14 +09:00
smoogipoo
d594ce3530
Revert "Make SliderPath.ControlPoints read-only"
...
This reverts commit 3b88d94793
.
# Conflicts:
# osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 16:20:38 +09:00
smoogipoo
77d16aa968
Add xmldocs
2018-11-12 14:16:21 +09:00
smoogipoo
4eef1134a6
Re-order file
2018-11-12 14:08:36 +09:00
smoogipoo
3aba462e52
Make Path.Distance a property again
2018-11-12 14:07:48 +09:00
smoogipoo
3b88d94793
Make SliderPath.ControlPoints read-only
2018-11-12 14:03:54 +09:00
smoogipoo
54ab256c8e
Instantiate a new path rather than setting properties on it
...
# Conflicts:
# osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs
# osu.Game.Rulesets.Catch/Objects/JuiceStream.cs
# osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs
# osu.Game/Rulesets/Objects/Legacy/Catch/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
# osu.Game/Rulesets/Objects/SliderPath.cs
2018-11-12 13:50:19 +09:00
smoogipoo
cf4dad0fe8
Fix hitobjects not updating IsMaskedAway after being judged
2018-11-07 15:42:40 +09:00
smoogipoo
ace1dce281
Merge remote-tracking branch 'origin/master' into fix-slider-samples
...
# Conflicts:
# osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
2018-11-05 18:10:22 +09:00
smoogipoo
92d570342c
Fix sample additions not falling back to non-addition bank
2018-11-05 17:35:24 +09:00
smoogipoo
a4caaf56ef
Merge remote-tracking branch 'origin/master' into fix-slider-samples
...
# Conflicts:
# osu.Game.Tests/Beatmaps/Formats/LegacyBeatmapDecoderTest.cs
# 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
2018-11-05 16:38:28 +09:00
smoogipoo
1fffa48aa0
Sort nested hitobjects post-creation
2018-11-05 12:15:45 +09:00
Dean Herbert
e6ee3dc73e
Use framework helper functions for path approximation
2018-11-02 19:26:29 +09:00
smoogipoo
1aae123ff5
Make approximators share an interface
2018-11-01 19:16:44 +09:00
Dean Herbert
c1304eca1b
Merge remote-tracking branch 'upstream/master' into slider-placement
2018-11-01 17:59:37 +09:00
Dean Herbert
bb2f8deb18
ControlPoint -> PathControlPoint
...
Also Curve -> Path.
2018-11-01 03:56:51 +09:00
smoogipoo
08b16be3b8
Merge branch 'slider-controlpoint-masks' into slider-placement
...
# Conflicts:
# osu.Game.Rulesets.Osu/Edit/Masks/SliderMasks/Components/SliderBodyPiece.cs
# osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs
2018-10-29 15:55:38 +09:00
smoogipoo
acd703c27b
Make sliders respond to control point changes
2018-10-29 15:36:43 +09:00
smoogipoo
a9f1484e8b
Fix some post-rebase issues
2018-10-29 15:26:28 +09:00
smoogipoo
8b36d9b482
Remove SliderCurve.Offset (unused)
2018-10-29 15:26:07 +09:00
smoogipoo
b3e105ba93
Make curve approximators implement common interface
2018-10-29 15:26:07 +09:00
smoogipoo
47be95ce0b
Fix slider nodes using the wrong samples
2018-10-16 17:10:24 +09:00
smoogipoo
060cc24dba
Cleanup slidercurve calculation
2018-10-16 11:11:04 +09:00
smoogipoo
e130204a3b
Merge remote-tracking branch 'origin/master' into optimise-diffcalc
2018-10-12 12:26:15 +09:00
Dean Herbert
5d26c1b771
Merge pull request #3574 from smoogipoo/hitobject-perf-improvements
...
Various performance improvements around hitobjects
2018-10-11 22:16:48 +09:00
smoogipoo
d282d16e1c
Use SortedList again
2018-10-11 20:49:12 +09:00
smoogipoo
83fd251c7b
Pass sub-controlpoints as span slices
2018-10-11 17:44:25 +09:00
Dean Herbert
841b2e8692
Merge branch 'master' into consistent-terminology-format
2018-10-10 19:19:36 +09:00
smoogipoo
f53bb81723
Remove unnecessary lambda allocation
2018-10-10 14:58:54 +09:00
smoogipoo
417ebaeb85
Reduce hitobject size by removing lazy
2018-10-10 13:03:18 +09:00
smoogipoo
1125075b37
Use list with post-sort for nested hitobjects
2018-10-10 13:02:27 +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
551581e5cd
Skip invalid hitobject types, log error instead
2018-08-22 15:59:58 +09:00
smoogipoo
16d30f6756
Add explanatory comments
2018-08-17 13:31:12 +09:00
smoogipoo
eb6f1ae72c
Fix spinners providing one extra combo
2018-08-17 09:16:28 +09:00
smoogipoo
4c3e551295
Fix first object not receiving new combo
...
Note: If a normal catch fruit is the first object, it does not receive a new combo...
2018-08-15 11:48:28 +09:00
smoogipoo
31f324945e
Implement combo offsets
2018-08-15 11:47:31 +09:00
smoogipoo
da3e2cfee2
Catch/osu! spinners should have combo
2018-08-15 11:13:23 +09:00
smoogipoo
4f0305ffeb
Taiko convert hitobjects should not have combo
2018-08-15 10:58:59 +09:00
smoogipoo
83f75ac896
Mania convert hitobjects should not have combo
2018-08-15 10:57:11 +09:00
smoogipoo
8faf12579a
Fix field not being set correctly
2018-08-15 10:53:25 +09:00
smoogipoo
d2709613bc
Add combo offset to ConvertHitObjectParser
2018-08-15 10:49:45 +09:00
smoogipoo
ce77473910
Simplify usage of ConvertHitObjectParser
2018-08-15 10:24:56 +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
da8fc0ee5d
ToLower -> ToLowerInvariant
2018-07-25 07:37:05 +02:00
Dean Herbert
d561f54282
Merge branch 'master' into per-object-css
2018-07-23 03:01:17 +09:00
smoogipoo
c087a73f40
Implement per-hitobject custom sample banks
2018-07-20 15:12:44 +09:00
David V
9eb69a1e76
Restructure + corrects converting to support all systems
2018-07-19 17:47:55 +02:00
David V
4e72794101
Converts float to int.
2018-07-19 15:55:38 +02:00
Dean Herbert
dbc538abbe
Use Enum.HasFlag
...
With .NET core 2.0+ this is as efficient as the ugly code we've been using.
2018-07-16 16:18:46 +09:00
Dean Herbert
4f894969df
Merge branch 'master' into hitobject-samples
2018-07-05 19:43:19 +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
7f832e34c0
Reorder sample bank property setters
2018-07-02 14:29:18 +09:00
smoogipoo
73fac2115a
Implement hitobject sample files
2018-07-02 14:20:35 +09:00
smoogipoo
9f85c55915
Merge remote-tracking branch 'origin/master' into legacy-custom-banks
2018-07-02 12:34:51 +09:00
Dean Herbert
70a119dde7
Remove unused/duplicate interface
2018-06-29 12:20:53 +09:00
smoogipoo
781095b96b
Encapsulate the method to apply SampleControlPoints to SampleInfos
2018-06-28 18:29:07 +09:00
smoogipoo
80501de4b9
Add legacy slider offsets
2018-06-27 12:09:21 +09:00
Dean Herbert
8e784d9104
Merge branch 'master' into fix-conversion-hitwindows
2018-05-18 11:59:16 +09:00
smoogipoo
43cdbec0a3
Fix hold note hitwindow lenience
2018-05-17 13:59:04 +09:00
smoogipoo
f67d263596
Move ruleset-specific hitwindows to post-converted hitobjects
2018-05-17 13:35:15 +09:00
smoogipoo
c67f372560
Don't create nested hitobjects unless absolutely required
2018-05-17 12:29:33 +09:00
Dean Herbert
6bf1092c7d
Merge branch 'master' into enable-distance-overflow
2018-05-15 18:56:51 +09:00
smoogipoo
f5068804d5
Re-enable slider distance overflow
...
Fixes #2467 .
2018-05-14 15:14:29 +09:00
smoogipoo
97a523584d
Make HitWindows not return null by default
2018-05-11 15:52:51 +09:00
smoogipoo
bfad101d17
Standardise naming
2018-05-11 15:42:34 +09:00
smoogipoo
5245d2d426
Add info about when CreateHitWindows is invoked
2018-05-11 15:36:53 +09:00
smoogipoo
8563291796
Add convert mania HitWindows
2018-05-11 15:32:00 +09:00
smoogipoo
c052ee71c1
Add convert osu HitWindows
2018-05-11 15:31:36 +09:00
smoogipoo
9c65d347ba
Add convert taiko HitWindows
2018-05-11 15:31:12 +09:00
smoogipoo
8216bc311a
Restructure HitWindows to allow outside setting
2018-05-11 15:30:26 +09:00
Adonais Romero González
06c6f55995
Apply offset to end times on legacy converter
2018-04-30 00:43:32 -07: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
78a8f60b39
IHasComboIndex -> IHasComboInformation
2018-03-22 12:35:17 +09:00
Dean Herbert
1a782a840c
Fix xmldoc
2018-03-22 12:34:29 +09:00
Dean Herbert
9ad4e9284a
Add skin source fallback chain
2018-03-20 16:40:11 +09:00
Dean Herbert
c38c26eacb
Move combo index processing to BeatmapProcessor
2018-03-20 15:57:43 +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
Dean Herbert
217dd2ecdc
Initial push for better decoders
2018-03-09 21:24:15 +09:00
smoogipoo
2a9fb2c2c6
Make NestedHitObjects lazily-constructed
2018-03-05 21:40:26 +09:00
smoogipoo
8a15d4e677
Fix linear perfect-curves not being cased to CurveType.Linear
...
Fixes #2151 .
2018-03-02 18:21:40 +09:00
Dean Herbert
5b4fef0180
Add bare minimum sanity checking of beatmap input values to make broken maps load
...
Resolves ppy/osu#1988 .
2018-02-28 18:12:24 +09:00
Dean Herbert
9cbed461c4
Merge branch 'master' into sliderbody-rework
2018-02-26 15:00:18 +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
smoogipoo
066abfbdbc
Rename PositionAt -> CurvePositionAt to represent its new meaning
2018-02-24 02:43:36 +09:00
smoogipoo
8c90abe0dc
Make slider control points relative to start position
2018-02-23 20:59:27 +09:00
Dean Herbert
6ceabfe19e
Add basic hitsound skinning
2018-02-23 13:38:12 +09:00
smoogipoo
f012cce668
Rewrite some xmldocs to make methods easier to understand
2018-02-21 17:33:22 +09:00
smoogipoo
4699b5ad7c
Fix a few code styling issues
...
These are present in the netstandard branch (the rules aren't working there - probably using the wrong configuration).
2018-02-08 23:47:03 +09:00
smoogipoo
0511728fbe
Remove "keypress" from comment
2018-02-08 17:38:46 +09:00
smoogipoo
46284c61ae
Return HitResult.None instead of null
2018-02-08 14:25:59 +09:00
smoogipoo
c537af0289
Fix/improve commends
2018-02-08 14:25:44 +09:00
smoogipoo
a6f1a4689e
Fix incorrect value copy-pasta
2018-02-08 14:16:37 +09:00
smoogipoo
802aaefe35
Give rulesets a way to disable/enable perfect/ok hit results
2018-02-08 13:54:08 +09:00
smoogipoo
cfdeac6428
Make hit windows settable by derived classes
2018-02-08 13:38:31 +09:00
smoogipoo
9225e883c1
Add + use HalfHitWindow
2018-02-02 20:29:50 +09:00
smoogipoo
6976347d64
Protect hit window values
2018-02-02 20:28:59 +09:00
smoogipoo
e45b26c742
Cleanup/minify HitWindows
2018-02-02 19:35:44 +09:00
smoogipoo
d371425c87
BAD -> MEH
2018-02-02 18:56:44 +09:00
smoogipoo
70462ebee3
Make HitWindows settable by derived HitObjects
2018-02-02 18:53:05 +09:00
smoogipoo
acf20c079c
General improvements around usage of HitWindows for mania
2018-02-02 18:47:54 +09:00
smoogipoo
558c53a6ba
Give HitObject some HitWindows
2018-02-02 18:47:10 +09:00
smoogipoo
a0c1662fb7
Move mania's HitWindows to osu.Game
2018-02-02 17:52:55 +09:00
smoogipoo
13f16077d4
Implement Catmull-Rom curve approximator
2018-02-01 20:04:41 +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
smoogipoo
d37844c068
Clean up off-by-one offsets from repeat-related properties
2018-01-23 13:37:25 +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
Dan Balasescu
ebb8550f53
Merge branch 'master' into shrink-drawablehitobject_t
2018-01-14 00:16:42 +09: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
Aergwyn
ae1adfd2f2
remove unnecessary empty lines
...
codefactor.io \(o.o)/
also one unnecessary semicolon
2018-01-12 19:30:34 +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
d288d8a51f
Remove SampleInfoList
2017-12-25 15:40:01 +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
6a29f6020a
Make HitObjects construct nested hit objects
2017-12-22 21:42:54 +09:00
smoogipoo
cb7e192aff
Determine SampleInfo defaults in DrawableHitObject
2017-12-21 16:02:33 +09:00
smoogipoo
c99ea32574
Merge branch 'master' into beatmap-serialization
2017-12-21 13:39:39 +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
9e3d439f0a
Merge branch 'master' of https://github.com/ppy/osu into taiko-hitsounds-fix
2017-12-08 08:30:02 +01:00
smoogipoo
f41af191ed
Merge remote-tracking branch 'origin/master' into editor-selection-tool
2017-12-08 15:13:18 +09:00
FreezyLemon
43c270ea49
Rolled back the bad earlier implementation
2017-12-07 21:18:51 +01:00
smoogipoo
e573db04d4
Don't serialize HitObject.Kiai
2017-12-07 14:42:36 +09:00
smoogipoo
41b607c165
Dont serialize hitobject sample properties copied from the control point
2017-12-07 03:40:43 +09:00
Aergwyn
db50ad794e
CI adjustments
...
- removing unnecessary `using`s
- name Fields/Methods according to rules
- removing unnecessary initializations
2017-12-01 17:58:11 +01:00
Aergwyn
806c0e3b26
restructured OsuLegacyDecoder into LegacyDecoder
...
Beatmap works, Storyboard not...
2017-12-01 17:43:33 +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
Dean Herbert
2610cadd3c
CI fixes
2017-11-21 12:11:29 +09:00
Dean Herbert
4f6263ef86
Make many internal classes and methods public
...
This is important when using dynamic compiling to rapidly iterate. Until we actually split projects out into pieces (like the abstract ruleset project we have talked about) there is no advantage to using internal in the osu! game code.
2017-11-21 12:06:16 +09: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
bb6b656ec6
Fix code review issues
2017-10-12 22:27:22 +09:00
Dean Herbert
1a88ffe862
Merge remote-tracking branch 'upstream/master' into catch-improvements
2017-10-11 19:10:18 +09:00
Dean Herbert
03fbf47bc2
Add juicy streams
2017-10-10 20:22:42 +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
d5bd005c01
Remove unused code for now
...
I don't think we'll ever be using this anyway.
2017-09-12 18:52:15 +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
smoogipooo
d6bf5c38b7
Move Kiai bool to HitObject.
2017-09-12 10:01:07 +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
Dean Herbert
52dadad1e1
Merge branch 'master' into fix-taiko-barlines
2017-08-21 16:46:25 +09:00
smoogipooo
7a5708ce92
Further support for null judgements.
2017-08-21 15:35:16 +09:00
smoogipooo
6a7b410bc3
Make DifficultyControlPoint.SpeedMultiplier actually increase with an increasing speed. Fixes #1147
2017-08-21 11:58:54 +09:00
Dean Herbert
bc7621607a
Merge upstream/master in.
2017-08-18 22:20:45 +09:00
MillhioreF
e42c279229
More generic catching for broken hitobject strings
2017-08-10 01:50:20 -05:00
MillhioreF
c16dbc05aa
Add new error for malformed (too many variables) hit objects during import
2017-08-09 23:41:22 -05: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
Dean Herbert
fce580d717
Reshuffle namespaces
2017-07-26 13:22:46 +09:00
Thomas Müller
4045083dcd
Update sorting comparers in line with framework changes
2017-07-11 21:21:58 +03: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
c137ee822c
Give velocity a sane default value.
2017-05-29 12:19:51 +09:00
smoogipooo
231b1ae610
We don't need a curve.
2017-05-29 12:19:38 +09:00
smoogipooo
6101fe98e1
Always ApplyDefaults after parsing beatmaps to make sure hit objects are in their most loaded state.
2017-05-29 12:10:29 +09:00
smoogipooo
cd1da469c7
Cleanup + actually fix possible nullrefs.
2017-05-29 11:14:37 +09:00
smoogipooo
9e5a53aae7
Fix possible nullrefs.
2017-05-29 10:53:55 +09:00
smoogipooo
3ec41a313b
Add base DrawableHitObject + HitObjectStartTimeComparer.
2017-05-26 18:48:18 +09:00
smoogipooo
c2d3b6c05a
Remove late initialization of head + tail, keep them updated with start time and end time.
2017-05-26 15:53:49 +09:00
smoogipooo
836bf930a0
More cleanups.
2017-05-23 15:29:38 +09:00
smoogipooo
3cdfd2eef5
Split ControlPoint into different types.
...
# Conflicts:
# osu.Game.Rulesets.Mania/UI/Column.cs
2017-05-23 14:03:40 +09:00
smoogipooo
9565bb9572
Fix hold notes - remove glow for now.
...
# Conflicts:
# osu.Game.Rulesets.Mania/Objects/Drawables/DrawableHoldNote.cs
# osu.Game.Rulesets.Mania/Objects/Drawables/DrawableManiaHitObject.cs
2017-05-17 13:09:49 +09:00
smoogipooo
17466a662c
Add hold note conversion.
2017-05-17 13:09:07 +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
Dan Balasescu
22be765323
Update HitObject.cs
2017-04-26 14:45:30 +09:00
smoogipooo
28f7e0cdba
Introduce SampleInfoList as List<SampleInfo> to reduce generic nesting. Fix CI warnings.
2017-04-26 14:12:21 +09:00
Dean Herbert
a475f1f237
Remove redundant qualifier.
2017-04-24 14:16:51 +09:00
smoogipooo
2af9bf1423
Prefix everything inside Rulesets.Objects.Legacy with "Convert" to avoid naming clashes with Ruleset projects.
2017-04-22 21:33:11 +09:00
smoogipooo
ec04ceaece
Fix off-by-one on repeatCount.
2017-04-22 20:53:55 +09:00
smoogipooo
1bb0b96ddc
Make IHasCurve not depend on a SliderCurve object.
2017-04-22 20:43:20 +09:00
smoogipooo
d7477955ac
CI fixes.
2017-04-21 20:42:13 +09:00
smoogipooo
5cdbb226f8
Remove CurvedHitObject to make RepeatSamples not tied to curve.
2017-04-21 20:40:11 +09:00
smoogipooo
b8f9a2be6e
Whoops fix xmldoc.
2017-04-21 20:40:05 +09:00
smoogipooo
748f13501a
Remove HeadSamples and TailSamples, combine into RepeatSamples.
2017-04-21 20:04:40 +09:00
smoogipooo
382e656e9f
CI fixes.
2017-04-21 19:51:23 +09:00
Dan Balasescu
6c8bd4dfe4
More trimming.
2017-04-21 19:41:46 +09:00
smoogipooo
47f9b2d55b
Trim whitespace.
2017-04-21 19:38:04 +09:00
smoogipooo
b8c10aa595
Improve xmldoc.
2017-04-21 19:37:16 +09:00
smoogipooo
cae4c7c6e5
Combine construction and assignment.
2017-04-21 19:12:16 +09:00
smoogipooo
a999c42d8a
Split slider samples into head + tail + repeats + body (the original HitObject.Samples).
2017-04-21 18:49:49 +09:00
smoogipooo
a7afde02bf
Oops, apparently normal hit sound should always be added.
2017-04-21 16:27:35 +09:00
smoogipooo
ca824de91c
Implement RepeatSamples in IHasRepeats.
2017-04-21 16:18:34 +09:00
smoogipooo
b4a4597366
Transform legacy HitObjectParsers to give repeat slider sounds, instead of all sounds.
2017-04-21 16:18:11 +09:00
smoogipooo
83f1f9d7e5
Add ability to parse per-repeat sounds.
2017-04-21 14:38:46 +09:00
smoogipooo
bd7341c5a1
Restructure reading normal/add/volume members into class to make code a bit more readable/usable.
2017-04-21 14:36:28 +09:00
smoogipooo
ac9f0ccb48
Fix hit normals always being played, regardless of sound type.
2017-04-21 13:59:55 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset.
2017-04-18 16:05:58 +09:00