1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 06:35:05 +08:00
Commit Graph

646 Commits

Author SHA1 Message Date
Bartłomiej Dach
8c3955d341 Improve safety of ongoing operation tracker
Finishing an operation started via
`OngoingOperationTracker.BeginOperation()` was risky in cases where the
operation ended at a callback on another thread (which, in the case of
multiplayer, is *most* cases). In particular, if any consumer registered
a callback that mutates transforms when the operation ends, it would
result in crashes after the framework-side safety checks.

Rework `OngoingOperationTracker` into an always-present component
residing in the drawable hierarchy, and ensure that the
`operationInProgress` bindable is always updated on the update thread.
This way consumers don't have to add local schedules in multiple places.
2021-01-09 22:45:24 +01:00
Bartłomiej Dach
ff60d652ed Move out test ongoing operation tracker to higher level 2021-01-08 22:28:21 +01:00
Salman Ahmed
dfa8be9173 Add beatmap availability change state & event methods 2021-01-03 05:48:49 +03:00
Dean Herbert
046a76cb1d Allow null users to still be displayed in the participant list
The fix here is correcting the access of `user.Country`. The deicision
to have null users display is because this is the best we can do (if
osu-web could not resolve the user). We still want the users in the
lobby to be aware of this user's presence, rather than hiding them from
view.

