Commit Graph

65 Commits

Author SHA1 Message Date
Dean Herbert
a8151d5c63 Fix HitWindows getting serialized alongside HitObjects
These were being serialized as the base type. On deserialization, due to
the HitWindow of objects being non-null, they would not get correctly
initialised by the CreateHitWindows() virtual method.

- Closes #10403
2020-10-07 13:45:42 +09:00
smoogipoo
73a7b759cb Add missing obsoletion notice 2020-09-17 17:04:44 +09:00
smoogipoo
f3b5149648 Move some suggestions to warnings, resolve issues 2020-06-03 16:48:44 +09:00
Dean Herbert
cbd563e80b Rename to IHasDuration 2020-05-27 12:38:39 +09:00
smoogipoo
6f4cd6111c Drop obsoletion status for now 2020-05-25 16:50:49 +09:00
smoogipoo
98125102a7 Add cancellation token support to CreateNestedHitObjects() 2020-05-15 18:07:41 +09:00
smoogipoo
efff2bf15d Add HitObject to DefaultsApplied event 2020-05-08 18:49:19 +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
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
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
Huo Yaoyuan
ddb2cfc46d Use GetEndTime in Taiko and Mania 2019-12-14 18:16:13 +08:00
Dean Herbert
709ec1404f Centralise End/StartTime retrieval to extension method 2019-11-25 19:09:14 +09:00
smoogipoo
6fc1be64c2 Make hitobject samples a bindable list 2019-11-08 14:04:57 +09:00
smoogipoo
9a896d52bf Fix nested hitobjects not updating 2019-10-18 13:18:41 +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
Dean Herbert
f925e781a9 Refactor HitWindows for legibility 2019-09-06 15:24:14 +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
Dean Herbert
60ea3d4e1a Fix skinning support for combobreak 2019-06-30 21:58:30 +09:00
smoogipoo
0bd35ab7bb Turn on warnings, resolve issues 2019-04-25 17:36:17 +09:00
Dean Herbert
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09: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
1fffa48aa0 Sort nested hitobjects post-creation 2018-11-05 12:15:45 +09:00
smoogipoo
d282d16e1c Use SortedList again 2018-10-11 20:49:12 +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
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
b35817c877 More xmldocs to hitobject/drawablehitobject 2018-08-06 10:55:38 +09:00
smoogipoo
2a4994e5ce Make hitobjects only have one judgement + result 2018-08-03 15:38:48 +09:00
smoogipoo
d51d0e8547 Initial structure for new hitobject judgement system 2018-08-01 21:45:59 +09:00
smoogipoo
c67f372560 Don't create nested hitobjects unless absolutely required 2018-05-17 12:29:33 +09:00
smoogipoo
97a523584d Make HitWindows not return null by default 2018-05-11 15:52:51 +09:00
smoogipoo
5245d2d426 Add info about when CreateHitWindows is invoked 2018-05-11 15:36:53 +09:00
smoogipoo
8216bc311a Restructure HitWindows to allow outside setting 2018-05-11 15:30:26 +09:00
Dean Herbert
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
smoogipoo
0511728fbe Remove "keypress" from comment 2018-02-08 17:38:46 +09:00
smoogipoo
70462ebee3 Make HitWindows settable by derived HitObjects 2018-02-02 18:53:05 +09:00
smoogipoo
558c53a6ba Give HitObject some HitWindows 2018-02-02 18:47:10 +09:00
Dean Herbert
37d393bca0 Update licence headers 2018-01-05 20:21:19 +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
Dean Herbert
aeafa5645a Make Samples null by default and prepopulate in mania 2017-12-23 18:06:46 +09:00
Dean Herbert
5026c7a95e SoundControlPoint -> SampleControlPoint 2017-12-23 16:34:34 +09:00
smoogipoo
6a29f6020a Make HitObjects construct nested hit objects 2017-12-22 21:42:54 +09:00