1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 13:22:55 +08:00
Commit Graph

788 Commits

Author SHA1 Message Date
Dean Herbert
132bb7832d Fix some regressions when updating test scenes 2021-05-10 12:06:33 +09:00
Dean Herbert
b274fdf20d Merge branch 'master' into skin-components-bind-outwards-health 2021-05-10 11:13:44 +09:00
Dean Herbert
2bcf1ed306
Merge pull request #12715 from Cublibre/fix-early-exit-crash
Fix InvalidOperationException when exiting a map at the end
2021-05-09 23:21:19 +09:00
Christine Chen
ae2b5a0806 Actually test that player was exited 2021-05-08 22:42:14 -04:00
Bartłomiej Dach
efb9164658 Restore previous test scene logic 2021-05-08 21:35:12 +02:00
Bartłomiej Dach
0bc6a026eb
Merge branch 'master' into skin-components-bind-outwards-accuracy 2021-05-08 21:08:53 +02:00
Christine Chen
25312b3e88 Don't restart completion delegate on exit, revert exit behavior to lazer 2021-05-08 11:47:44 -04:00
Christine Chen
8c564a69ed Fix InvalidOperationException when exiting a map at the end 2021-05-07 21:11:03 -04:00
Dean Herbert
1cb10c2a22 Remove unnecessary binding logic from HUDOverlay 2021-05-07 17:51:46 +09:00
Dean Herbert
a7acecc52b Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-07 17:51:41 +09:00
Dean Herbert
3044b1c432 Add missing cache rules 2021-05-07 17:50:44 +09:00
Dean Herbert
6c255a0572 Fix drain start time being weirdly incorrect 2021-05-07 17:47:33 +09:00
Dean Herbert
8e78cac058 Fix HealthProcessor cached as derived type in test 2021-05-07 17:31:29 +09:00
Dean Herbert
04d35826a3 Merge branch 'skin-components-bind-outwards-accuracy' into remove-hud-overlay-unused-pieces 2021-05-07 17:25:39 +09:00
Dean Herbert
84a4ff333e Update skin editor test scene to cache a ScoreProcessor 2021-05-07 17:22:56 +09:00
Dean Herbert
755588258e Update HealthDisplay components to use DI to attach data source 2021-05-07 17:22:45 +09:00
Dean Herbert
4ac234bf7f Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-accuracy 2021-05-07 17:15:57 +09:00
Dean Herbert
6dc591fc44 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-score-display 2021-05-07 17:15:37 +09:00
Dean Herbert
9d27b11e49 Update skin editor test scene to cache a ScoreProcessor 2021-05-07 17:10:31 +09:00
Dean Herbert
01eff7f316 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-score-display 2021-05-07 16:30:08 +09:00
Dean Herbert
93f10330e3 Merge branch 'skin-components-bind-outwards' into skin-components-bind-outwards-accuracy 2021-05-07 16:29:10 +09:00
Dean Herbert
ad398165a2 Update AccuracyCounter components to use DI to attach data source 2021-05-07 16:27:25 +09:00
Dean Herbert
17b93361d5
Merge branch 'master' into skin-components-bind-outwards 2021-05-07 16:20:24 +09:00
Dean Herbert
a2e4fb5b6b Update ScoreCounter components to bind outwards 2021-05-07 16:16:48 +09:00
Dean Herbert
aff32b0d19 Merge branch 'master' into skin-components-list 2021-05-06 14:17:33 +09:00
Bartłomiej Dach
3cac837acf
Merge branch 'master' into skin-bindables 2021-05-05 20:16:27 +02:00
Dean Herbert
3cc9bad979 Actually check for correct state of fade content in rewind test 2021-05-05 17:49:33 +09:00
Christine Chen
1d4a8bc0ae Add visual test for rewinding 2021-05-04 22:23:36 -04:00
Dean Herbert
bb9fa1a25e
Merge branch 'master' into play-storyboard-outro 2021-05-04 14:01:34 +09:00
Dean Herbert
625890381f Update ComboCounter components to use DI to attach data source 2021-05-03 17:43:00 +09:00
Dean Herbert
a1e64f4e3c Use the existing toolbox design 2021-04-30 14:41:06 +09:00
Dean Herbert
ae9d1dc40b Add component list to main editor interface and enable basic placement 2021-04-30 13:10:42 +09:00
Dean Herbert
6442fb819f Split out component from test scene and fix SongProgress 2021-04-30 13:10:42 +09:00
Dean Herbert
4770a64709 Add proof of concept components list 2021-04-30 13:10:42 +09:00
Dean Herbert
de73ac7cec Allow skin editor to be invoked from any context
This is kind of how I see things working going forward, where the editor
can be applied to anything in the game which supports it (ie. a results
screen, gameplay screen, etc.) and it will immediately allow changing
the interface.