osu-stable does a similar thing, showing these users as `[Loading]`. I
decided to go with blank names instead because having *any* text there
causes confusion. We can iterate on this in future design updates.
2020-12-28 15:03:44 +09:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Dean Herbert
5d4b73baa5 RealtimeMultiplayer -> Multiplayer 2020-12-25 14:10:59 +09:00
Bartłomiej Dach
6750f1574f
Merge branch 'master' into disallow-multiplayer-restart-retry 2020-12-24 09:45:50 +01:00
Bartłomiej Dach
47020c8887 Add failing test cases 2020-12-23 21:00:47 +01:00
Dean Herbert
3c8f871b28 Move player constructor configuration to dedicated class; add AllowRestart parameter 2020-12-23 17:47:46 +09:00
Dean Herbert
d7279dab40
Merge pull request #11226 from peppy/fix-legacy-skin-texture-loader-store
Fix incorrectly provided texture loader store to skins
2020-12-23 16:41:01 +09:00
Dean Herbert
a7f78d706a Merge branch 'master' into fix-legacy-skin-texture-loader-store 2020-12-22 12:09:35 +09:00
Dean Herbert
10c2745682 Add region specifications around implicit interface implementations 2020-12-22 12:01:09 +09:00
smoogipoo
8427ee1b8e Fix incorrect cached type 2020-12-21 18:42:23 +09:00
smoogipoo
c3d1eaf36d Make RealtimeMultiplayerTestScene abstract 2020-12-21 16:21:05 +09:00
Dean Herbert
a5bcf1dc20 Expose resources to skin via interface (and share common pieces with beatmap) 2020-12-21 15:18:52 +09:00
smoogipoo
ba4307a74c Directly return task 2020-12-20 18:24:13 +09:00
smoogipoo
9b08f573ba Fix room not created before being joined 2020-12-19 02:41:04 +09:00
smoogipoo
3f4a66c4ae Add realtime multiplayer test scene abstract class 2020-12-19 02:23:42 +09:00
smoogipoo
7d1fe7955e Small improvements to testable room manager 2020-12-19 01:57:40 +09:00
smoogipoo
2fc5561b7e Add handling for GetRoomRequest() 2020-12-19 01:22:52 +09:00
smoogipoo
c6da680c80 Add a container for testing purposes 2020-12-19 01:19:08 +09:00
smoogipoo
c6555c53cc Add a testable realtime room manager 2020-12-19 01:17:24 +09:00
smoogipoo
50a35c0f63 Add connection/disconnection capability 2020-12-19 01:16:00 +09:00
smoogipoo
1e2163f55e Add a testable realtime multiplayer client 2020-12-19 01:14:50 +09:00
Dean Herbert
e6a38ffbce Fix test failure due to polluted bindable value from previous test 2020-12-18 16:39:30 +09:00
smoogipoo
208a9e596e Set new room for each test iteration 2020-12-18 14:58:58 +09:00
Dean Herbert
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length 2020-12-03 18:39:54 +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
598572195c Add playlist length to match settings overlay 2020-12-01 19:57:25 +09:00
ekrctb
604619ba47 Generalize legacy skin player test. 2020-12-01 09:49:04 +09:00
Dean Herbert
9811c46e35 Rename application method to better describe what it actually does 2020-11-26 19:16:18 +09: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
smoogipoo
832d52a056 Fix hitobject sample tests 2020-11-13 18:19:07 +09:00
Dean Herbert
8aa0a698d9 Avoid errors due to second set 2020-11-05 17:26:41 +09:00
Dean Herbert
9c91f16e3a Update sizing as early as possible in addition to scheduling (to handle any dependent edge cases) 2020-11-05 17:24:59 +09:00
Dean Herbert
2d0c62dce2 Fix SkinnableTestScene's autosize propagation
Regressed with recent DrawableHitObject changes (moving of
RelativeSizeAxes specifications out of constructors).
2020-11-05 16:37:48 +09:00
Dean Herbert
d2f6303988 Change default value of requestedByUser to false 2020-11-02 14:56:50 +09:00
Dean Herbert
ecad85b5f5 Merge branch 'master' into fix-music-paused-on-multi-exit 2020-11-02 14:55:15 +09:00
Bartłomiej Dach
2b0bea535e Resolve CA1805 inspections
"Member is explicitly initialized to its default value"
2020-11-01 18:47:40 +01:00
Bartłomiej Dach
79f47953a8 Migrate existing call to new flag parameter 2020-10-31 16:08:27 +01:00
Dean Herbert
4dec46b33e Attempt to fix in a less destructive way for now 2020-10-29 17:52:58 +09:00
Dean Herbert
7bef695072 Merge branch 'master' into fix-test-beatmap-virtual-clock 2020-10-29 17:51:15 +09:00
Dean Herbert
bdebf2f1a4 Fix skinnable test scene still not working with dynamic compilation 2020-10-16 17:08:46 +09:00
smoogipoo
573336cb47 Ensure stable sorting order in beatmap conversion tests 2020-10-09 20:12:17 +09:00
Dean Herbert
4b81880655 Account for potentially longer non-last objects 2020-10-05 14:04:04 +09:00
Dean Herbert
21bf93a7c2 Ensure there's a buffer after the last hitobject to allow certain replay tests to complete correctly 2020-10-05 13:29:36 +09:00
Dean Herbert
a8cbd400d3 Ensure virtual track time is long enough for test beatmaps 2020-10-05 13:23:37 +09:00
smoogipoo
7890319802 Merge branch 'master' into adjust-hit-result-types 2020-10-01 16:19:07 +09:00
Dean Herbert
9d07dce5e4
Merge pull request #10251 from smoogipoo/additional-hit-results 2020-10-01 12:19:48 +09:00
Dean Herbert
e760ed8e01 Fix scroll wheel being handled by base test scene 2020-09-30 16:39:02 +09:00
smoogipoo
f439c1afbc Make osu/taiko/catch use Ok+Great 2020-09-29 17:16:55 +09:00
smoogipoo
bad48d6d44 Merge branch 'master' into scoring-standardisation 2020-09-29 16:33:38 +09:00
smoogipoo
a07597c369 Adjust displays to use new results/orderings 2020-09-25 20:22:59 +09:00
Dean Herbert
011b176244 Add test coverage of audio track changing 2020-09-24 22:00:13 +09:00
Dean Herbert
552968f65f Remove unnecessary using 2020-09-22 13:38:52 +09:00
Dean Herbert
7c40071b21 Revert changes to SkinnableTestScene but change load order 2020-09-22 13:35:35 +09:00
Dean Herbert
1e09d8fd1a
Merge branch 'master' into catch-combo-counter 2020-09-21 17:53:00 +09:00
Dean Herbert
ff5b292302 Fix global bindings being lost when running tests under headless contexts 2020-09-16 19:36:36 +09:00
Dan Balasescu
8f5115b4e8
Merge branch 'master' into fix-test-storage-weirdness 2020-09-15 19:32:52 +09:00
Dean Herbert
f7c9c80566 Force OsuGameTests to use a unique storage each run 2020-09-15 19:01:32 +09:00
Dan Balasescu
0761aab42f
Merge branch 'master' into catch-combo-counter 2020-09-15 17:20:31 +09:00
Dan Balasescu
16ae83c499
Merge branch 'master' into editor-clipboard 2020-09-15 16:05:43 +09:00
Dean Herbert
914785ce17 Merge branch 'master' into fix-test-storage-weirdness 2020-09-15 14:49:10 +09:00
Dean Herbert
0446bc8610 Fix game.ini getting left over by PlayerTestScene subclasses 2020-09-15 14:43:24 +09:00
Dean Herbert
879979ef57 Move host lookup to inside lazy retrieval to handle edge cases 2020-09-15 14:25:31 +09:00
Dean Herbert
234152b2fe Use host storage as LocalStorage for headless test runs 2020-09-15 14:17:40 +09:00
Dean Herbert
0ef4dfc192 Move more logic to base EditorTestScene 2020-09-14 15:27:08 +09:00
Dean Herbert
da02ee8828 Add ability to create a TestBeatmap with no HitObjects 2020-09-14 15:26:57 +09:00
Dean Herbert
c6e72dabd3 Add test coverage 2020-09-09 20:04:25 +09:00
Dean Herbert
5268eee0fb Avoid requiring sending the calling method for CleanRunHeadlessGameHost 2020-09-08 11:31:42 +09:00
smoogipoo
1143d5d992 Update class exclusion for dynamic compilation 2020-09-04 20:41:08 +09:00
smoogipoo
f793bf66e5 Remove rate adjustment from player test scene 2020-09-02 14:25:24 +09:00
Salman Ahmed
fafdbb0a81
Adjust recently added inline comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-08-22 17:26:54 +03:00
Salman Ahmed
7e838c8042 Add comment explaining why direct string lookups are used 2020-08-22 13:07:15 +03:00
Dean Herbert
70697cf1a0 Restore remaining editor components to use Beatmap.Track 2020-08-21 17:11:29 +09:00
Dean Herbert
d2c2e8bbe8 Revert some more usage of MusicController back to WorkingBeatmap 2020-08-21 15:17:21 +09:00
Salman Ahmed
deb5cc752b Merge remote-tracking branch 'upstream/master' into catch-combo-counter 2020-08-19 08:39:58 +03:00
Dean Herbert
93a8bc3d5a Remove local reset method in GameplayClockContainer 2020-08-17 22:36:09 +09:00
Dean Herbert
9e7a28002d Merge branch 'master' into beatmap-track-rework 2020-08-13 17:56:50 +09:00
Bartłomiej Dach
8fe5775ecb Allow testing mod combinations in ModTestScenes 2020-08-11 21:55:20 +02:00
smoogipoo
e87f50f74f Rename method 2020-08-07 22:31:41 +09:00
smoogipoo
b08ebe6f81 More inspections (rider is broken) 2020-08-07 21:14:45 +09:00
smoogipoo
961c6dab54 Fix more inspections 2020-08-07 21:08:03 +09:00
smoogipoo
5002d69f69 Update inspections 2020-08-07 20:51:56 +09:00
smoogipoo
61b632516e Ensure CurrentTrack is never null 2020-08-07 19:43:16 +09:00
smoogipoo
d1af1429b3 Fix inspection 2020-08-06 19:08:45 +09:00
smoogipoo
4cfca71d08 Fix a few test scenes 2020-08-06 19:05:15 +09:00
smoogipoo
c72ab9047e Cleanup test scene disposal 2020-08-06 17:15:33 +09:00
smoogipoo
5c05fe3988 Expose track from MusicController 2020-08-06 16:24:14 +09:00
smoogipoo
6e42b8219c Move track to MusicController, compiles 2020-08-06 16:24:14 +09:00
Salman Ahmed
d6f36457a8 Fix legacy font glyphs being mistaken for animation and getting "extrapolated" 2020-08-03 21:48:43 +03:00
smoogipoo
b361761d86 Add position display in contracted score panels 2020-07-31 22:02:25 +09:00
Dean Herbert
df3e2cc640 Fix potential crash due to cross-thread TrackVirtualManual.Stop 2020-07-28 12:08:15 +09:00
smoogipoo
9f7750e615 Add texture wrapping support to skins 2020-07-17 16:54:30 +09:00
Dean Herbert
43624381bf Change multiplayer tests to have null room by default 2020-07-09 18:55:53 +09:00
Bartłomiej Dach
c7d2ce12eb Add failing test cases 2020-06-22 20:08:32 +02:00
Bartłomiej Dach
07cbc3e683 Privatise and seal whatever possible 2020-06-21 23:05:10 +02:00
Bartłomiej Dach
4bba0c7359 Move abstract sample test to main game project 2020-06-21 22:28:19 +02:00
Salman Ahmed
eb64c4752c
Merge remote-tracking branch 'upstream/master' into cache-ruleset-dependencies-for-tests 2020-06-15 11:31:12 +03:00