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