1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-20 09:02:56 +08:00
Commit Graph

22529 Commits

Author SHA1 Message Date
Dan Balasescu
7321e59c4b
Merge pull request #11186 from peppy/mania-clamp-hit-position-offset
Clamp osu!mania's HitPosition offset to match osu-stable implementation
2020-12-16 18:52:59 +09:00
Dean Herbert
39957382f7
Merge pull request #11099 from Game4all/android-add-import-support
Add support for importing files on Android
2020-12-16 18:25:08 +09:00
Dean Herbert
c002184768 Clamp osu!mania's HitPosition offset to match osu-stable implementation
Closes #11184.
2020-12-16 18:08:19 +09:00
Dean Herbert
a01bb3d5a3 Better limit bindable exposure of data class 2020-12-16 16:20:29 +09:00
Dean Herbert
6bce587b59 Pass users in via constructor and correctly unbind on disposal 2020-12-16 16:20:29 +09:00
Dean Herbert
6e2131c164 Don't track local user score in any special way 2020-12-16 16:20:29 +09:00
Dean Herbert
09d0ceb766 Add testing setup to get a better visual idea of how scoreboard will work
fixup! Add method to ScoreProcessor to calculate score and accuracy from statistics
2020-12-16 16:20:29 +09:00
Dean Herbert
d009a0be51 Move class to final location 2020-12-16 16:20:29 +09:00
Dean Herbert
2954218897 Add method to ScoreProcessor to calculate score and accuracy from statistics 2020-12-16 16:20:29 +09:00
Dean Herbert
72d296f412 Add received timestamp and basic xmldoc for header class 2020-12-16 16:19:53 +09:00
Dean Herbert
84a0770789 Change frame header to use dictionary for compatibility 2020-12-16 15:35:46 +09:00
Dean Herbert
88b3bf06e8 Merge branch 'master' into add-bundle-header 2020-12-16 13:40:15 +09:00
Dean Herbert
ef57ae6f40
Merge pull request #11127 from peppy/realtime-multiplayer
Add client-side models and interfaces required for multiplayer
2020-12-16 13:22:01 +09:00
smoogipoo
31fe28b8b3 Remove IStatefulMultiplayerClient 2020-12-16 12:32:53 +09:00
smoogipoo
4cd290af11 Split server interfaces 2020-12-16 12:31:11 +09:00
Bartłomiej Dach
f5eab1047c Merge branch 'master' into android-add-import-support 2020-12-15 21:26:12 +01:00
Dean Herbert
ea6c196f81 Remove unused using statement 2020-12-15 16:03:18 +09:00
Dean Herbert
e37089af5e Further code cleanup 2020-12-15 15:44:56 +09:00
Dean Herbert
8b68ccc0ff Rename class and move inside HUD namespace 2020-12-15 15:34:11 +09:00
Dean Herbert
dd5572b20a Remove unnecessary methods and event 2020-12-15 15:26:20 +09:00
Dean Herbert
8362ad37e3 Bring up-to-date with code changes 2020-12-15 15:22:14 +09:00
Dean Herbert
70e5d4495a
Merge branch 'master' into ingame-leaderboard-general-implementation 2020-12-15 15:14:56 +09:00
Dean Herbert
3faf7db068
Merge pull request #10882 from PercyDan54/import-screen
Add File Import screen
2020-12-15 15:03:15 +09:00
Gagah Pangeran
f0e6b6eaf8 sort by ruleset id first then star diff 2020-12-15 11:09:09 +07:00
Dean Herbert
10ee8ed8e8 Reorder functions and simplify transform logic 2020-12-15 13:04:11 +09:00
Dean Herbert
0d4ac2f748 Refresh view after import completes 2020-12-15 12:57:28 +09:00
Dean Herbert
db4f2d5ffb Refresh view after import succeeds 2020-12-15 12:52:45 +09:00
Dean Herbert
cafe81ab97 Further refactoring and bindable simplification 2020-12-15 12:52:38 +09:00
Dean Herbert
33f77f81f2 Disable the import button when no file is selected, rather than weird flash logic 2020-12-15 12:43:48 +09:00
Dean Herbert
cba4657021 Get handled file extensions from game itself, rather than duplicating locally 2020-12-15 12:37:41 +09:00
Dean Herbert
26fa010fed Merge branch 'master' into import-screen 2020-12-15 12:37:27 +09:00
Dean Herbert
0d9c1cb5d3 Fix issues with data serialisation 2020-12-14 18:41:24 +09:00
Dean Herbert
c5112edd08 Add comment regarding the reasoning for encapsulating the task in another 2020-12-14 18:03:01 +09:00
Dean Herbert
f3e6c586f7 Change waitForReady back to private implementation 2020-12-14 17:59:04 +09:00
Dean Herbert
79768f0aa4 Update framework 2020-12-14 17:52:38 +09:00
Dean Herbert
29f3e8e486 Merge branch 'master' into fix-load-too-fast 2020-12-14 17:52:35 +09:00
Dean Herbert
ae22f75406 Bind replay recording score to judgement changes 2020-12-14 17:33:33 +09:00
Dean Herbert
64a2526678 Add header class and basic flow for propagating data updates 2020-12-14 17:33:23 +09:00
Dean Herbert
1793385e96 Pass a score to the replay recorder to allow reading more general scoring data 2020-12-14 16:52:14 +09:00
Dean Herbert
51e8a05f18 Seal SetRecordTarget method to simplify modification 2020-12-14 16:44:29 +09:00
Dean Herbert
558955d65d
Merge pull request #11167 from Firmatorenio/mania-legacyskin-scoreposition
Adjust mania judgement position in legacy skins according to their ScorePosition setting
2020-12-14 16:36:11 +09:00
Dean Herbert
0d7f53b0b9 Fix gameplay loading too fast the first time entering a beatmap 2020-12-14 14:21:21 +09:00
smoogipoo
2e88e283d8 Remove unused using 2020-12-14 13:20:51 +09:00
smoogipoo
028909353c Revert one more change 2020-12-14 13:15:52 +09:00
smoogipoo
e01b41b7d1 Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 13:10:48 +09:00
smoogipoo
1794bfeddb Move offset into legacy mania judgement 2020-12-14 13:07:55 +09:00
smoogipoo
ca11eeefdf Merge branch 'master' into mania-legacyskin-scoreposition 2020-12-14 11:25:34 +09:00
Firmatorenio
6b78045ff1 fix codefactor empty line complaint 2020-12-14 06:57:43 +06:00
Firmatorenio
c83c3e92fc apply a private setter in a protected property 2020-12-14 01:53:20 +06:00
Firmatorenio
3741c2339a simplify implementation and adjust the default values 2020-12-13 22:43:36 +06:00
Firmatorenio
2108844319 apply ScorePosition to the judgement container 2020-12-13 22:01:08 +06:00
Firmatorenio
f14e49c72e fetch ScorePosition from the skin 2020-12-13 21:59:04 +06:00
Grrum
635608ee3d
Merge branch 'master' into selectionRotation 2020-12-13 08:01:44 -05:00
Graham Johnson
7d2b77cdbd improve selection box rotation UX 2020-12-13 07:58:58 -05:00
Lucas A
08b79bb921 Store and return unstarted task for consumers to await on. 2020-12-12 17:12:15 +01:00
Bartłomiej Dach
51840121b9
Merge branch 'master' into update-framework 2020-12-12 13:02:34 +01:00
Dean Herbert
f20c5a2bda Update framework (again) 2020-12-12 15:29:26 +09:00
Bartłomiej Dach
d457926523
Merge branch 'master' into fix-player-load-stuck-at-empty-screen 2020-12-11 20:49:27 +01:00
Bartłomiej Dach
01833e8c9b
Merge branch 'master' into fix-single-threaded-seeking 2020-12-11 20:14:28 +01:00
Dan Balasescu
31ae79a140
Merge pull request #11149 from peppy/add-cache-suffix-online-db
Add a simple cache-busting query string to online.db retrieval
2020-12-11 20:20:52 +09:00
Dean Herbert
aedb18b9f2 Make RulesetID non-nullable 2020-12-11 18:14:33 +09:00
Dean Herbert
b5f6baf341 Update framework 2020-12-11 18:03:48 +09:00
Dean Herbert
a35060ea7a Add a simple cache-busting query string to online.db retrieval
As we are finally pushing updates for this database, this adds a minimum
level of guarantee that a client will request a new version (without
having to worry about multiple levels of server-side caching).
2020-12-11 17:56:02 +09:00
Dean Herbert
2dd5911256 Rename method to better match purpose 2020-12-11 14:44:01 +09:00
Dean Herbert
d3b2e2b36e Change locking method to better allow cross-thread locking 2020-12-11 14:43:39 +09:00
Dean Herbert
719b08b22f Make room setting's BeatmapID non-nullable 2020-12-11 14:11:42 +09:00
Dean Herbert
c1c0b9a9db Add realtime to room categories 2020-12-11 14:10:45 +09:00
Dean Herbert
3fb41a20b5 Add room name to settings 2020-12-11 13:27:52 +09:00
Firmatorenio
b3d8347315 add support for ScorePosition into LegacyManiaSkin 2020-12-10 20:11:08 +06:00
Dean Herbert
01bd765384 Simplify pause handling by moving transform logic to bindable change event 2020-12-10 17:42:47 +09:00
Dean Herbert
679a550d83 Fix single threaded seeking not working due to unnecessary seek call 2020-12-10 17:42:28 +09:00
Dean Herbert
437c0506ce Refactor to allow for special disposal handling to still work 2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a Move cancelLoad call to OnResuming
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059 Schedule pushWhenLoaded once ever
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.

