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

1047 Commits

Author SHA1 Message Date
Dean Herbert
0d283aa6a3 Expose LocalUserPlaying from Player 2021-08-17 16:16:49 +09:00
Dean Herbert
8555a465ac
Merge pull request #14318 from bdach/editor-colours-save
Add support for saving edited combo colours and displaying them in composer
2021-08-16 17:07:53 +09:00
Salman Ahmed
9d99741663 Add failing test case 2021-08-16 06:56:59 +03:00
Bartłomiej Dach
6108451449
Retrieve separated skin instance from working beatmap for editing 2021-08-15 21:18:09 +02:00
Dean Herbert
e84224f64c Rename AddPlayer method now that there's no conflict 2021-08-12 16:20:37 +09:00
Dean Herbert
68dbbc17e8 Add support for automatic scrolling in gameplay leaderboard 2021-08-12 16:20:37 +09:00
Dean Herbert
f4591b01d7 Add test step to show leaderboard in expanded state by default 2021-08-12 15:21:00 +09:00
Dean Herbert
9b9dacf3fe Update usages of Drawable.Click() 2021-08-04 17:30:33 +09:00
smoogipoo
11b9ba86cb Fix TestSceneSpectator reusing cached spectator client 2021-08-03 18:28:08 +09:00
Salman Ahmed
6b8de2a10b Add test coverage for excluded cases in score submission 2021-07-11 03:35:35 +03:00
Dean Herbert
6ae631b03a Remove previous seek testing logic from common test scene 2021-07-09 16:52:03 +09:00
Dean Herbert
9083b28114 Add test coverage of seeking and pausing 2021-07-09 14:47:11 +09:00
Dean Herbert
e612d7568c
Merge pull request #13771 from LumpBloom7/volume-meter-switch
Add ability to navigate between volume meters via Alt+Left/Right arrows
2021-07-07 21:50:44 +09:00
Dan Balasescu
09a5516cc6
Merge pull request #13811 from smoogipoo/remove-unused-using
Remove unused usings
2021-07-07 16:30:07 +09:00
Dan Balasescu
05c4e0254b
Merge pull request #13796 from peppy/fix-skin-providing-container
Rewrite `SkinProvidingContainer`
2021-07-07 15:43:24 +09:00
smoogipoo
faf95c7161 Remove unused usings 2021-07-07 15:35:14 +09:00
Dean Herbert
35672f372a Shorten test beatmap to avoid timeouts in score submission test 2021-07-07 14:58:01 +09:00
Derrick Timmermans
4451598bcf
Fix remaining quality complaints 2021-07-06 15:17:19 +02:00
Derrick Timmermans
ffe18ebe51
Resolve build errors 2021-07-06 14:11:46 +02:00
Dean Herbert
d75d67577a Fix regressed tests 2021-07-06 17:37:34 +09:00
Derrick Timmermans
d495196b66
Share item cycling logic with GameplayMenuOverlay 2021-07-05 19:22:55 +02:00
PercyDan54
e1c646b9b2
Remove redundant arguments 2021-07-05 23:52:39 +08:00
Bartłomiej Dach
19f02dc3d9 Ensure tests with no token have at least one hit
Because submission can be prevented by both not having been issued a
correct submission token, and by not actually registering any hits in
gameplay, ensure that tests that don't receive a token register at least
one hit, to avoid potentially having test cases that test the "no token"
flow pass erroneously because they never had any hits in the first
place.
2021-07-04 14:34:52 +02:00
Dean Herbert
2a74b1c539 Add test coverage of new scenarios 2021-07-04 17:27:02 +09:00
Dean Herbert
30467191b2 Remove local handling of NoFail addition 2021-07-02 14:21:48 +09:00
Dean Herbert
a6323b7d87 Use APIException 2021-07-01 17:54:59 +09:00
Dean Herbert
74c63e15be Mark score failed on fail and exit 2021-07-01 17:48:09 +09:00
Dean Herbert
6e8d4e382e Add test coverage of token failure scenarios 2021-07-01 17:20:40 +09:00
Dean Herbert
397d2491b3 Update test scenes to actually cover submission logic 2021-07-01 16:55:44 +09:00
Dean Herbert
4a54e7cdb8 Add tests covering score preparation flow 2021-06-30 20:23:24 +09:00
smoogipoo
8e04d73b67 Merge branch 'rework-multiplayer-test-scenes' into spectator-start-at-end-2 2021-06-29 17:06:57 +09:00
smoogipoo
bcdf36e77b Merge branch 'master' into spectator-start-at-end-2 2021-06-29 15:53:58 +09:00
smoogipoo
7aefbe3da1 Move UserLookupCache inside dependencies 2021-06-25 17:37:02 +09:00
Salman Ahmed
37f7486fb1 Fix potential null reference in LINQ method 2021-06-22 12:25:29 +03:00
Salman Ahmed
31cbb36a64 Implement FindProvider and AllSources properly on all test ISkinSources 2021-06-22 12:03:14 +03:00
Dean Herbert
0ad189e357 Expose skin sources via ISkinSource and revert to consuming based on hierarchy 2021-06-22 16:19:55 +09:00
Dean Herbert
1b0aadcc6f Merge branch 'master' into transformers-per-skin 2021-06-22 16:03:15 +09:00
Dean Herbert
246ab41cc6 Remove special casing for user exit during storyboard outro 2021-06-17 18:11:15 +09:00
smoogipoo
58d71e4aea Remove local "next frame" storage 2021-06-10 22:41:38 +09:00
Salman Ahmed
6538d44708 Make SkinProvidingContainer able to perform lookup on multiple skins
Currently `protected` functionality for use in custom `SkinProvidingContainer`s, can be exposed to public constructors if it need to later on, but I'm not sure about doing that opposed to just nesting multiple `SkinProvidingContainer`.
2021-06-09 22:49:31 +03:00
Salman Ahmed
cf40282f1f Convert LegacySkinTransformers to accept raw ISkins rather than a full ISkinSource 2021-06-09 22:49:31 +03:00
smoogipoo
c8e14d7710 Ignore non-scorable and bonus judgements 2021-06-08 23:09:23 +09:00
Dean Herbert
6017ef3825
Merge branch 'master' into fix-skin-sample-lookup 2021-06-08 17:37:36 +09:00
Dan Balasescu
791855dfa0
Merge branch 'master' into legacy-skin-default-fallback 2021-06-08 16:54:26 +09:00
Bartłomiej Dach
1b4771655a Adjust test scene to avoid cross-test interference
* Move steps from ctor to a separate basic test.
* Wait for barrage to complete in basic test, as not doing so polluted
  state of other tests.
