1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 17:32:54 +08:00
Commit Graph

34770 Commits

Author SHA1 Message Date
Dean Herbert
5db15a6b26
Merge branch 'master' into fix-hidden-mod-crash 2020-12-04 12:50:02 +09:00
Dean Herbert
d15f947778
Merge pull request #11073 from smoogipoo/dho-remove-onparentreceived 2020-12-04 11:41:34 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived 2020-12-04 11:04:56 +09:00
Dean Herbert
3b38e0259f
Merge pull request #11085 from bdach/sampleinfo-consistent-hashcode 2020-12-04 10:31:44 +09:00
Bartłomiej Dach
15d9147edd Ensure equality member consistency for SampleInfo
The previous implementation of `SampleInfo`'s equality members was not
completely correct in its treatment of the `sampleNames` array. While
`Equals()` compared the values of `sampleNames` using `SequenceEqual()`,
therefore performing a structural check that inspects the contents of
both arrays, `GetHashCode()` used `HashCode.Combine()` directly on the
arrays, therefore operating on reference equality. This could cause the
pooling mechanism of samples to fail, as pointed out in #11079.

To resolve, change the `GetHashCode()` implementation such that it also
considers the contents of the array rather than just the reference to
the array itself. This is achieved by leveraging
`StructuralEqualityComparer`.

Additionally, as a bonus, an array sort was added to the constructor of
`SampleInfo`. This is intended to be a "canonicalisation" processing
step for the array of sample names. Thanks to that sort, two instances
of `SampleInfo` that have the same sample names but permutated will also
turn out to be equal and have the same hash codes, given the
implementation of both equality members. This gives `SampleInfo`
set-like semantics.
2020-12-03 23:25:53 +01:00
Bartłomiej Dach
71fa0da7f4 Add failing test cases 2020-12-03 23:13:48 +01:00
Dan Balasescu
1d92800761
Merge pull request #11068 from peppy/fix-carousel-edge-masking
Fix beatmap carousel panels getting masked away when out of scroll bounds
2020-12-03 20:40:44 +09:00
smoogipoo
09af4bbd57 Merge branch 'dho-remove-onparentreceived' into fix-hidden-mod-crash 2020-12-03 20:10:16 +09:00
smoogipoo
0bdf99b97a Remove OnParentReceived() 2020-12-03 20:08:42 +09:00
smoogipoo
73e99718bc Change order of OnParentReceived() 2020-12-03 20:06:26 +09:00
Dean Herbert
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length 2020-12-03 18:39:54 +09:00
Dean Herbert
1c15c4bcee
Merge pull request #11072 from peppy/update-framework 2020-12-03 18:32:45 +09:00
Dean Herbert
78417b8015
Merge pull request #10905 from smoogipoo/hit-sample-pooling
Implement hitsample pooling
2020-12-03 18:09:53 +09:00
smoogipoo
8245bb85dc Invoke on initial bind 2020-12-03 18:06:55 +09:00
smoogipoo
62b1e37f73 Use async overloads 2020-12-03 18:04:53 +09:00
smoogipoo
3e62da119e Add to inspector also 2020-12-03 17:59:39 +09:00
Dean Herbert
78c43641d1 Update imagesharp namespaces (and consume System.Drawing types instead) 2020-12-03 17:43:09 +09:00
Dean Herbert
c64343c7d7 Update framework 2020-12-03 17:42:41 +09:00
Dean Herbert
d7cfaa38f1
Merge branch 'master' into hit-sample-pooling 2020-12-03 17:08:13 +09:00
Dean Herbert
3550e5b30f Add length display to room screen as well 2020-12-03 16:42:06 +09:00
Dean Herbert
1039df5e16
Merge pull request #11053 from smoogipoo/fix-banana-samples
Fix bananas not playing sounds
2020-12-03 16:01:45 +09:00
Dean Herbert
de1c628d19
Merge pull request #11070 from smoogipoo/fix-songselect-panel-load
Fix song select panels not loading if partially offscreen
2020-12-03 15:50:14 +09:00
smoogipoo
31f7f7072d Fix song select panels not loading if partially offscreen 2020-12-03 15:13:20 +09:00
smoogipoo
db7e82c560 Add test 2020-12-03 14:54:28 +09:00
smoogipoo
e3bbc2b128 Rework osu! hidden mod to avoid storing hitobjects 2020-12-03 14:45:56 +09:00
Dean Herbert
897f593b37 Fix beatmap carousel panels getting masked away when out of scroll bounds
Regressed in https://github.com/ppy/osu/pull/10973 due to removed masking specification.