To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc Ensure player is consumed at the point of scheduled push running the first time 2020-12-10 16:32:14 +09:00
Lucas A
6da854e37c Move scheduled import logic to OsuGame. 2020-12-09 13:32:59 +01:00
Dean Herbert
c8e3c7e77b Add stateful client interface 2020-12-09 17:45:07 +09:00
Dean Herbert
bb97eae8b1 Update outdated exception references in xmldoc 2020-12-09 16:02:37 +09:00
Dean Herbert
1e08b298b8 Remove unnecessary exception type 2020-12-09 16:01:09 +09:00
Dean Herbert
578e5cb92e Also make InvalidStateException serializable 2020-12-09 15:59:13 +09:00
Dean Herbert
ab00a15555 Add JsonConstructor specs to allow for correct deserialization of readonly fields 2020-12-09 15:05:57 +09:00
Dean Herbert
bef52af1da Move client state class to server implementation
Never used by client.
2020-12-09 15:05:33 +09:00
Dean Herbert
e09715d71e Add ToString implementation to MultiplayerRoom for easier debug 2020-12-09 14:47:26 +09:00
Dean Herbert
c92c2cbfc0 Change exceptions which should be returned to the user to HubException type
See
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.signalr.hubexception?view=aspnetcore-5.0.
2020-12-09 14:46:44 +09:00
Dean Herbert
48129c52d6 Change get-only property for now 2020-12-09 12:38:24 +09:00
Dean Herbert
427d41bab5 Add missing licence headers 2020-12-09 12:17:37 +09:00
Dean Herbert
0eb5b16454 Remove Empty() implementation for RoomSettings until otherwise necessary 2020-12-09 12:12:03 +09:00
Dean Herbert
1013749a83 Change user id type to int 2020-12-09 12:10:47 +09:00
Dean Herbert
fd4fa963ac Standardise exception naming 2020-12-09 12:07:19 +09:00
Dean Herbert
2046cbe2d9 Add missing exceptions to server xmldoc 2020-12-09 12:05:50 +09:00
Dean Herbert
ff5150a14d Fix typo in IMultiplayerClient xmldoc 2020-12-09 12:03:52 +09:00
Lucas A
aa7d22460d Override Import() instead. 2020-12-08 19:46:55 +01:00
Lucas A
d8838ddbfb Remove duplicated overload. 2020-12-08 18:48:50 +01:00
Lucas A
0610adca0a Fix merge conflicts. 2020-12-08 18:03:58 +01:00
Dean Herbert
02f5fda330 Add missing final newline in file 2020-12-08 21:15:10 +09:00
Dean Herbert
aa68ae4ff2 Change locking mechanism for multiplayer rooms to use using-disposal pattern
Was required to lock over `await` calls server-side.
2020-12-08 20:43:18 +09:00
Dean Herbert
d76fabedf9 Add note about LoadRequested only being sent to a subset of room users 2020-12-08 20:43:18 +09:00
Dean Herbert
021a116093 Add extra xmldoc covering the fact that MatchStarted is received by all users 2020-12-08 20:43:18 +09:00
Dean Herbert
df908f90b2 Add exception to be thrown when an operation is requested requiring host when not host 2020-12-08 20:43:18 +09:00
Dean Herbert
2433838d58 Add methods covering match start / end 2020-12-08 20:43:18 +09:00
Dean Herbert
2aedd82e27 Document room states and remove unnecessary WaitingForResults state 2020-12-08 20:43:18 +09:00
Dean Herbert
147db0abe2 Fix client naming and xmldoc 2020-12-08 20:43:18 +09:00
Dean Herbert
60550b73f7 Add missing states and xmldoc for all states' purposes 2020-12-08 20:43:18 +09:00
Dean Herbert
8eccfa476c Add loading states 2020-12-08 20:43:18 +09:00
Dean Herbert
345352be67 Mark PerformUpdate as an instant handle method (doesn't really help with anything) 2020-12-08 20:43:18 +09:00
Dean Herbert
11a7057289 Add notification flow for user state changes in room 2020-12-08 20:43:18 +09:00
Dean Herbert
dbe048cdc6 Add client method for notifying about host changes 2020-12-08 20:43:18 +09:00
Dean Herbert
a4ca8d2998 Ensure multiplayer rooms are instantiated with a room ID 2020-12-08 20:43:18 +09:00
Dean Herbert
71de7ce0a3 Add missing methods to server interface 2020-12-08 20:43:18 +09:00
Dean Herbert
5f5c0d5533 Return room model when joining 2020-12-08 20:43:18 +09:00
Dean Herbert
5d2ca7fc39 Make remaining model classes nullable and serializable 2020-12-08 20:43:18 +09:00
Dean Herbert
2365d65610 Move business logic out of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
42b1e9d6a4 Add xmldoc coverage of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
4f449ba821 Rename idle state 2020-12-08 20:43:18 +09:00
Dean Herbert
5a231cef15 Add thread safety for external operations on MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
327799c263 Rename multiplayer server file to match class 2020-12-08 20:43:18 +09:00
Dean Herbert
b3bdaaa7b5 Move exceptions to common code 2020-12-08 20:43:18 +09:00
Dean Herbert
e193f8214d Remove unnecessary room id from leave room request 2020-12-08 20:43:18 +09:00
Dean Herbert
882ace6efe Make MultiplayerRoomUser equatable 2020-12-08 20:43:18 +09:00
Dean Herbert
baf16cfbc3 Add room settings related model and event flow 2020-12-08 20:43:18 +09:00
Dean Herbert
6e5846d91b Fix serialization failure due to missing set 2020-12-08 20:43:18 +09:00
Dean Herbert
ff52a5ddc6 Add callbacks for join/leave events to notify other room occupants 2020-12-08 20:43:18 +09:00
Dean Herbert
ca86524c92 Add locking on join/leave operations 2020-12-08 20:43:18 +09:00
Dean Herbert
fdf025942b Ensure room is locked when mutating users 2020-12-08 20:43:18 +09:00
Dean Herbert
8ebdb5723b Add models for users and rooms 2020-12-08 20:43:18 +09:00
Dean Herbert
f4ccbbd092 Add basic server implementation 2020-12-08 20:43:18 +09:00
Dean Herbert
daed27460c Add simple user state class 2020-12-08 20:43:18 +09:00
Dean Herbert
be4a668e0b Add basic structure for multiplayer state and model components 2020-12-08 20:43:18 +09:00
Dan Balasescu
f9afb7f335
Merge branch 'master' into archive-model-manager-stream-import-support 2020-12-08 16:11:11 +09:00
Dean Herbert
58d7e41978 Enable nullable on ImportTask 2020-12-08 12:52:34 +09:00
Dean Herbert
77279a7e56
Update stale xmldoc on import method
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-12-08 12:48:59 +09:00
smoogipoo
10c1823534 Remove now unused files 2020-12-07 22:07:11 +09:00
smoogipoo
34f3672750 Make ctor protected 2020-12-07 22:04:41 +09:00
smoogipoo
f599427080 Implement TimeshiftFilterControl 2020-12-07 22:04:35 +09:00
smoogipoo
1b3836aeef Re-implement multiplayer FilterControl 2020-12-07 21:59:26 +09:00
smoogipoo
5be0672fe9 Split out enums 2020-12-07 21:54:42 +09:00
smoogipoo
fa65874763 Limit room name to 100 characters 2020-12-07 21:09:38 +09:00
Dan Balasescu
87da6b3270
Merge pull request #11113 from ekrctb/fix-scrolling-wrong-layout-one-frame
Fix scrolling hit object displayed in wrong position for one frame
2020-12-07 18:48:24 +09:00
Dan Balasescu
cdc7ef8c15
Merge pull request #10925 from peppy/fix-multiple-playback-on-skin-change
Fix skinnable sounds playing more than once on skin change
2020-12-07 18:45:19 +09:00
Dean Herbert
eb38bc4b4c Add the ability to import into ArchiveModelManagers from a stream 2020-12-07 18:09:18 +09:00
ekrctb
a548269c34 Fix scrolling hit object displayed in wrong position for one frame 2020-12-07 17:26:12 +09:00
Dean Herbert
a5e2509d52
Merge pull request #11105 from Joehuu/mod-settings-fade-in/out
Add fade in/out animations to mod settings container
2020-12-07 17:12:29 +09:00
Dean Herbert
454e94574c Add corner rounding and positional transform 2020-12-07 16:43:07 +09:00
Dean Herbert
7253866e17 Move customisation panel to be in same area as main content 2020-12-07 16:42:55 +09:00
ekrctb
f4eb17d398
Update osu.Game/Overlays/Settings/Sections/Input/MouseSettings.cs
Set mouse confine mode at initialization

Co-authored-by: Dean Herbert <pe@ppy.sh>
2020-12-07 16:09:14 +09:00
ekrctb
2469608c10 Fix possible null reference due to bindable change before variable is initialized 2020-12-07 15:19:18 +09:00
Joehu
0f9b38da08 Add fade in/out animations to mod settings container 2020-12-06 11:35:14 -08:00
Bartłomiej Dach
f6d15b9757 Invert back-to-front logic 2020-12-06 18:59:38 +01:00
Lucas A
2ea8b105d5 Apply review suggestions 2020-12-06 18:46:30 +01:00
Bartłomiej Dach
fcd9483ffa
Merge branch 'master' into fix-multiple-playback-on-skin-change 2020-12-06 18:21:24 +01:00
Bartłomiej Dach
71edada623 Hide confine setting entirely in fullscreen 2020-12-05 22:15:41 +01:00
Bartłomiej Dach
08f23cc424 Revert leasing logic 2020-12-05 22:15:41 +01:00
Bartłomiej Dach
0a745144e3 Disable confine mode dropdown when full-screen
After hard-locking the mouse confine mode to `Always` in full-screen to
prevent confine issues from popping up, the confine mode dropdown in
settings had confusing UX due to seemingly having no effect when
full-screen.
2020-12-05 13:49:09 +01:00
Lucas A
dd21de0cd5 Fix code inspections. 2020-12-04 22:07:45 +01:00
Lucas A
825120fed3 Display import state in a notification. 2020-12-04 18:49:01 +01:00
PercyDan
60d8102a77
Merge branch 'master' into import-screen 2020-12-04 21:20:14 +08:00
Dean Herbert
9064ca9064
Merge pull request #11066 from ekrctb/fix-sample-expire
Fix DrawableHitObjects potentially expiring before their hit samples finish playback
2020-12-04 21:52:36 +09:00
MATRIX-feather
7104230ae3 Add "onCurrentDirectoryChanged" 2020-12-04 19:52:25 +08:00
Dean Herbert
7c0edb796e Always confine mouse to screen when running fullscreen 2020-12-04 20:49:18 +09:00
Joehu
b8c284b34f Fix one more key binding string not being sentence cased 2020-12-04 00:51:46 -08:00
Dean Herbert
a0f92628ac Merge branch 'master' into fix-sample-expire 2020-12-04 13:49:08 +09:00
Dean Herbert
48c42e4247
Merge pull request #11083 from LittleEndu/recommend-if-filtered
Select recommended beatmap if last selection is filtered
2020-12-04 13:22:34 +09:00
Dean Herbert
5ded4b9faa
Merge branch 'master' into dho-remove-onparentreceived 2020-12-04 11:04:56 +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
Endrik Tombak
c25e2c3dd5 Select recommended beatmap if last selection is filtered 2020-12-03 23:13:14 +02:00
MATRIX-feather
fb080284d2 Simplify UI implementation 2020-12-04 04:10:08 +08:00
MATRIX-feather
85de1a1d20 Animation changes 2020-12-04 03:19:20 +08:00
MATRIX-feather
abe5a67bc5 Simplify implementation 2020-12-04 03:14:31 +08:00
Endrik Tombak
49be4978bd Avoid calling ToList twice 2020-12-03 19:53:41 +02:00
Endrik Tombak
4cd2e207ac Document getBestRulesetOrder 2020-12-03 19:53:06 +02:00
Endrik Tombak
48dad61a46 Apply review suggestions 2020-12-03 19:44:12 +02:00
Endrik Tombak
cbbcf36eaa Merge branch 'master' of https://github.com/ppy/osu into present-recommended 2020-12-03 19:38:32 +02: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
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
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
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
smoogipoo
31f7f7072d Fix song select panels not loading if partially offscreen 2020-12-03 15:13:20 +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
ekrctb
6c46046c24 Fix DHO expires while hit sound is playing 2020-12-03 12:32:49 +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
2b828faecb
Merge branch 'master' into update-resources 2020-12-02 18:07:46 +01:00
Lucas A
827e957568 Allow importing osz files / osk files from Downloads directory. 2020-12-02 18:03:49 +01: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
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
0cd404b6d3
Merge pull request #11051 from smoogipoo/update-dependencies
Update dependencies
2020-12-02 12:56:29 +09:00
Dan Balasescu
878ded4dd6
Merge pull request #11032 from peppy/editor-fix-ticks-updating-after-timing-change
Fix timeline not updating ticks correctly after arbitrary timing control point changes
2020-12-02 10:58:44 +09:00
smoogipoo
2150cf1c52 Rename parameters 2020-12-02 10:55:48 +09:00
smoogipoo
e19ef9627a Fix potentially incorrect override 2020-12-02 10:54:26 +09:00
smoogipoo
9ac310c1c4 Merge remote-tracking branch 'upstream/dependabot/nuget/Dapper-2.0.78' into update-dependencies 2020-12-02 10:37:40 +09:00
smoogipoo
4a5b707104 Merge remote-tracking branch 'upstream/dependabot/nuget/Sentry-2.1.8' into update-dependencies 2020-12-02 10:37:21 +09:00
smoogipoo
728574f0c7 Merge remote-tracking branch 'upstream/dependabot/nuget/System.ComponentModel.Annotations-5.0.0' into update-dependencies 2020-12-02 10:37:19 +09:00
Dan Balasescu
9d71095a2b
Merge pull request #11004 from Yoyolick/master
Add ability to customise key binding for in-game overlay toggle
2020-12-02 10:34:24 +09:00
dependabot-preview[bot]
989ddd40b4
Bump System.ComponentModel.Annotations from 4.7.0 to 5.0.0
Bumps [System.ComponentModel.Annotations](https://github.com/dotnet/runtime) from 4.7.0 to 5.0.0.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 00:56:13 +00:00
dependabot-preview[bot]
249793d10a
Bump Sentry from 2.1.6 to 2.1.8
Bumps [Sentry](https://github.com/getsentry/sentry-dotnet) from 2.1.6 to 2.1.8.
- [Release notes](https://github.com/getsentry/sentry-dotnet/releases)
- [Changelog](https://github.com/getsentry/sentry-dotnet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-dotnet/compare/2.1.6...2.1.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 00:56:09 +00:00
dependabot-preview[bot]
64dfa9f928
Bump Dapper from 2.0.35 to 2.0.78
Bumps [Dapper](https://github.com/StackExchange/Dapper) from 2.0.35 to 2.0.78.
- [Release notes](https://github.com/StackExchange/Dapper/releases)
- [Commits](https://github.com/StackExchange/Dapper/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-02 00:56:06 +00:00
Pennek
477de1bab0 change min/max values 2020-12-02 01:11:24 +01:00
Lucas A
005fa3a7ee Add ability to import files from a stream. 2020-12-01 20:28:15 +01:00
Bartłomiej Dach
94a8784e04 Allow editor change handler to be null 2020-12-01 20:08:31 +01:00
smoogipoo
598572195c Add playlist length to match settings overlay 2020-12-01 19:57:25 +09:00
Dean Herbert
76035718bb
Merge pull request #11034 from peppy/update-framework
Update framework (with SDL2 default)
2020-12-01 18:32:10 +09:00
smoogipoo
2840405112 Volume should be 0 by default 2020-12-01 18:14:14 +09:00
smoogipoo
6b4a6c12c8 Fix bad equality comparer implementations 2020-12-01 18:13:53 +09:00
smoogipoo
c61f00525d Ignore lookup types for JSON serialisation 2020-12-01 18:13:53 +09:00
smoogipoo
17560aeeea Volume should be 0 by default 2020-12-01 18:09:28 +09:00
smoogipoo
dda4d76d72 Fix bad equality comparer implementations 2020-12-01 18:09:21 +09:00
smoogipoo
b780fdbe4c Ignore lookup types for JSON serialisation 2020-12-01 18:08:59 +09:00
Dan Balasescu
1cea39ed55
Merge pull request #11017 from peppy/fix-song-select-temporary-selection-loss
Fix current beatmap temporarily becoming empty during ruleset change
2020-12-01 17:55:08 +09:00
Dean Herbert
285e62be9a Bring code in line with SDL2 defaults 2020-12-01 17:47:07 +09:00
Dean Herbert
d5a60ed335 Update framework 2020-12-01 17:30:42 +09:00
smoogipoo
4900589af4 Remove unused method 2020-12-01 17:02:45 +09:00
Dean Herbert
190c6ef45e Fix timeline not updating ticks correctly after arbitrary timing control point changes 2020-12-01 16:44:08 +09:00
Dean Herbert
2b268ee012 Fix editor beat snapping not working correctly when starting with a new beatmap 2020-12-01 16:16:26 +09:00
smoogipoo
2bb7484608 Merge branch 'immutable-hit-samples' into hit-sample-pooling 2020-12-01 16:05:28 +09:00
smoogipoo
199710b941 Implement equality comparers for HitSampleInfo 2020-12-01 16:04:08 +09:00
smoogipoo
5760e1c1fc Make HitSampleInfo immutable 2020-12-01 15:37:51 +09:00
Dean Herbert
a147b7186d Remove unnecessary call to updateVisibility 2020-12-01 14:01:34 +09:00
Dean Herbert
63ff722963 Fix code formatting 2020-12-01 14:00:54 +09:00
Ryan Zmuda
8f6607ffec
Merge branch 'master' into master 2020-11-30 21:42:15 -05:00
Ryan Zmuda
e102f2e8fa Moved enum to bottom, change defualt bind to Shift-Tab, Fixed Notification 2020-11-30 21:38:16 -05:00
ekrctb
604619ba47 Generalize legacy skin player test. 2020-12-01 09:49:04 +09:00
ekrctb
588a5c2aff Remove empty comment 2020-12-01 09:35:28 +09:00
Bartłomiej Dach
2c57deea2b Trim double full-stop in xmldoc 2020-11-30 19:43:20 +01:00
Bartłomiej Dach
5fbe1823a0
Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:39:22 +01:00
Dean Herbert
51741c4791
Merge branch 'master' into hit-sample-pooling 2020-11-30 22:25:28 +09:00
Dean Herbert
a852a27dfb Fix current beatmap temporarily becoming empty during ruleset change
When changing the ruleset at song select, there was a scenario where it
would be set to default (empty) for one debounce length where this was
not actually required. This occurs when the currently selected beatmap
set has other difficulties which match the target ruleset, specifically.
2020-11-30 19:36:30 +09:00
Dan Balasescu
c0a9d88a14
Merge branch 'master' into settings-reduce-visual-clutter 2020-11-30 19:30:39 +09:00
Dan Balasescu
6c6540addf
Merge pull request #11008 from peppy/settings-remove-transparency
Remove semi-transparent backgrounds from settings and notifications overlays
2020-11-30 19:29:53 +09:00
smoogipoo
c29ad8edf8 Better API for dealing with the contained drawable samples 2020-11-30 19:26:25 +09:00
smoogipoo
f5e8d1d14d Lose old reference immediately on updateSample() 2020-11-30 19:19:24 +09:00
Dean Herbert
7f34e11467
Merge pull request #10962 from smoogipoo/improve-dho-time-offsets
Fix judgement offsets in non-framestable contexts
2020-11-30 19:13:25 +09:00
ekrctb
51bddd4a0f Rename functions, and add NextInt. 2020-11-30 18:46:28 +09:00
smoogipoo
afb8eb636d Apply simple PR reviews 2020-11-30 18:40:22 +09:00
Dean Herbert
3ad2eeaff5 Fix outdated xmldoc 2020-11-30 18:35:30 +09:00
Dean Herbert
c17d67bc7d Merge branch 'master' into editor-beat-snap-always 2020-11-30 18:34:38 +09:00
smoogipoo
4bbeb9ebd4 Merge branch 'master' into hit-sample-pooling 2020-11-30 18:31:58 +09:00
Dan Balasescu
b56e832e83
Merge pull request #10950 from ekrctb/pool-scrolling
Support hit object pooling in ScrollingPlayfield
2020-11-30 18:29:34 +09:00
ekrctb
731e689f2d Add summary tags to the doc comments 2020-11-30 18:07:37 +09:00
smoogipoo
8f48389f89 Merge branch 'master' into improve-dho-time-offsets 2020-11-30 18:01:48 +09:00
Dean Herbert
965cc1f511 Remove unnecessary usings #2 2020-11-30 17:57:25 +09:00
Dean Herbert
46cab04929 Merge branch 'settings-remove-transparency' into settings-reduce-visual-clutter 2020-11-30 17:57:10 +09:00
Dan Balasescu
a3ef858f3a
Remove unnecessary multiplication 2020-11-30 17:56:04 +09:00
Dean Herbert
fe48b2279c Adjust various paddings and spacings in settings to make them easier to visually parse 2020-11-30 17:50:35 +09:00
Dean Herbert
a3dd22f5c2 Merge branch 'master' into settings-remove-transparency 2020-11-30 17:50:26 +09:00
Dean Herbert
bf2c6dc241 Remove unused usings rider couldn't see 2020-11-30 17:49:55 +09:00
smoogipoo
7ac2fba127 More reordering of public vs private methods 2020-11-30 17:44:58 +09:00
Dan Balasescu
b0637cebd1
Merge branch 'master' into song-select-track-selected-better-2 2020-11-30 17:26:15 +09:00
Dan Balasescu
52cb30dff2
Merge pull request #10999 from bdach/user-interface-settings-section
Create "User Interface" settings section
2020-11-30 17:25:04 +09:00
Dean Herbert
a4e061cb11 Remove semi-transparent backgrounds from settings and notifications overlays
I tried also updating the colours to the "new" versions from designs but
they don't match due to colour profile differences (so I'm not yet sure
if they are correct or not) and also don't look great without all the UI
elements also being updated.
2020-11-30 17:19:55 +09:00
Dan Balasescu
11d1450c76
Merge branch 'master' into fruit-bindables 2020-11-30 16:48:22 +09:00
Dean Herbert
4e1e45f3e7 Move hold-to-confirm back to UI section 2020-11-30 16:15:35 +09:00
Dean Herbert
55c8aa5d5f Move menu cursor size to UI section 2020-11-30 16:14:15 +09:00
Dean Herbert
e14db45374 Reorder settings to (probably) feel more correct 2020-11-30 16:09:38 +09:00
Dean Herbert
2745659986 Reword and xmldoc some comments 2020-11-30 15:54:20 +09:00
Dan Balasescu
69c2a18220
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-30 14:05:03 +09:00
Dan Balasescu
0c36a3c263
Merge branch 'master' into pool-scrolling 2020-11-30 14:04:54 +09:00
Dan Balasescu
5a276f8577
Merge branch 'master' into fix-editor-reapply-same-state-change 2020-11-30 13:34:03 +09:00
Ryan Zmuda
9145557522 Revert "Revert "forgot to remove something... sorry""
This reverts commit 6478bed431.
2020-11-29 23:15:12 -05:00
Ryan Zmuda
6478bed431 Revert "forgot to remove something... sorry"
This reverts commit a780a8bbd8.
2020-11-29 23:14:43 -05:00
Dan Balasescu
30dc0bc019
Merge pull request #10993 from LittleEndu/star-scale
Scale stars from 0.4 to 1
2020-11-30 13:05:44 +09:00
Ryan Zmuda
a780a8bbd8
forgot to remove something... sorry 2020-11-29 21:52:58 -05:00
Ryan Zmuda
3994cf082d add keybind for in game overlay 2020-11-29 20:59:02 -05:00
Bartłomiej Dach
e0a84ff1dc Move hold-to-confirm setting back to gameplay section 2020-11-29 22:07:34 +01:00
Bartłomiej Dach
a5c4a8d2e9 Create "User Interface" settings section 2020-11-29 22:07:33 +01:00
Bartłomiej Dach
4057ca0a57
Merge branch 'master' into fix-editor-unnecessary-object-updates 2020-11-29 21:34:17 +01:00
Bartłomiej Dach
a3afd88387 Use Interpolation.Lerp 2020-11-28 20:35:03 +01:00
Endrik Tombak
8ad4cf73f5 Scale stars from 0.4 to 1 2020-11-28 17:09:43 +02:00
PercyDan
579e61eab9
Allow null 2020-11-28 16:31:24 +08:00
Dean Herbert
7e34c5e239 Fix state application always checking newest state for early abort, rather than current 2020-11-27 16:57:11 +09:00
Dean Herbert
18bb0cb45b Remove unnecessary schedule logic from Apply's local updateState call
There were cases in the editor where rewinding of transforms would
leave the `DrawableHitObject` in a non-`IsPresent` state, resulting in
this scheduled logic never running.

This would in turn cause ghost hitobjects, which disappear under certain
circumstances.

Reproduction:

- Open editor to empty beatmap
- Place single hitcircle at current point in time
- Drag editor timeline backwards to seek before zero, and wait for
  return to zero
- Select hitcircle in playfield
- Drag hitcircle to right in timeline, triggering a start time change
2020-11-27 16:32:05 +09:00
Dean Herbert
7edbba58f7 Avoid updating hitobjects unnecessarily for start time changes
This was firing regardless of whether the start time was changed, such
as where beat snap provided the same time the object already has.

The case where a change actually occurs is already handled by
EditorBeatmap (see `startTimeBindables`), so it turns out this local
handling is not required at all.
2020-11-27 16:31:06 +09:00
ekrctb
a7194e1bc3 add stateless RNG 2020-11-27 15:43:44 +09:00
Dean Herbert
b9b8857988 Update framework 2020-11-27 15:11:07 +09:00
Dean Herbert
bcc197f9fe
Merge branch 'master' into improve-dho-time-offsets 2020-11-27 15:03:56 +09:00
Dean Herbert
792934f2c4 Allow scroll type to be specified
This brings back the ability for the carousel to scroll in a classic
way. It turns out this is generally what we want for "seek" operations
like "random", else it's quite hard to get the expected animation.

I did experiment with applying the animation after the pooled panels are
retrieved, but in a best-case scenario there is still a gap where no
panels are displayed during the random seek operation.
2020-11-27 13:54:38 +09:00
ekrctb
6e40de58e9 Use new OnAdd and OnRemove to invalidate DHO 2020-11-27 13:36:40 +09:00
ekrctb
8f5129323d Merge branch 'master' into pool-scrolling 2020-11-27 13:12:05 +09:00
Dean Herbert
018957c244 Merge branch 'master' into song-select-track-selected-better-2 2020-11-27 12:54:40 +09:00
ekrctb
e36bb7631d Fix colour not updated when index changes 2020-11-27 11:41:39 +09:00
ekrctb
57454bbb1c Remove hitObject argument from OnApply and OnFree 2020-11-27 10:13:05 +09:00
Dean Herbert
5a393b153b
Merge pull request #10952 from peppy/replay-pausing-support
Add ability to pause/resume replay playback
2020-11-27 02:26:23 +09:00
Dean Herbert
94dc61150b
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-27 00:43:47 +09:00
Dean Herbert
b1864670a2
Merge pull request #10961 from smoogipoo/better-dho-rewind
Rewind pooled DHOs into better states
2020-11-27 00:42:58 +09:00
Dan Balasescu
220657c2cc
Merge branch 'master' into replay-pausing-support 2020-11-27 00:09:40 +09:00
Dan Balasescu
882fcdb13a
Merge pull request #10975 from peppy/standardise-binding-description-case
Standardise binding description case to sentence casing
2020-11-26 23:54:13 +09:00
smoogipoo
aa4da2a5f8 Add xmldoc on State 2020-11-26 23:42:05 +09:00
Dean Herbert
1e79cb498b Standardise binding description case to sentence casing 2020-11-26 20:07:16 +09:00
Dean Herbert
3346c06aca Rename variable/text to be more verbose as to toggle purpose 2020-11-26 20:04:44 +09:00
Dean Herbert
741902f1b3
Merge pull request #10971 from smoogipoo/fix-timeline-combo-colour
Fix timeline blueprints sometimes not receiving combo colours
2020-11-26 19:47:21 +09:00
Dean Herbert
da6bccc812 Apply beat snap if positional snap doesn't give a time result 2020-11-26 19:20:51 +09:00
Dean Herbert
91592cf32d Expose EditorClock for consumption 2020-11-26 19:20:39 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09:00
ekrctb
05e245d445 Allow non-pooled DHO to be reused 2020-11-26 19:07:09 +09:00
Dean Herbert
0a48dd8f76 Delegate scroll animation to panels themselves 2020-11-26 18:42:51 +09:00
Dean Herbert
ad258e2e52 Update scroll position before applying any panel animations
In the case of automatic scroll requirements (ie. scroll to selected) we
are delegating the animation logic to the panels themselves. In order to
make this work correctly, the scroll operation needs to take effect
before any animation updates are run.
2020-11-26 18:33:41 +09:00
Dean Herbert
6058c66edb Move drawable carousel set movement logic into panels themselves 2020-11-26 18:32:43 +09:00
Dean Herbert
f8db7a9902 Remove ScrollableContent container from carousel
This was causing multiple issues with masking and sizing and really
didn't need to exist in the first place. Also not sure why the pool was
nested inside the scroll container, but it isn't any more. Probably for
the best.
2020-11-26 18:28:54 +09:00
Dean Herbert
02d5b1352b Expose generic version of OsuScrollContainer 2020-11-26 18:25:56 +09:00
smoogipoo
e53f849aa0 Completely separate combo colours from DHOs 2020-11-26 18:14:25 +09:00
smoogipoo
f562854feb Fix timeline objects sometimes not receiving combo colours 2020-11-26 17:22:22 +09:00
Dan Balasescu
aad6cf4ad3
Merge branch 'master' into editor-multiple-object-positional-snap 2020-11-26 17:06:47 +09:00
Dan Balasescu
a0e47ae13f
Merge pull request #10960 from peppy/fix-editor-volume-adjust
Fix volume not being adjustable in the editor using alt-scroll
2020-11-26 15:37:57 +09:00
ekrctb
eae33fe74a Fix format 2020-11-26 14:16:33 +09:00
ekrctb
e43f928588 Use DHO.HitObjectApplied to invalidate computation 2020-11-26 14:07:40 +09:00
ekrctb
f6faf95e33 Revert changes to HitObjectUsageBegan, not use it. 2020-11-26 14:01:46 +09:00
ekrctb
1a6e5bdaba Merge branch 'master' into pool-scrolling 2020-11-26 13:52:52 +09:00
Bartłomiej Dach
8ff1688c4b
Merge branch 'master' into fix-drawable-judgement-animation-loss 2020-11-25 20:11:09 +01:00
smoogipoo
0414e5c550 Add MaximumJudgementOffset to DrawableHitObject, use in more places 2020-11-26 01:12:42 +09:00
smoogipoo
c744db1b57 Rewind pooled DHOs into better states 2020-11-26 00:42:25 +09:00
Dean Herbert
0ddeff648d Fix incorrect index lookup on non-ordered selections 2020-11-25 17:25:54 +09:00
Dean Herbert
d4c6d6275e Fix volume not being adjustable in the editor using alt-scroll
We do this in other places so I think it's fine to handle like this for
now (until we come up with a better global solution).

Closes #10958.
2020-11-25 16:46:22 +09:00
Dean Herbert
c46d655832 Uncomment incorrectly commented lines 2020-11-25 12:11:44 +09:00
PercyDan54
0009724c1a
Fix CI 2020-11-24 18:48:32 +08:00
ekrctb
b8a5cd94f7 Invoke HitObjectUsageFinished before removal 2020-11-24 19:46:57 +09:00
PercyDan54
739c18a34d
dotnet format 2020-11-24 18:25:38 +08:00
Dan Balasescu
4311526c0a
Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 19:23:54 +09:00
PercyDan54
7ab27399bf
Fix CI errors 2020-11-24 18:04:34 +08:00
ekrctb
e34a205104 Rewrite hit object management, take three 2020-11-24 18:56:05 +09:00
ekrctb
7f6e4d5b21 Delay lifetime computation until loaded 2020-11-24 18:56:05 +09:00
ekrctb
d5f082e5fb Comment about lifetime assumption 2020-11-24 18:56:05 +09:00
ekrctb
ce57e8ddfb Separate Lifetime computation and layout update 2020-11-24 18:56:05 +09:00
ekrctb
cabc8aa63b Revert "Simplify ScrollingHitObjectContainer logic"
This reverts commit b4cc39149c117e6a0e95ee917a67cec8ba723d06.
2020-11-24 18:56:05 +09:00
ekrctb
8f39b54e58 Simplify ScrollingHitObjectContainer logic 2020-11-24 18:56:05 +09:00
ekrctb
5c743adbae Support hit object pooling scrolling playfield 2020-11-24 18:56:05 +09:00
PercyDan54
0b735b84cf
Remove unused enum 2020-11-24 17:23:53 +08:00
PercyDan54
07ee36a4ef
Simplify code 2020-11-24 17:18:19 +08:00
Dean Herbert
d5a4d46c6d
Merge pull request #10842 from EVAST9919/profile-overlay-graph-new
Implement history charts for Profile Overlay
2020-11-24 18:05:17 +09:00
Dean Herbert
c9a41f9dae Make all objects in selection candidates for spatial snapping
Closes #10898.
2020-11-24 17:35:54 +09:00
Dan Balasescu
5d65665b42
Merge pull request #10943 from peppy/editor-setup-scroll-to-file-selector
Scroll editor setup screen to file selector on display
2020-11-24 16:26:25 +09:00
Dan Balasescu
87ce8a53ff
Merge branch 'master' into on-drawable-hitobject-added 2020-11-24 16:09:57 +09:00
Dean Herbert
bd1dad5477 Remove null allowance for now 2020-11-24 15:54:27 +09:00
Dean Herbert
1d82557d9f Avoid blocking global actions when skip overlay is not actually active 2020-11-24 15:42:14 +09:00
Dean Herbert
72b8eef36e Add ability to pause/resume replay playback 2020-11-24 15:41:56 +09:00
Dean Herbert
1682260677 Remove left over logging line 2020-11-24 15:28:03 +09:00
Dean Herbert
ee33f62809 Fix DrawableJudgement not always animating correctly on skin change
If the skin is changed before gameplay has started (at the loading
screen) it is possible for a sequence of events to occur which results
in the animation not being played:

- `SkinReloadableDrawable` runs its BDL load (and calls `OnSkinChanged`
  once)
- User changes skin, triggering `DrawableJudgement`'s skin change
  handling (binding directly on the `SkinSource` locally)
- This will call `PrepareDrawables` and reinitialise the
  `SkinnableDrawable` child hierarchy, then immediately apply the
animations to it.
- The new `SkinnableDrawable` will then get the `SkinChanged` event and
  schedule a handler for it, which will run on its first Update call.
- Any added animations will be lost as a result.

Fixed by binding directly to the `SkinnableDrawable`'s `OnSkinChanged`.
This has the added bonus of not needing to reinitialise the child
hierarchy on skin change (which felt a bit weird in the first place).
2020-11-24 15:23:53 +09:00
Dan Balasescu
57ff150051
Merge pull request #10829 from Joehuu/music-osd-bindings
Add music bindings to on screen display
2020-11-24 14:36:34 +09:00
Joehu
1fd4b04767 Just set music shortcut text locally 2020-11-23 20:43:46 -08:00
Dean Herbert
e36b1051c1 Add spacing between inline comments 2020-11-24 13:15:59 +09:00
Dean Herbert
82640418ba Invert hide logic for readability 2020-11-24 13:12:04 +09:00
Dean Herbert
44ca67c534 Simplify fill logic and add xmldoc 2020-11-24 13:10:11 +09:00
Dean Herbert
37ea65de2a
Merge branch 'master' into profile-overlay-graph-new 2020-11-24 12:52:59 +09:00
Joehu
52f5473cc0 Set global action as a parameter in toast 2020-11-23 15:13:58 -08:00
Bartłomiej Dach
5701b32bae Handle constant graphs better 2020-11-23 22:12:32 +01:00
Bartłomiej Dach
8347ecf494 Simplify row tick creation code 2020-11-23 21:52:47 +01:00
Bartłomiej Dach
7b0d3dfe0c Refactor tick calculation code for readability 2020-11-23 21:38:04 +01:00
Bartłomiej Dach
bb5aa9a9c9 Guard against empty values early 2020-11-23 21:24:37 +01:00
Bartłomiej Dach
e9ffeb8b5d Make missing date check more robust 2020-11-23 21:09:42 +01:00
Dean Herbert
060acb9010
Merge pull request #10935 from bdach/fix-mania-judgement-fade-in
Rewind judgement transforms before clearing
2020-11-23 17:05:04 +09:00
Dean Herbert
5e014fc4fe
Merge pull request #10941 from LumpBloom7/improve-MenuVisualizer
Improve LogoVisualisation looks when MenuGlow colors are used
2020-11-23 15:25:18 +09:00
Dean Herbert
19faa2b9bb Add comment covering intentional call to ClearTransformsAfter 2020-11-23 15:20:59 +09:00
Andrei Zavatski
1b33d30039 Simplify horizontal ticks creation 2020-11-23 08:52:29 +03:00
Andrei Zavatski
42741895e6 Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-overlay-graph-new 2020-11-23 08:41:57 +03:00
Dean Herbert
898e2dae27 Restore kiai time flashing behaviour 2020-11-23 14:27:02 +09:00
Dean Herbert
5662e722ed
Merge pull request #10936 from bdach/fix-follow-points-getting-stuck
Fix legacy follow point animations not playing after a while
2020-11-23 14:14:00 +09:00
Dean Herbert
3ed7868801 Scroll editor setup screen to file selector on display
Previously the file selector would potentially display off-screen,
making for confusing UX.

Closes #10942.
2020-11-23 13:49:14 +09:00
Dean Herbert
ae609b9d48 Remove unnecessary local variable 2020-11-23 13:35:13 +09:00
Dean Herbert
2ae5a95d77 Change opacity value to match master implementation 2020-11-23 13:35:02 +09:00
Derrick Timmermans
61078e9ae1
Use 0.2f instead of .2f 2020-11-22 18:59:16 +01:00
Derrick Timmermans
ba7ce4c933
Make colour readonly 2020-11-22 18:37:49 +01:00
Derrick Timmermans
458016d17d
Remove AccentColour member variable from LogoVisualisation 2020-11-22 17:36:59 +01:00
Derrick Timmermans
1551402a8d
Change IntroWelcome visualiser to use Colour instead of AccentColour 2020-11-22 17:33:40 +01:00
Derrick Timmermans
b468f061f1
Remove unused using 2020-11-22 17:20:00 +01:00
Derrick Timmermans
cc33b0f2c6
Apply MenuGlow to Visualisation Colour instead of AccentColour 2020-11-22 16:53:53 +01:00
Bartłomiej Dach
827a089810
Merge branch 'master' into change-taiko-ez 2020-11-22 13:29:02 +01:00
Bartłomiej Dach
1c31a4a6b6 Expose animation start time as mutable in interface 2020-11-22 13:11:22 +01:00
Bartłomiej Dach
b62a873502
Merge branch 'master' into remove-default-retry-balue 2020-11-22 10:54:40 +01:00
ekrctb
666112cb5a Address @bdach's minor suggestions 2020-11-22 18:51:16 +09:00
ekrctb
c506b438bf Remove more code and make some methods private 2020-11-22 18:51:16 +09:00
Dean Herbert
a3b1d14f17 Apply similar fix to PoolableSkinnableSound 2020-11-22 14:44:39 +09:00
Andrei Zavatski
b745fb681a Fix incorrect static using placement 2020-11-22 04:40:55 +03:00
Andrei Zavatski
4887132947 Adjustments for edge cases support 2020-11-22 04:28:17 +03:00
Andrei Zavatski
f07f8089d6 Adjust monthsPerTick value 2020-11-22 03:58:56 +03:00
Andrei Zavatski
e6c116f0ab Rework horizontal ticks creation 2020-11-22 03:49:00 +03:00
Andrei Zavatski
6e581902cd Simplify column ticks creation 2020-11-22 03:11:38 +03:00
Andrei Zavatski
453f0ba675 Make tick lines thicker 2020-11-22 02:34:29 +03:00
Andrei Zavatski
3cb1d04667 Move dates fill into it's own method 2020-11-22 02:25:12 +03:00
Andrei Zavatski
d4b56aac84 Add missing whitespace 2020-11-22 02:17:54 +03:00
Andrei Zavatski
9d7ddf8343 Merge master with conflicts resolved 2020-11-22 02:13:35 +03:00
Andrei Zavatski
fe4c622041 Make OnUserChanged private 2020-11-21 23:13:46 +03:00
Andrei Zavatski
dbfc839df3 Move missing text to PaginatedProfileSubsection 2020-11-21 23:03:54 +03:00
Andrei Zavatski
11c3ccfcaa Move rulesets property to PaginatedProfileSubsection 2020-11-21 22:49:56 +03:00
Bartłomiej Dach
240c1b0aef Add support for changing animation start time after load 2020-11-21 20:06:30 +01:00
Bartłomiej Dach
9f997db958 Rewind judgement transforms before clearing 2020-11-21 17:56:49 +01:00
Bartłomiej Dach
875f986979 Remove default from base ResultsScreen too 2020-11-21 14:38:38 +01:00
Endrik Tombak
72d9da5fac Apply review suggestions 2020-11-21 14:26:09 +02:00
Endrik Tombak
6c5a6b42e5 Only calculate recommended SR once 2020-11-21 14:09:32 +02:00
Endrik Tombak
944f3480c2 Merge branch 'master' of https://github.com/ppy/osu into present-recommended
 Conflicts:
	osu.Game/OsuGameBase.cs
	osu.Game/Screens/Select/DifficultyRecommender.cs
	osu.Game/Screens/Select/SongSelect.cs
2020-11-21 14:01:01 +02:00
ekrctb
295ca38cda Merge remote-tracking branch 'origin/master' into on-drawable-hitobject-added 2020-11-21 15:25:16 +09:00
ekrctb
4345d8dcb6 Event -> virtual method 2020-11-21 15:20:33 +09:00
ekrctb
281ed49332 Add HasInitialized to DHO
As it turned out, `IsLoaded` is not a reliable way.
2020-11-21 11:19:52 +09:00
Andrei Zavatski
718ba9253b Implement ProfileSubsection component 2020-11-21 03:18:24 +03:00
Andrei Zavatski
c4cb1440ab Rename PaginatedContainerHeader to ProfileSubsectionHeader 2020-11-21 02:59:01 +03:00
ekrctb
82aefa3868 Rework and rename to OnNewDrawableHitObject.
The semantics is changed and hopefully more clear.
2020-11-21 00:27:19 +09:00
smoogipoo
9520cf6481 Merge branch 'master' into fix-judgement-ordering 2020-11-20 22:49:33 +09:00
Dan Balasescu
58fc61aa95
Merge branch 'master' into legacy-judgement-particles 2020-11-20 22:19:11 +09:00
Dan Balasescu
8785da1b41
Merge pull request #10917 from peppy/no-applause-on-autoplay
Don't play flair animations / sounds when watching autoplay or viewing a result directly
2020-11-20 21:48:10 +09:00
Dan Balasescu
79752bcb19
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-20 20:51:27 +09:00
Dean Herbert
8080fe942c Fix samples being played more than once on skin change 2020-11-20 20:38:26 +09:00
ekrctb
772f6df668 Add a remark for DrawableHitObjectAdded 2020-11-20 18:00:00 +09:00
ekrctb
c013cd11c9 Add DrawableHitObjectAdded event 2020-11-20 17:56:47 +09:00
Dean Herbert
53b6d90ab4 Don't show default judgements in front of objects for now 2020-11-20 16:30:58 +09:00
Dean Herbert
a00e0d7279 Move CanBeNull specification to the interface 2020-11-20 16:30:48 +09:00
Dean Herbert
7fe0923fcf Show main judgement content above hitobjects 2020-11-20 16:25:48 +09:00
Dean Herbert
0e9999ecb1 Merge branch 'remove-dead-playfield-code' into fix-judgement-ordering 2020-11-20 16:12:48 +09:00
Dean Herbert
2db42f8e67 Remove default allowRetry parameter value from ResultsScreen 2020-11-20 14:35:44 +09:00
Dean Herbert
8c32d3f781 Don't play flair animations / sounds when watching autoplay or viewing a result directly
I think this is a pretty good place to be for now. The flair will play
if you just watched a play (local, replay or spectator) but will not
play if you are coming from song select (viewing a replay's result
screen from the leaderboard) or in the case of autoplay.

Closes #10762.
2020-11-20 14:32:31 +09:00
Dean Herbert
1df3f88fc4 Update framework 2020-11-20 12:32:17 +09:00
Bartłomiej Dach
6356b2dde9 Prevent editor from crashing for rulesets with no compose screen implementation 2020-11-19 22:11:52 +01:00
smoogipoo
7c83a27002 Add more xmldocs 2020-11-19 22:48:21 +09:00
smoogipoo
8a656f7cee Fix missing SkinChanged event + safety 2020-11-19 22:42:44 +09:00
smoogipoo
a53848ef9b Fix storyboard imlpementation 2020-11-19 22:30:41 +09:00
smoogipoo
d388c44428 Cleanup, refactoring, and restart sample on skin change 2020-11-19 22:30:21 +09:00
smoogipoo
7180bfe4ba Unlimit number of samples per pool 2020-11-19 21:21:57 +09:00
smoogipoo
0287269b2f Fix volume discrepancies 2020-11-19 21:21:30 +09:00
smoogipoo
f013928fa3 Set maximum pool size 2020-11-19 20:40:01 +09:00
smoogipoo
70cb197957 Cleanups 2020-11-19 20:38:36 +09:00
smoogipoo
812d5d59b1 Fix looping not being propagated 2020-11-19 20:29:09 +09:00
smoogipoo
8920534a25 Fix pools not being added to hierarchy 2020-11-19 20:24:03 +09:00
smoogipoo
003fed857c Separate files 2020-11-19 19:52:34 +09:00
smoogipoo
730b14b5bb Add initial hit sample pooling 2020-11-19 19:51:09 +09:00
Dean Herbert
1c7ee2ca5f Simplify math by making direction a float 2020-11-19 18:46:19 +09:00
Dean Herbert
84e73e88d5 Use structs for parts for added safety 2020-11-19 18:08:54 +09:00
Dean Herbert
3a7291c5cf Fix some behavioural regressions 2020-11-19 17:56:11 +09:00
Dean Herbert
476d0256cc Replace particle explosion implementation with DrawNode version 2020-11-19 17:22:37 +09:00
Dean Herbert
83024f1ec5 Add back positional randomness from stable 2020-11-19 16:00:20 +09:00
Dean Herbert
efd5acb8ab Randomise direction every animation playback 2020-11-19 15:55:11 +09:00
Dean Herbert
9d04ce75cc Make particles additive and consume in judgement explosions 2020-11-19 15:47:02 +09:00
Dean Herbert
9df93e1f18 Add basic implementation of particle explosion
Using drawables still, just to get things in place and setup the
structure
2020-11-19 14:54:33 +09:00
Dean Herbert
7f3c8ad744
Merge pull request #10872 from smoogipoo/fix-missing-triangles 2020-11-19 14:11:08 +09:00
Dean Herbert
ba735584fa Add null check for disposal safety 2020-11-19 14:04:43 +09:00
Dean Herbert
85c5c68dfa Provide particle drawable as a function (for future use) 2020-11-19 13:20:21 +09:00
Bartłomiej Dach
24d7fa03d8
Merge branch 'master' into legacy-jugement-match-stable-transforms 2020-11-18 20:33:58 +01:00
Bartłomiej Dach
5156de3a10
Merge branch 'master' into fix-judgement-transform-logic 2020-11-18 19:20:11 +01:00
Dean Herbert
ecd6d09600
Merge pull request #10891 from smoogipoo/remove-obsoletes
Remove obsolete method
2020-11-18 23:07:31 +09:00
Dan Balasescu
9f6ca06039
Merge pull request #10889 from peppy/return-null-if-skinnable-sprite-no-exist
Fix SkinnableSprite initialising a drawable even when the texture is not available
2020-11-18 21:35:13 +09:00
smoogipoo
cb5d1d0d77 Remove obsolete method 2020-11-18 21:26:35 +09:00
Dean Herbert
b3bec81b79 Update xmldoc to match new behaviour 2020-11-18 19:38:38 +09:00
Dean Herbert
8522ddc61e Reduce nesting of skinned component to reduce exposed surface 2020-11-18 19:34:27 +09:00
PercyDan54
9a3dd12f30
Move to debug settings 2020-11-18 18:15:56 +08:00
Dean Herbert
ee8804b50b Fix animation playback not running on skin change 2020-11-18 19:03:34 +09:00
Dean Herbert
c47e70da9b Update animations for new/old miss style and add fades 2020-11-18 19:03:34 +09:00
Dean Herbert
9d3de5bca0 Fix hit lighting dictating lifetime even when not present in skin 2020-11-18 19:03:34 +09:00
Dean Herbert
9d0a6de26e Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 19:03:34 +09:00
Dean Herbert
72a15ef2dc Handle DrawableJudgement lifetime more flexibly 2020-11-18 19:03:34 +09:00
Dean Herbert
94886a09b2 Remove fades from DrawableJudgement itself 2020-11-18 19:03:34 +09:00
Dean Herbert
5bd4ace37f Split out new and old style legacy judgement pieces 2020-11-18 19:03:34 +09:00
Dean Herbert
8be31f4805 Adjust legacy skin judgement transforms to match stable 2020-11-18 19:03:05 +09:00
Dean Herbert
8ccb399eff
Merge pull request #10883 from smoogipoo/defined-blueprint-order 2020-11-18 18:46:37 +09:00
Dean Herbert
bb1aacb360 Fix SkinnableSprite initialising a drawable even when the texture is not available 2020-11-18 18:07:00 +09:00
Dean Herbert
efc18887c8 Update framework 2020-11-18 18:01:55 +09:00
smoogipoo
f00c23b4a0 Add comment + xmldoc 2020-11-18 13:37:15 +09:00
smoogipoo
783c172b5d Make sealed and cleanup comparator 2020-11-18 13:33:22 +09:00
Bartłomiej Dach
57eaee27ae Rename param to match type better 2020-11-17 20:12:04 +01:00
Bartłomiej Dach
875d7dec79 Remove redundant this. qualifier 2020-11-17 20:11:13 +01:00
smoogipoo
58c8184ad7 Define blueprint order similarly to hitobjects 2020-11-17 22:56:31 +09:00
PercyDan54
dcaebd2621
Add license text 2020-11-17 21:39:29 +08:00
PercyDan54
809338a280
Init Import screen 2020-11-17 20:19:12 +08:00
Dean Herbert
dd4b69feab Add legacy judgement implementation which doesn't transform on animations 2020-11-17 15:46:57 +09:00
Dean Herbert
8247e6ce91 Move result type to ctor 2020-11-17 15:43:54 +09:00
Dean Herbert
e4f1e52422 Add xmldoc coverage of Apply() 2020-11-17 15:03:26 +09:00
Dean Herbert
f465dd5a5e Move all extended animation logic out of DrawableJudgement 2020-11-17 14:59:34 +09:00
Dean Herbert
d7b6e4a32d
Merge pull request #10867 from smoogipoo/refactor-user-request
Refactor user caching to improve readability and fix threadsafety issues
2020-11-17 14:20:45 +09:00
Dean Herbert
9dfa4249e0 Make Apply non-virtual 2020-11-17 14:05:13 +09:00
smoogipoo
3bcf9c255a Add Triangles.Reset() 2020-11-17 13:06:30 +09:00
smoogipoo
33c643e369 Add obsoletion for unused property 2020-11-17 12:23:34 +09:00
Dean Herbert
009d666241 Use dictionary to avoid linq overhead 2020-11-17 10:57:11 +09:00
Bartłomiej Dach
8da40ce2dc Reduce duplication by extracting ModEasyWithExtraLives 2020-11-16 19:54:00 +01:00
Bartłomiej Dach
128adce017 Merge branch 'master' into change-taiko-ez 2020-11-16 19:37:47 +01:00
Bartłomiej Dach
72a8734f93
Merge branch 'master' into add-back-initiallifetimeoffset 2020-11-16 18:54:37 +01:00
smoogipoo
e8dbc190f1 Remove ability to pool DHOs in parent playfields 2020-11-16 23:30:24 +09:00
smoogipoo
cead67d512 Add back removed InitialLifetimeOffset removal 2020-11-16 21:49:29 +09:00
smoogipoo
85b0f71467 Handle duplicate user IDs within the same batch 2020-11-16 21:17:43 +09:00
smoogipoo
87bf168718 Use queue instead of list 2020-11-16 20:52:51 +09:00
smoogipoo
1b1f4c9c09 Refactor user request to fix threadsafety issues 2020-11-16 20:35:22 +09:00
PercyDan54
f2ef7bee5d
Fix checks 2020-11-16 18:17:50 +08:00
PercyDan54
d7acfd5413
Remove retires from ModEasy 2020-11-16 18:15:15 +08:00
Dan Balasescu
a98327f0c5
Merge branch 'master' into fix-currentskininfo-thread-safety 2020-11-16 17:55:22 +09:00
Dan Balasescu
09298139e1
Merge pull request #10844 from bdach/spinner-rotation-tracker-state
Fix rotation tracker state not being reset on drawable spinner re-use
2020-11-16 17:10:40 +09:00
Dean Herbert
709370c69b Move schedule call outwards 2020-11-16 16:49:31 +09:00
Dean Herbert
9a7fdb2b7e Move skin deletion logic to OsuGameBase to promote thread safety
`CurrentSkinInfo` is used in multiple places expecting thread safety,
while ItemRemoved events are explicitly mentioning they are not thread
safe. As SkinManager itself doesn't have the ability to schedule to the
update thread, I've just moved the logic to `OsuGameBase`. We may want
to move the current skin bindable out of the manager class in the
future to match things like `BeatmapManager`.

Closes https://github.com/ppy/osu/issues/10837.
2020-11-16 16:43:19 +09:00
Dean Herbert
6706840b54
Merge pull request #10853 from bdach/add-to-legacy-conversion-tests 2020-11-16 15:22:04 +09:00
Dean Herbert
baed1573dc
Merge pull request #10838 from nbvdkamp/fix-quick-delete-crash 2020-11-16 14:42:52 +09:00
Dan Balasescu
3dbd7d5654
Merge pull request #10856 from bdach/reset-transforms-on-return-to-pool
Clear DrawableHitObject transforms on return to pool
2020-11-16 14:40:38 +09:00
Dean Herbert
7b79b9b9c1
Merge branch 'master' into fix-quick-delete-crash 2020-11-16 13:54:54 +09:00
Bartłomiej Dach
399a1a16a0 Refactor beginClickSelection in a slightly different way 2020-11-15 21:06:47 +01:00
Bartłomiej Dach
9c0a0031d6 Clear existing transforms on DHO return to pool 2020-11-15 19:50:22 +01:00
kamp
1db303b159 Revert beginClickSelection logic 2020-11-15 16:54:48 +01:00
Bartłomiej Dach
5d44286d38 Add missing generic mappings to legacy mods 2020-11-15 15:35:06 +01:00
Bartłomiej Dach
5ace7abaa8 Add abstract non-generic ModNightcore to pattern-match over 2020-11-15 15:32:02 +01:00
Bartłomiej Dach
8b74298567 Add base method for testing conversion in other direction 2020-11-15 14:48:23 +01:00
Bartłomiej Dach
9899687bfe Rename existing method to allow for new one 2020-11-15 14:17:41 +01:00
Dean Herbert
199043f677 Allow preview tracks to exist without an owner (without hard crashing) 2020-11-15 13:21:09 +09:00
Dean Herbert
34f09e2e20 Merge branch 'master' into fix-spectator-preview-crash 2020-11-15 13:16:10 +09:00
Bartłomiej Dach
f8cabbdd21 Clear result when freeing pooled hitobject 2020-11-14 21:09:22 +01:00
Andrei Zavatski
a52c98b55c Fix broken test scene 2020-11-14 21:20:37 +03:00
Andrei Zavatski
fe9d17fc56 Fix CodeFactor issues 2020-11-14 20:31:03 +03:00
Andrei Zavatski
a94546f905 CI fixes 2020-11-14 20:17:32 +03:00
Andrei Zavatski
5354bf1fa5 Ticks distribution improvements 2020-11-14 20:07:52 +03:00
Andrei Zavatski
02168c6c2f Implement dates with zero count fill 2020-11-14 19:17:01 +03:00
Bartłomiej Dach
b344a13734 Add support for previewing tracks on spectator screen 2020-11-14 17:08:27 +01:00
Andrei Zavatski
af174aa653 Implement chart subsections 2020-11-14 18:48:47 +03:00
Andrei Zavatski
c2a7f2f356 Merge remote-tracking branch 'refs/remotes/ppy/master' into profile-overlay-graph-new 2020-11-14 18:21:12 +03:00
Andrei Zavatski
ae4a2e74fa Implement ProfileSubsection 2020-11-14 18:21:10 +03:00
Bartłomiej Dach
8a78d408db Add more missed null checks 2020-11-14 15:52:12 +01:00
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
kamp
4d2bc790fd Fix crash on shift+right-click deleting objects 2020-11-14 13:20:16 +01:00
Dean Herbert
354e748e45
Merge branch 'master' into osu-hitobject-pooling-playfield 2020-11-14 15:44:00 +09:00
Andrei Zavatski
01f28a35c3 Implement vertical ticks creation 2020-11-14 07:28:01 +03:00
Andrei Zavatski
d98c59f2a4 Implement horizontal ticks creation 2020-11-14 06:38:02 +03:00
Andrei Zavatski
9d8e7e8954 ProfileLineChart layout implementation 2020-11-14 04:46:26 +03:00
Dean Herbert
52ff7b6593
Merge branch 'master' into hitobject-pooling-in-playfield 2020-11-14 10:27:12 +09:00
Joehu
2071cba944 Add music bindings to on screen display 2020-11-13 13:16:36 -08:00
Bartłomiej Dach
d55eae55ad
Merge branch 'master' into fix-combo-break-rewind-replay 2020-11-13 21:46:32 +01:00
Bartłomiej Dach
405407ff9e
Merge branch 'master' into fix-combo-break-sounds 2020-11-13 21:07:34 +01:00
Bartłomiej Dach
e6300f25d4
Merge branch 'master' into add-always-play-combo-break-setting 2020-11-13 20:25:55 +01:00
Bartłomiej Dach
403415147d
Merge branch 'master' into fix-perform-from-menu-overlay-hiding 2020-11-13 19:11:53 +01:00
smoogipoo
21b015d63a Remove explicit public 2020-11-14 01:06:38 +09:00
smoogipoo
5cbf6252b7 Merge branch 'hitobject-pooling-in-playfield' into osu-hitobject-pooling-playfield 2020-11-14 01:03:11 +09:00
smoogipoo
c71b237c4f Merge all pooling support into Playfield 2020-11-14 00:59:08 +09:00
smoogipoo
36f1833f6e Move hitobject pooling to Playfield 2020-11-14 00:41:18 +09:00
smoogipoo
d347493ba3 Merge branch 'master' into osu-hitobject-pooling 2020-11-13 23:13:09 +09:00
smoogipoo
9792d1fc73 Fix slider tests 2020-11-13 23:08:39 +09:00
Dean Herbert
f093acc9d5
Merge pull request #10823 from smoogipoo/pooling-editor-support
Add pooling support to the editor
2020-11-13 19:58:46 +09:00
smoogipoo
d83b479c81 Internalise lifetime extensions and events too 2020-11-13 19:21:45 +09:00
smoogipoo
4a4219fd11 Add region 2020-11-13 19:21:45 +09:00
smoogipoo
92189e35cc Make playfield KeepAlive methods internal 2020-11-13 19:21:45 +09:00
smoogipoo
832d52a056 Fix hitobject sample tests 2020-11-13 18:19:07 +09:00
Dean Herbert
df7032bc6c
Merge pull request #10803 from smoogipoo/nested-hitobject-pooling
Add nested hitobject pooling
2020-11-13 17:34:10 +09:00
smoogipoo
3c91626132 Merge branch 'pooling-editor-support' into osu-editor-pooling 2020-11-13 17:27:00 +09:00
smoogipoo
688a442fb3 Add missing dictionary 2020-11-13 17:26:46 +09:00
smoogipoo
942ecde0e1 Merge branch 'master' into pooling-editor-support 2020-11-13 17:23:35 +09:00
smoogipoo
0219aff7bc Add timeline visible range adjustment 2020-11-13 17:10:29 +09:00
Dean Herbert
8268b33392
Merge pull request #10822 from peppy/update-framework
Update framework
2020-11-13 17:10:07 +09:00
smoogipoo
3957697c48 Add pooling support to the editor 2020-11-13 17:08:20 +09:00
smoogipoo
4ef2e9548c Pass HitObjectComposer to BlueprintContainer via ctor 2020-11-13 16:59:37 +09:00
Dean Herbert
06fd0d08d1
Merge branch 'master' into nested-hitobject-pooling 2020-11-13 16:53:20 +09:00
Dean Herbert
a9fc7572ed Update framework 2020-11-13 15:33:27 +09:00
smoogipoo
7085b25898 Merge branch 'hitobject-pooling-base' into osu-hitobject-pooling 2020-11-13 14:57:59 +09:00
smoogipoo
4236dd826d Improve documentation and make abstract again 2020-11-13 14:57:09 +09:00
smoogipoo
a07d4a7915 Remove unnecessary dictionary for now 2020-11-13 14:42:41 +09:00
smoogipoo
35329aa976 Reduce the number of state updates 2020-11-13 14:33:23 +09:00
Dean Herbert
0985cb3327 Fix perform from menu not hiding overlays if already on target screen 2020-11-13 14:08:08 +09:00
Dean Herbert
a2c81a3a52 Add back setting to toggle "always play first combo break" 2020-11-13 13:42:00 +09:00
Dean Herbert
4b5743d993 Fix combo break sound not playing after rewind 2020-11-13 13:38:14 +09:00
Dean Herbert
43626573df Fix combo break sounds playing when seeking 2020-11-13 13:36:19 +09:00
Dean Herbert
38105ed6a2
Merge branch 'master' into hitobject-pooling-base 2020-11-13 11:27:32 +09:00
Dan Balasescu
2840fd0f8f
Merge branch 'master' into hitobject-pooling-base 2020-11-12 23:17:36 +09:00
Bartłomiej Dach
96fbfc33fa
Merge branch 'master' into perform-from-menu-dialog-aware 2020-11-12 15:05:45 +01:00
Dan Balasescu
e804fe5458
Merge pull request #10801 from peppy/fix-legacy-legacy-storyboard-frame-delays
Fix storyboard animations of very old beatmaps playing too slow
2020-11-12 19:06:57 +09:00
smoogipoo
0abda7b557 Merge branch 'hitobject-pooling-base' into osu-hitobject-pooling 2020-11-12 18:49:03 +09:00
smoogipoo
261ddd2b4a Fix samples not being disposed 2020-11-12 18:48:25 +09:00
smoogipoo
8aaa500431 Add lifetime extensions 2020-11-12 18:34:50 +09:00
smoogipoo
243e913e4a Add hitobject usage events 2020-11-12 18:32:20 +09:00
smoogipoo
fe347c8661 Add playfield support for keeping hitobjects alive 2020-11-12 18:30:32 +09:00
smoogipoo
7548db7ecc Fix hitobjects sometimes not fading in completely with HD mod 2020-11-12 18:29:22 +09:00
Andrei Zavatski
7177dd5d82 Add counter to most played beatmaps section in user overlay 2020-11-12 18:29:22 +09:00
Dean Herbert
8a2addbf3d Update framework 2020-11-12 18:29:22 +09:00
Dean Herbert
d9750fc043 Remove duplicate instantiation of externalLinkOpener 2020-11-12 18:29:22 +09:00
smoogipoo
a8c2b798ad Add support for nested hitobject pooling 2020-11-12 17:43:51 +09:00
smoogipoo
e44a8b3934 Resort as early as possible 2020-11-12 17:07:20 +09:00
Dean Herbert
41a1730927
Merge pull request #10794 from smoogipoo/fix-osu-hd-mod 2020-11-12 17:06:04 +09:00
Dean Herbert
25af091409 Fix storyboard animations of very old beatmaps playing too slow
Closes https://github.com/ppy/osu/issues/10772.
2020-11-12 17:03:43 +09:00
smoogipoo
cf91962865 Fix test failures due to on-the-fly starttime changes 2020-11-12 16:58:40 +09:00
smoogipoo
974390bda7 Make Add() + Remove() virtual 2020-11-12 15:36:02 +09:00
smoogipoo
72a6b75626 Add back removed event 2020-11-12 15:34:51 +09:00
smoogipoo
4e43235955 Fix double bind leading to test failures 2020-11-12 15:33:49 +09:00
smoogipoo
653f5bce67 Reword xmldocs 2020-11-12 15:00:58 +09:00
smoogipoo
16e4e8d032 Fix possible nullref 2020-11-12 14:54:33 +09:00
smoogipoo
1f8d376b85 Replace CreatePool() with non-virtual RegisterPool() overload 2020-11-12 14:17:33 +09:00
smoogipoo
5dbbe11fc6 Remove PoolHitObjects, use return value of CreateDrawableRepresentation() instead 2020-11-12 14:04:16 +09:00
smoogipoo
f652eb9982 Remove GetDrawableRepresentation() override, add null hinting 2020-11-12 13:18:44 +09:00
smoogipoo
d7d77460fb Small refactorings 2020-11-12 12:55:42 +09:00
Dean Herbert
ad79c2bc62 Avoid multiple enumeration by converting to array at construction time 2020-11-12 10:55:22 +09:00
Andrei Zavatski
f753f138c6 Add counter to most played beatmaps section in user overlay 2020-11-12 03:11:29 +03:00
Dean Herbert
ef5e3d5ab8
Merge pull request #10796 from smoogipoo/fix-incorrect-framestability-value
Fix frame stable playback not being set correctly
2020-11-11 19:54:45 +09:00
smoogipoo
a8929b0764 Revert unnecessary change of casting 2020-11-11 19:27:07 +09:00
smoogipoo
7fdaf69903 Add some more xmldocs 2020-11-11 19:12:12 +09:00
smoogipoo
606cfacedf Fix state update exception in a better way 2020-11-11 19:01:12 +09:00
smoogipoo
7d02018134 Remove some unnecessary implementations for now 2020-11-11 18:54:40 +09:00
smoogipoo
d7bee80d4e Merge branch 'fix-incorrect-framestability-value' into hitobject-pooling-base 2020-11-11 18:52:51 +09:00
smoogipoo
90499329bd Fix frame stable playback not being set correctly 2020-11-11 18:50:38 +09:00
Dean Herbert
a08833f3b3 Update framework 2020-11-11 18:03:04 +09:00
Bartłomiej Dach
2b2f0321fd
Merge branch 'master' into fix-osu-hd-mod 2020-11-11 09:45:45 +01:00
smoogipoo
6f7a1dd57d Merge branch 'master' into hitobject-pooling-base 2020-11-11 17:09:18 +09:00
Dean Herbert
6fa0cc9bda
Merge pull request #10792 from peppy/remove-double-external-link-opener
Remove duplicate instantiation of externalLinkOpener
2020-11-11 16:58:35 +09:00
smoogipoo
5d55af5818 Fix hitobjects sometimes not fading in completely with HD mod 2020-11-11 16:35:48 +09:00
Dean Herbert
804450e707 Remove duplicate instantiation of externalLinkOpener 2020-11-11 15:49:45 +09:00
smoogipoo
7df9484458 Merge branch 'master' into add-random-skin-hotkey 2020-11-11 15:48:12 +09:00
Dan Balasescu
09324c4598
Merge pull request #3652 from WebFreak001/shuffle-skin
Add "random skin" option to skin setting dropdown
2020-11-11 15:47:00 +09:00
Dan Balasescu
8ad84d6640
Merge branch 'master' into osd-custom-bindings-display 2020-11-11 15:12:31 +09:00
Dan Balasescu
b446f21c68
Merge pull request #10786 from peppy/osd-skin-display
Display skin changes via on-screen display overlay
2020-11-11 15:12:19 +09:00
Dean Herbert
c308eb75d9 Move logic for performing actions from specific screen to its own component 2020-11-11 14:45:50 +09:00
Dean Herbert
f78f2fb59e Merge branch 'osd-custom-bindings-display' into add-random-skin-hotkey 2020-11-11 13:53:49 +09:00
Dean Herbert
324626e097 Move default config tracking calls out of OnScreenDisplay itself 2020-11-11 13:53:09 +09:00
Dean Herbert
11cf04eed1 Fix frames potentially getting added to spectator replay in wrong format
The way spectator currently works, the `Spectator` screen is responsible
for adding new frames to the replay, even when it has a child
(`SpectatorPlayer`) present.

There was a possibility that a new play had already started, and on
returning to the Spectator screen (to initialise the new play) there
would be a brief period where the Player instance is still reading from
the replay, the `userBeganPlaying` call had not yet finished
initialising the new target replay, and `userSentFrames` is run
(asynchronously), writing frames to the previous replay using the
incorrect ruleset instance).

To make this work, it doesn't `Schedule` frame addition to the replay
(making things a bit unsafe). Changing this itself isn't such a simple
one to do, so I instead opted to fix this via locking.

Closes https://github.com/ppy/osu/issues/10777.
2020-11-11 13:39:43 +09:00
Dean Herbert
8d38d9cc93 Add hotkey to select random skin 2020-11-11 13:05:03 +09:00
Dean Herbert
df00a4ab9b Merge branch 'osd-custom-bindings-display' into shuffle-skin 2020-11-11 13:00:32 +09:00
Dean Herbert
3364648fe2 Merge branch 'osd-skin-display' into shuffle-skin 2020-11-11 13:00:31 +09:00
Dean Herbert
6014751e29 Add the ability for the game OSD to display user bindings
Adds binding display for mouse button toggle / HUD toggle keys.

- [ ] Depends on #10786 for ease-of-merge
2020-11-11 12:56:10 +09:00
Dean Herbert
9caa56c64f Display skin changes via on-screen display overlay 2020-11-11 12:19:01 +09:00
Dean Herbert
6674628bc7 Only include user skins in random choices 2020-11-11 12:03:38 +09:00
Dean Herbert
6b548ef5e4 Split out SkinInfo ID constants and fix random logic 2020-11-11 11:54:40 +09:00
Dean Herbert
6593aac3f2
Merge pull request #7762 from EVAST9919/history-graph 2020-11-11 11:35:34 +09:00
Dean Herbert
a5e13e4d2c Merge branch 'master' into shuffle-skin 2020-11-11 11:34:48 +09:00
Dan Balasescu
451f0a29c6
Merge pull request #10784 from peppy/fix-best-performance-weighting
Fix user profile best performance weighting being out of order
2020-11-11 11:21:43 +09:00
Dean Herbert
89c4e3d3b2
Merge branch 'master' into history-graph 2020-11-11 11:01:48 +09:00
Dean Herbert
8706b51b77
Merge pull request #10717 from smoogipoo/dho-apply 2020-11-11 10:54:24 +09:00
Dean Herbert
53c968e137 Fix user profile best performance weighting being out of order 2020-11-11 10:19:59 +09:00
Andrei Zavatski
6c428d8b11 Merge master with conflicts resolved 2020-11-11 01:37:01 +03:00
Bartłomiej Dach
546249b071 Temporarily fix crash on deleting control point groups 2020-11-10 21:32:47 +01:00
smoogipoo
b725c9cce9 Fix possible nullrefs 2020-11-11 00:24:28 +09:00
smoogipoo
e525784cb2 Clear lifetimeEntry after use 2020-11-11 00:24:14 +09:00
smoogipoo
99e5450af3 Cache DrawableRuleset 2020-11-11 00:22:36 +09:00
smoogipoo
66213f2ed0 Add pooling support to DrawableRuleset + Playfield 2020-11-10 23:56:32 +09:00
smoogipoo
31e4d71852 Rewrite HitObjectContainer with pooling support 2020-11-10 22:49:02 +09:00
smoogipoo
5354ef1699 Merge branch 'dho-apply' into hitobject-pooling-base 2020-11-10 22:30:08 +09:00
Bartłomiej Dach
20f9759a2e
Merge branch 'master' into fix-storyboard-sprite-paths 2020-11-10 12:57:10 +01:00
Dean Herbert
e1dcac4d8b Update framework 2020-11-10 20:29:29 +09:00
Bartłomiej Dach
61093030ee Remove redundant class name qualifier 2020-11-10 12:20:49 +01:00
Bartłomiej Dach
ce837eaba0 Rename variables 2020-11-10 12:20:26 +01:00
Bartłomiej Dach
dd873dbd85
Merge branch 'master' into fix-profile-graph-crash 2020-11-10 12:17:12 +01:00
smoogipoo
6f3f6dc28b Add hitobject lifetime support 2020-11-10 20:16:52 +09:00
cadon0
539806e9d6 Rewrite - Add empty drawable whenever sprite not found 2020-11-10 23:52:37 +13:00
cadon0
6446074976 Fix paths for storyboard animation sprites 2020-11-10 23:52:37 +13:00
smoogipoo
45e9f16f6b Add initial DrawableRuleset interface 2020-11-10 19:27:08 +09:00
smoogipoo
757a4b5c31 Add hitobject lifetime model 2020-11-10 19:26:01 +09:00
smoogipoo
88112801eb Remove result storage from hitobject 2020-11-10 18:56:16 +09:00
Dan Balasescu
ef1036cef1
Merge pull request #10767 from peppy/fix-editor-crash-on-two-mouse-button-click
Fix BlueprintContainer triggering assert when left and right mouse button are pressed together
2020-11-10 18:41:58 +09:00
Dan Balasescu
d873229120
Merge pull request #10769 from peppy/fix-mod-select-keys-handle-control
Stop mod select overlay hotkeys handling input when control is pressed
2020-11-10 18:37:14 +09:00
smoogipoo
f5076fe3b8 Revert unnecessary change 2020-11-10 18:15:11 +09:00
Dan Balasescu
4e3f6f19f4
Merge pull request #10768 from bdach/force-import-standardised
Always store standardised score when populating ScoreInfo
2020-11-10 18:12:35 +09:00
Dean Herbert
833c0b223e Clamp index to valid bounds 2020-11-10 18:08:12 +09:00
Dean Herbert
2e3dc6fc46 Merge branch 'master' into fix-profile-graph-crash 2020-11-10 18:06:51 +09:00