This adds a test scene which shows this working with gameplay.
2021-04-29 16:12:15 +09:00
Dean Herbert
74c6fdc4b8 Add DrawableRuleset to the skin editor test to get a hit error meter to display 2021-04-29 16:12:15 +09:00
Dean Herbert
fd587a82ff Replace abstract class with interface, attached to the actual components (not skinnable wrapper) 2021-04-29 16:12:15 +09:00
Dean Herbert
defa350aa7 Set defaults on SkinnableHUDComponent to cancel out relative size default
Specifying locally on each HUD component looks to make more sense.
2021-04-29 16:12:15 +09:00
Dean Herbert
1cb8fc9a24 Extract editor classes out of test namespace and add anchor support 2021-04-29 16:12:15 +09:00
Dean Herbert
74fb7cd180 Extract storable attributes to bindables 2021-04-29 16:12:15 +09:00
Dean Herbert
99b428ee4b Add very basic skin editor test 2021-04-29 16:12:14 +09:00
Dean Herbert
fca173225a Refactor editor selection/blueprint components to be generic 2021-04-29 16:12:14 +09:00
Dean Herbert
2d17219c8f Setup basic test and classes for scale adjustment 2021-04-29 16:12:14 +09:00
Dean Herbert
120fb8974d Combine more instances of test player IDs 2021-04-26 17:22:16 +09:00
Dean Herbert
daafa41dc1
Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-22 16:22:04 +09:00
smoogipoo
e78ef05fcf Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-21 17:11:14 +09:00
smoogipoo
156a518068 Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-20 21:16:05 +09:00
smoogipoo
c5d6b6ea8d Fix tests failing intermittently
This was due to this code happening in UpdateAfterChildren(), after the
GCC has processed one frame. During this time, the clock could have
advanced an arbitrary amount.

The cause of this is the removal of the Task.Run() to set the clock in
Restart() (now called Reset()) which changed the timing, so it only worked before due to pure
luck.
2021-04-20 18:41:09 +09:00
smoogipoo
80473a356e Merge branch 'fix-pre-seek-sample-lifetime' into gcc-abstraction 2021-04-20 17:27:01 +09:00
smoogipoo
c12848ce4d Apply fixes to tests 2021-04-19 17:02:59 +09:00
Christine Chen
fd1241cc85 Added tests
New tests:
- storyboard ending during the failing animation
- showResults = false
- storyboard ending before score processor completion

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-18 23:26:50 -04:00
Christine Chen
98460c8feb Rename IStoryboardElementHasDuration, remove unnecessary step in tests, add Duration field 2021-04-18 20:20:14 -04:00
Christine Chen
7b1d40db7d Remove redundant string interpolation 2021-04-17 22:13:28 -04:00
Christine Chen
e9f8fa64b8 Added a test for toggling the storyboard after the map is loaded 2021-04-17 21:49:29 -04:00
Christine Chen
7f5b1e84a1 Update TestSceneStoryboardWithOutro.cs
- Construct storyboard in CreateWorkingBeatmap()
- Use GameplayClockContainer.GameplayClock.CurrentTime
- Remove unnecessary lines
2021-04-17 13:57:32 -04:00
smoogipoo
5e82f40d67 Merge branch 'master' into gcc-abstraction 2021-04-16 20:14:53 +09:00
smoogipoo
65a6f9f8a4 Merge branch 'fix-initial-spectator-state-callback' into multiplayer-spectator-screen 2021-04-16 18:26:46 +09:00
smoogipoo
46d2181d42 Remove now unnecessary (duplicating) test 2021-04-16 18:21:56 +09:00
smoogipoo
377e5ce6b3 Fix test incorrect sending state too often 2021-04-16 18:21:35 +09:00
smoogipoo
ca74f413cd Change to explicit method instead 2021-04-16 17:31:02 +09:00
smoogipoo
5652490d61 Fix OnUserBeganPlaying not being invoked if already watching 2021-04-16 14:11:55 +09:00
Christine Chen
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
Christine Chen
45c2b72a25
Merge branch 'master' into play-storyboard-outro 2021-04-15 15:11:35 -04:00
Christine Chen
25b8c2f257 Allow skipping storyboard outro
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed

The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-15 13:20:40 -04:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
5b06a68b93
Merge pull request #12330 from Cublibre/master
Send a warning notification if device is unplugged and at low battery
2021-04-15 19:21:04 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
smoogipoo
1aa36818df Abstractify GameplayClockContainer 2021-04-14 17:47:11 +09:00
Christine Chen
f66306a81a Remove IsLowBattery 2021-04-12 11:15:24 -04:00
Christine Chen
43b97fe0ad Refactor PowerStatus (now called BatteryInfo) 2021-04-12 10:52:52 -04:00
ekrctb
359fae895f Rename property 2021-04-12 18:50:25 +09:00
ekrctb
e19e8ff2a3 Rewrite FramedReplayInputHandler for robustness
This commit changes the semantics of `CurrentFrame` and `NextFrame` of the class.
The ordering of `NextFrame.Time` and `CurrentFrame.Time` was dependent on the current direction.
Now, it should always satisfy `CurrentFrame.Time <= CurrentTime <= NextFrame.Time` except at the start/end.
This change, however, doesn't break existing deriving classes if the template code pattern usage of interpolation is used.
The deriving class code can be simplified due to the elimination of nullable types. I didn't include those changes in this commit.

I removed `StreamingFramedReplayInputHandlerTest` for now, as it is almost-duplicate of `FramedReplayInputHandlerTest`. I'll include more tests in later commits.