* Reset score processor after every test.
2021-06-07 13:16:07 +02:00
Bartłomiej Dach
37d062c7cd Add failing assertions to hit error meter test 2021-06-07 13:16:07 +02:00
Bartłomiej Dach
122a624b7f Remove bogus CatchHitWindows
`CatchHitWindows` were a vestige from the past, and were not actually
used anywhere except for the hit error meter test, giving off an
appearance that the hit error meter was working properly.
`CatchHitObject` actually specifies empty hit windows.
2021-06-07 13:16:07 +02:00
Dean Herbert
d26c9a66c2 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-06-07 12:01:19 +09:00
Dean Herbert
06275a6a7d Merge branch 'master' into legacy-skin-default-fallback 2021-06-04 16:00:30 +09:00
smoogipoo
c3280083a2 Merge branch 'master' into fix-spectator-frame-conversion 2021-06-03 17:42:01 +09:00
smoogipoo
3bc81fbb06 Fix spectator tests 2021-06-03 17:27:24 +09:00
smoogipoo
420df124b5 Add framestable-bypassing seek for spectator 2021-06-03 17:27:21 +09:00
Dan Balasescu
44b1102241
Merge branch 'master' into autoplay-pause-support 2021-06-03 13:26:00 +09:00
Dan Balasescu
c065f761c7
Merge branch 'master' into legacy-skin-default-fallback 2021-06-02 19:08:52 +09:00
Dean Herbert
5366e7f61e
Merge branch 'master' into remove-hud-component-lookup 2021-06-02 16:10:06 +09:00
Dean Herbert
f8ae70e562 Update existing function type rather than adding an override 2021-06-02 16:04:53 +09:00
Dean Herbert
45984f035b Make autoplay tests test via the ReplayPlayer code path 2021-06-02 11:49:06 +09:00
Salman Ahmed
cb38abab35 Add local logic for creating default/legacy implementation based on cell skin 2021-06-01 10:17:01 +03:00
Salman Ahmed
cd8e3f3a04 Revert "Group all skinnable test scenes to one TestSceneSkinnableHUDComponents"
This reverts commit d1272d5e13.
2021-06-01 09:57:43 +03:00
Dean Herbert
00b3eea840 Merge branch 'legacy-skin-default-fallback' into fix-skin-sample-lookup 2021-05-31 21:39:04 +09:00
Dean Herbert
3ff9f9c89d Make FindProvider non-default 2021-05-31 21:29:47 +09:00
smoogipoo
c787c008a5 Fix test potentially not waiting for player to load 2021-05-31 20:21:26 +09:00
Dean Herbert
de0e51a81d Merge branch 'master' into fix-skin-sample-lookup 2021-05-31 15:27:39 +09:00
Salman Ahmed
02d18c7a49 Merge branch 'master' into remove-hud-component-lookup 2021-05-31 09:23:04 +03:00
ekrctb
771f3c48c0 Add failing test showing lifetime not recomputed with pooled objects 2021-05-31 14:48:52 +09:00
Dean Herbert
dac1a98d8a Merge branch 'master' into fix-skin-sample-lookup 2021-05-30 15:19:47 +09:00
Salman Ahmed
200fecc774 Fix missing using directive 2021-05-29 21:22:39 +03:00
Salman Ahmed
42618c713f
Merge branch 'master' into legacy-beatmap-skin-hud-fallback 2021-05-29 20:56:05 +03:00
Dean Herbert
951fc5ef6e Remove misleading comment and misplaced bug fix
This shouldn't be fixed in a test scene; the underlying issue should be
fixed in actual game code.
2021-05-29 15:39:13 +09:00
Dean Herbert
9b239e308b Merge branch 'master' into beatmap-skin 2021-05-29 15:36:43 +09:00
Dean Herbert
6268bbea85 Merge branch 'master' into fix-skin-sample-lookup 2021-05-28 14:47:35 +09:00
Dan Balasescu
1a0ace8d58
Merge branch 'master' into fix-slow-load-test-failure 2021-05-27 23:15:42 +09:00
Dean Herbert
bcf1e3db1e Fix test failures in TestSceneStoryboardWithOutro
Test was not accounting for the fact that the results may not have
loaded in time.
2021-05-27 19:45:55 +09:00
Dean Herbert
c39ea85701 Fix TestSceneSkinnableSound not doing DI correctly 2021-05-27 15:42:25 +09:00
Dean Herbert
70a844ac10 Remove allowFallback parameters completely 2021-05-27 14:50:42 +09:00
Dean Herbert
8e923a5d8f Instantiate immediately, rather than waiting for instantiation 2021-05-26 22:24:51 +09:00
Dean Herbert
878079d3d7 Fix correct beatmap not being set if running test alone 2021-05-26 19:08:00 +09:00
Dean Herbert
a77de24746 Fix SlowLoadPlayer potentially not being instantiated in time for test 2021-05-26 18:58:18 +09:00
Dean Herbert
14a4095140 Merge branch 'master' into beatmap-skin 2021-05-26 18:39:47 +09:00
Salman Ahmed
afb33f1641 Remove no longer necessary test case 2021-05-21 20:21:50 +03:00
Salman Ahmed
c0dfe37965 Remove unused using directive 2021-05-20 21:08:36 +03:00
Salman Ahmed
eaae9a1b67 Remove unrequired null conditional 2021-05-20 21:08:31 +03:00
Salman Ahmed
262a27610c Improve components assertion logic 2021-05-20 20:47:40 +03:00
smoogipoo
9d07749959 Improve implementation of TestSpectatorClient
There was a lot of weirdness here, such as storing the playing users,
clearing the playing users from test scenes (!!), and storing the users
being wathed.
This was all a thing because the previous implementation overrode the
base method implementations, which is no longer a thing.
2021-05-20 17:41:46 +09:00
smoogipoo
6beeb7f7c4 Rename SpectatorStreamingClient -> SpectatorClient 2021-05-20 15:55:07 +09:00
Salman Ahmed
97c8499884 Add test coverage 2021-05-19 23:01:41 +03:00
Salman Ahmed
71da960000 Extract assert step addition out of assertion method 2021-05-19 22:53:22 +03:00
Salman Ahmed
21ca9c8431 Merge branch 'master' into beatmap-skin 2021-05-19 22:39:32 +03:00
Salman Ahmed
6fc06a10a1 Add extensible test scene for beatmap skins fallback instead 2021-05-19 21:52:29 +03:00
Salman Ahmed
d1272d5e13 Group all skinnable test scenes to one TestSceneSkinnableHUDComponents 2021-05-18 12:38:06 +03:00
Dean Herbert
c885ad87d5 Update HitErrorDisplay tests 2021-05-18 15:12:29 +09:00
Dean Herbert
da0913ca2d Make SongProgress a skinnable component 2021-05-17 18:52:56 +09:00
Dean Herbert
c8b7cfc753 Merge branch 'skin-serialisation' into remove-skinnable-hud-classes 2021-05-13 19:05:08 +09:00
Dean Herbert
e0e9106921 Enable autoplay in skin editor tests 2021-05-13 14:55:11 +09:00
Dean Herbert
8b9ac86d4b Merge branch 'master' into skin-serialisation 2021-05-13 12:35:06 +09:00
Dean Herbert
55e1f97f59 Remove unused using statement 2021-05-12 19:06:40 +09:00
Dean Herbert
0a895fff15 Remove remaining test usage of SkinnableXXX HUD components 2021-05-12 18:53:25 +09:00
Dean Herbert
c6f0a6aed3
Merge pull request #12538 from smoogipoo/multiplayer-spectator-screen
Implement the multiplayer spectator screen
2021-05-12 17:24:35 +09:00
smoogipoo
21fc0ba43b Combine test spectator streaming client implementations 2021-05-12 13:05:02 +09:00
Dean Herbert
048677846b Change HealthDisplay to be a CompositeDrawable 2021-05-11 23:10:30 +09:00
Dean Herbert
61ea3f2e64 Remove unnecessary test step creating needless skins 2021-05-11 18:39:15 +09:00
Dean Herbert
2396ba42a6 Change HealthDisplay to be a CompositeDrawable 2021-05-11 18:39:14 +09:00
Dean Herbert
004798d61d Update Legacy components to not require skin in ctor 2021-05-11 18:39:14 +09:00
smoogipoo
10a4a5decb Merge branch 'master' into multiplayer-spectator-screen 2021-05-11 17:33:09 +09:00
Dean Herbert
2ecd638f7f Merge branch 'master' into skin-components-list 2021-05-10 18:13:10 +09:00
Dean Herbert
97e72849af Fix regressed HitErrorDisplay behaviour (and localise binding to meter implementations) 2021-05-10 15:24:13 +09:00
Dean Herbert
3c3500d070 Merge branch 'skin-components-bind-outwards-health' into remove-hud-overlay-unused-pieces 2021-05-10 12:23:18 +09:00
Dean Herbert
1d38fa29b5 Remove unused using statement 2021-05-10 12:23:04 +09:00
Dean Herbert
1bbbe80420 Fix missing instances of HealthProcessor caching 2021-05-10 12:22:24 +09:00
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
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
fb795f6bfd Add initial hook-up to spectator backend 2020-12-16 16:20:29 +09:00
Dean Herbert
88b3bf06e8 Merge branch 'master' into add-bundle-header 2020-12-16 13:40:15 +09:00
Dean Herbert
b5ab400ad7 Fix test filename not matching updated class name 2020-12-15 15:44:43 +09:00
Dean Herbert
8b68ccc0ff Rename class and move inside HUD namespace 2020-12-15 15:34:11 +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
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
53da137425
Merge branch 'master' into net5.0 2020-12-10 17:14:21 +09:00
Dean Herbert
31cfaefdeb Move private functions in line with others 2020-11-30 15:39:43 +09:00
Dean Herbert
809caaa44c Use standard switch syntax (preferred for now) 2020-11-30 15:39:08 +09:00
Dan Balasescu
0c36a3c263
Merge branch 'master' into pool-scrolling 2020-11-30 14:04:54 +09:00
Bartłomiej Dach
9bf70e4e97 Add slider test step for visual inspection purposes 2020-11-28 20:32:08 +01:00
Bartłomiej Dach
8e0f525588 Rewrite existing test scene somewhat 2020-11-28 20:29:35 +01:00
ekrctb
8f5129323d Merge branch 'master' into pool-scrolling 2020-11-27 13:12:05 +09:00
ekrctb
57454bbb1c Remove hitObject argument from OnApply and OnFree 2020-11-27 10:13:05 +09:00
ekrctb
eae33fe74a Fix format 2020-11-26 14:16:33 +09:00
ekrctb
0817dae86c Add failing test to check non-pooled lifetime 2020-11-26 12:35:49 +09:00
ekrctb
ec92545d7a fix indent 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
df3844cdbb Add failing tests for pooling scrolling playfield 2020-11-24 18:56:05 +09:00
Roman Kapustin
1feda1152d Fix InspectCode warnings 2020-11-21 02:06:20 +03:00
Dean Herbert
dd5b90cf6c Add test coverage of animation restarting 2020-11-19 18:08:54 +09:00
Dean Herbert
fe025043bd Make test run multiple times 2020-11-19 17:16:29 +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
smoogipoo
f5e12b9d7c Adjust TestScenePlayerLoader for safety 2020-11-16 23:53:54 +09:00
Bartłomiej Dach
42de4437cc Add failing test case 2020-11-15 19:43:42 +01:00
smoogipoo
b4470b0152 Merge branch 'fix-broken-test' into osu-hitobject-pooling-playfield 2020-11-14 01:50:13 +09:00
smoogipoo
b4d4f5456c Fix broken fail judgement test 2020-11-14 01:49:48 +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
feabca860b Fix sample playback test 2020-11-13 18:35:33 +09:00
smoogipoo
4236dd826d Improve documentation and make abstract again 2020-11-13 14:57:09 +09:00
smoogipoo
5dbbe11fc6 Remove PoolHitObjects, use return value of CreateDrawableRepresentation() instead 2020-11-12 14:04:16 +09:00
smoogipoo
3401b099d4 Add some tests 2020-11-11 18:50:08 +09:00
Joehu
ef3c918a3c Simplify input buttons/keys in tests 2020-11-09 14:18:20 -08:00
Dean Herbert
1e1569eb53 Use int instead of long for user_id fields for now 2020-11-06 12:59:46 +09:00
Dean Herbert
ce1743ab28 Fix missed usage in test scene 2020-11-04 15:35:42 +09:00