Closes #11067.
2020-12-03 13:26:28 +09:00
Dean Herbert
a5bb194cb8
Merge pull request #11060 from FamousPig/fix-raw-input
Fix MouseHandler not being ignored when Raw Input is enabled
2020-12-03 12:15:51 +09:00
Bartłomiej Dach
7fd385efe6 Remove unused using directive 2020-12-02 20:01:58 +01:00
Leon Gebler
a2a10d4e13 Don't use nameof(MouseHandler) 2020-12-02 19:45:59 +01:00
Leon Gebler
bbde1f6b9c Fix MouseHandler not being ignored when raw input is enabled 2020-12-02 18:56:59 +01:00
Bartłomiej Dach
6c41830d4d
Merge pull request #11054 from peppy/update-resources
Update resources
2020-12-02 18:42:02 +01:00
Bartłomiej Dach
2b828faecb
Merge branch 'master' into update-resources 2020-12-02 18:07:46 +01:00
Dean Herbert
33b88e09cd
Merge pull request #11056 from smoogipoo/fix-spectator-test-failures
Fix spectator connecting not being thread-safe
2020-12-02 19:50:15 +09:00
smoogipoo
d5dccbc3d7 Fix spectator not being thread-safe 2020-12-02 19:13:09 +09:00
Dean Herbert
32188418f4 Update resources 2020-12-02 15:28:39 +09:00
smoogipoo
946613e803 Fix bananas not playing sounds 2020-12-02 15:22:54 +09:00
Dan Balasescu
297283491a
Merge pull request #11031 from peppy/editor-fix-beat-snapping-new-beatmap
Fix editor beat snapping not working correctly when starting with a new beatmap
2020-12-02 15:17:09 +09:00
smoogipoo
e831c797f3 Merge branch 'master' into hit-sample-pooling 2020-12-02 14:45:24 +09:00
Dean Herbert
71a121389b
Merge pull request #11033 from smoogipoo/immutable-hit-samples
Make HitSampleInfo immutable
2020-12-02 14:44:26 +09:00
Dan Balasescu
bd4d4c5355
Merge pull request #10983 from ekrctb/pseudo-random
Add `StatelessRNG` to be used for randomly-looking visual elements
2020-12-02 14:42:22 +09:00
Dean Herbert
d6e0dc2216 Merge branch 'master' into editor-fix-beat-snapping-new-beatmap 2020-12-02 14:37:00 +09:00
Dean Herbert
e84dab8589 Move new beatmap construction above beat divisor binding 2020-12-02 14:36:52 +09:00
Dan Balasescu
2e0fdf9bca
Merge pull request #11011 from ekrctb/catch-pooling-initial
Initial implementation of hit object pooling in osu!catch ruleset
2020-12-02 13:02:22 +09:00
smoogipoo
2de3e655e0 Rename NextUlong -> NextULong 2020-12-02 12:59:45 +09:00
Dean Herbert
d344268df7
Merge pull request #11028 from peppy/osu-fade-slider-body-on-hit
Hide slider body immediately on successful hit when snaking is enabled
2020-12-02 12:59:26 +09:00
Dean Herbert
0cd404b6d3
Merge pull request #11051 from smoogipoo/update-dependencies
Update dependencies
2020-12-02 12:56:29 +09:00
Dan Balasescu
be3fed3072
Merge pull request #11024 from peppy/fix-slider-point-drag-offset
Fix slider control point dragging not correctly accounting for drag deadzone
2020-12-02 11:10:06 +09:00
Dan Balasescu
8dfe3a21cc
Merge pull request #11025 from peppy/editor-slider-control-point-scaling
Scale slider control point display in line with circle size
2020-12-02 11:06:00 +09:00
Dan Balasescu
46a57921e2
Merge branch 'master' into osu-fade-slider-body-on-hit 2020-12-02 11:03:04 +09:00
Dan Balasescu
fdda928979
Merge pull request #11030 from peppy/osu-fix-slider-playing-animations-on-miss
Fix sliders playing hit animations when completely missed
2020-12-02 11:02:51 +09:00