This commit fixes #6150.
2021-04-12 16:18:11 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Salman Ahmed
cb947a3b27 Add expected output in test case rather than determining internally 2021-04-11 13:18:25 -04:00
Salman Ahmed
1fd4cb8963
Merge branch 'master' into master 2021-04-11 10:19:16 +03:00
Christine Chen
08311abc5e Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene 2021-04-10 00:00:21 -04:00
Christine Chen
59d13b0dd3 Fixed indentation
sorry about the style fixes... I'm using JetBrains Rider from now on.
2021-04-08 21:53:42 -04:00
Christine Chen
6b6a71d3c3 trim whitespace 2021-04-08 20:39:17 -04:00
Christine Chen
493c095535 Fixed code style 2021-04-08 20:28:23 -04:00
Christine Chen
6bccb3aab6 Use DI to implement battery detection, add BatteryCutoff property
- Removed the Xamarin.Essentials package from osu.Game and added it to osu.iOS and osu.Android only.
- iOS and Android implementations use Xamarin.Essentials.Battery, while the Desktop implementation
only returns 100% battery for now.
- Added a BatteryCutoff property to PowerStatus so it can be different for each platform (default 20%, 25% on iOS)
2021-04-08 19:55:11 -04:00
Dean Herbert
8aff53172d Remove necessity for nested PassThroughInputManger 2021-04-08 15:18:31 +09:00
Christine Chen
0a6baf670e Send a warning notification if device is unplugged and low battery
- Uses Xamarin.Essentials in osu.Game.PlayerLoader to check battery level
- Encapsulated battery checking in the public BatteryManager class so battery level and plugged in status can be accessed and edited in TestPlayerLoader
- When checking battery level, catch NotImplementedException thrown by Xamarin.Essentials.Battery on non-mobile platforms
- Added visual unit tests for battery notification
  To mock battery status and level, we had to define a batteryManager object in TestPlayerLoader and add a new function ResetPlayerWithBattery()

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-07 15:56:50 -04:00
Dean Herbert
beebdb0734 Clean up implementation 2021-04-05 22:30:51 +09:00
smoogipoo
c3c7c18549 Fix tests 2021-04-01 23:48:26 +09:00
smoogipoo
9e95441aa6 Rename Spectator -> SoloSpectator 2021-04-01 22:08:52 +09:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
smoogipoo
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Dean Herbert
a5b3ac7ef8 Add failing test covering alpha commands proceeding non-alpha (but ignored) commands 2021-03-09 15:54:11 +09:00
smoogipoo
ee6a94273d Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-02-22 18:31:27 +09:00
Salman Ahmed
6bac83964a Merge branch 'master' into fix-pofl-on-cooldown 2021-02-22 10:03:27 +03:00
Dean Herbert
d2ec151c67 Add failing test for pausing when pause support is disabled 2021-02-20 14:20:13 +09:00
Salman Ahmed
f6c279ab00 Add assert ensuring player resumed properly 2021-02-19 11:45:45 +03:00
Salman Ahmed
fe5e45ea81 Move gameplay cursor outside instead and fix potential failure 2021-02-19 11:43:33 +03:00
Dean Herbert
52ebe34347 Update TestScenePause exit from fail test to actually fail 2021-02-19 17:26:26 +09:00
Dean Herbert
4c214b74ce Merge branch 'master' into fix-error-exit-during-results-transition 2021-02-19 17:13:55 +09:00
Salman Ahmed
772471a6d8 Add failing test case 2021-02-19 10:46:31 +03:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
Dean Herbert
2e646882fa Merge branch 'master' into non-concurrent-sample-playback 2021-02-15 21:22:21 +09:00
Dean Herbert
9ad38ab20e Move HubClientConnector retrieval to IAPIProvider 2021-02-15 16:43:56 +09:00
Dean Herbert
f664fca0dd Tidy up tests (and remove duplicate with new call logic) 2021-02-15 16:11:17 +09:00
Dean Herbert
4f264758a4 Add test coverage of pause from resume overlay 2021-02-15 15:57:36 +09:00
smoogipoo
c6ed3efa4a Merge branch 'master' into non-concurrent-sample-playback 2021-02-15 14:47:32 +09:00
Dean Herbert
25f5120fdf Add failing test coverage of user pausing or quick exiting during cooldown 2021-02-15 14:36:17 +09:00
Dean Herbert
a4dc544235 Refactor some shared code in TestScenePause 2021-02-15 14:24:08 +09:00
Dan Balasescu
34e600464b
Merge branch 'master' into abstract-hub-connection 2021-02-15 13:53:54 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Salman Ahmed
d3c1b47592 Replace nullable API with null connector instead 2021-02-11 12:34:39 +03:00
Dean Herbert
94f35825dd Update test to cover changed exit/pause logic
I think this makes more sense?
2021-02-09 17:29:30 +09:00
Salman Ahmed
a0ead38496 Prevent test spectator clients from attempting hub connections 2021-02-09 08:02:51 +03:00
Salman Ahmed
f04d6d5e5e Update hub clients with changes to connecotr 2021-02-09 08:02:32 +03:00
Salman Ahmed
f76f92515e Clean up spectator streaming client with new hub connector 2021-02-09 02:15:56 +03:00
Bartłomiej Dach
68c20a2a37 Allow autoplay score generation to access mod list 2021-02-07 18:35:34 +01:00
Mysfit
304264046b Added tests. 2021-01-24 17:46:54 -05:00
Bartłomiej Dach
7abe33ad0e Add failing test case 2021-01-21 00:04:15 +01:00
smoogipoo
8ffbcc9860 Fix test failures and general discrepancies 2021-01-20 14:05:35 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
d023ad8ad1 Remove assert messages 2021-01-15 15:18:29 +09:00
Dean Herbert
51255033e2 Update some missed usages of KeyBindingContainer in tests 2021-01-15 14:57:01 +09:00
Roman Kapustin
0ea4e221b2 Merge branch 'master' into net5.0 2021-01-14 14:02:51 +03:00
mcendu
17abe90c27 move SkinnableHealthDisplay
Similar components are in osu.Game.Screens.Play.HUD while this is not
2020-12-31 20:23:13 +08:00
Dean Herbert
92d74a9343 Fix potential nullref in test scene 2020-12-28 20:48:14 +09:00
Dean Herbert
6254907ef9 Move multiplayer leaderboard test to correct namespace 2020-12-28 20:31:08 +09:00
Dean Herbert
966a2151e3 Ensure the previous leaderboard is removed 2020-12-26 17:55:24 +09:00
Dean Herbert
2599e95335 Add test coverage 2020-12-26 12:11:19 +09:00
Dean Herbert
ff57562956 Fix multiplayer leaderboard not unsubscribing from quit users 2020-12-26 11:35:31 +09:00
Dean Herbert
fa14438671
Merge pull request #11285 from peppy/resort-leaderboard-less
Re-sort the leaderboard order a maximum of once a second
2020-12-25 00:05:13 +09:00
Dean Herbert
d0e8347968 Change asserts into until steps 2020-12-24 22:28:25 +09:00
Dean Herbert
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
Dean Herbert
8ac76bd524
Merge pull request #11199 from smoogipoo/refactor-player-score-creation
Asyncify player score creation and submission
2020-12-20 17:30:11 +09:00
Bartłomiej Dach
f827b6c030 Use terser dictionary initialiser syntax 2020-12-19 21:26:40 +01:00
Bartłomiej Dach
631a0cea41 Fix intended random factor not being random in test 2020-12-19 21:25:04 +01:00
Dean Herbert
b3bff281ce
Merge branch 'master' into spectator-driven-leaderboard 2020-12-20 01:13:59 +09:00
Salman Ahmed
228acf25a7 Add test case creating leaderboard scores with existing users 2020-12-18 13:13:31 +03:00
smoogipoo
2958cab239 Remove GotoRanking 2020-12-18 17:47:33 +09:00
Dean Herbert
470c68d6a5 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:30:21 +09:00
Dean Herbert
668536ce56 Fix vertical size potentially changing during relayout 2020-12-18 17:25:48 +09:00
Dean Herbert
bca4d83af7 Revert previous player add flow via interface 2020-12-18 17:19:55 +09:00
Dean Herbert
5e83605026 Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 17:07:43 +09:00
Dean Herbert
157a72ec5d Revert previous player add flow via interface 2020-12-18 17:07:38 +09:00
Dean Herbert
96f23a1135 Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:56:21 +09:00
Dean Herbert
869cac819d Merge branch 'gameplay-leaderboard-update' into spectator-driven-leaderboard 2020-12-18 16:55:44 +09:00
smoogipoo
2db7433c0b Refactor player score creation and submission process 2020-12-18 16:51:59 +09:00
Dean Herbert
99f2032fdf
Merge branch 'master' into gameplay-leaderboard-update 2020-12-18 16:44:52 +09:00
Dean Herbert
ceb2e4762d Add test covering a more consistent spread of player scores 2020-12-18 16:20:42 +09:00
Salman Ahmed
a8abefcd66 Make GameplayLeaderboardScore a model class 2020-12-18 03:34:33 +03:00
Salman Ahmed
0faf3fdfd3 Update gameplay leaderboard scores with the new design 2020-12-17 15:19:10 +03:00
Dean Herbert
cc3dddf59f Fix test scene crashing on second run of SetUp
Also correctly support LongRunningLoad
2020-12-17 16:02:07 +09:00
Dean Herbert
cda3bd2017 Rename test scene to match tested class name 2020-12-16 16:22:47 +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
c1ba0f4642 Use a local lookup cache for better usernames 2020-12-16 16:20:29 +09:00