Dean Herbert
f493f1c71d
Move new components to v2 namespace
2019-09-24 19:00:26 +09:00
smoogipoo
028c958431
Initial implementation of a switch button
2019-09-24 18:39:11 +09:00
smoogipoo
6b702eb6de
Update with generic labelledcomponent
2019-09-24 18:25:17 +09:00
smoogipoo
5212c50654
Merge branch 'generic-labelledcomponent' into labelled-textbox-improvements
2019-09-24 18:23:01 +09:00
smoogipoo
df692b091c
Make LabelledComponent generic
2019-09-24 18:22:02 +09:00
smoogipoo
4abe0473b9
Fix relative beat length not considering slider multiplier
2019-09-24 16:49:42 +09:00
Dean Herbert
9a6d748498
Merge branch 'master' into add-creator-artist-filters
2019-09-23 12:31:51 +09:00
Dean Herbert
d6ec6b1eda
Merge branch 'master' into labelled-textbox-improvements
2019-09-23 00:39:29 +09:00
Dean Herbert
9fe7675be8
Add a base class for all future labelled components ( #6187 )
...
Add a base class for all future labelled components
2019-09-23 00:38:51 +09:00
Bartłomiej Dach
70842f71f4
Fix floating point handling in filter intervals
...
Due to floating-point rounding and representation errors, filters could
wrongly display results incongruous with the wedge display text (ie.
a beatmap with the BPM of 139.99999 would be displayed as having 140
BPM and also pass the bpm<140 filter).
Apply tolerance when parsing floating-point constraints. The tolerance
chosen is half of what the UI displays for the particular values (so
for example half of 0.1 for AR/DR/CS, 0.01 for stars, etc.)
Tests updated accordingly.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
b262ba13cd
Add creator= and artist= filters
...
To match stable, add creator= and artist= filters to the beatmap
carousel on song select screen. Contrary to stable, this implementation
supports phrase queries with spaces within using double quotes.
The quote handling is not entirely correct (can't nest), but quotes
should rarely happen within names, and it is an edge case of an edge
case - leaving best-effort as is. Test coverage also included.
2019-09-22 00:20:55 +02:00
Bartłomiej Dach
51509f6be0
Add filter steps to carousel visual test
...
Just a couple of steps for added coverage in visual tests. Very
on-the-surface, the unit tests are supposed to cover the gory details.
2019-09-22 00:20:54 +02:00
Bartłomiej Dach
41569fd2b6
Add filter evaluating unit tests
...
Introduce unit tests covering the actual evaluation of filters for
beatmaps. Partially covers most scenarios.
2019-09-22 00:20:54 +02:00
Bartłomiej Dach
d11d932a87
Add filter parsing tests
...
Introduce unit tests covering parsing for the originally introduced
filtering features. The introduced improvements (lower and upper
interval and decimal point support) also tested.
2019-09-22 00:20:54 +02:00
Dean Herbert
db90d211cb
Fix scores importing with deleted beatmap sets ( #6190 )
...
Fix scores importing with deleted beatmap sets
2019-09-22 01:15:22 +09:00
smoogipoo
08440ce5fd
Adjust test to assert that the import failed
2019-09-22 00:59:40 +09:00
smoogipoo
24cc8ce0b7
Fix deleting null beatmap set
2019-09-22 00:59:01 +09:00
Dan Balasescu
73fe402756
Merge branch 'master' into fix-html-unescaping
2019-09-21 12:59:57 +09:00
Lucas A
bbf3ac77f8
Add visual test for HTML string unescaping.
2019-09-20 21:35:26 +02:00
smoogipoo
ff2f3cde02
Add test
2019-09-20 19:53:03 +09:00
smoogipoo
2bbf4ca4b5
Update LabelledTextBox to use LabelledComponent
2019-09-20 18:50:50 +09:00
smoogipoo
e0a97cfac5
Add a LabelledComponent base class
2019-09-20 18:35:15 +09:00
Dean Herbert
a06cb54732
Merge branch 'master' into beatmap-parsing-fallback-v2
2019-09-20 15:28:08 +09:00
Dean Herbert
f306fe27d8
Add test to cover corruption case
2019-09-20 15:05:48 +09:00
dependabot-preview[bot]
f10b390ca0
Bump Microsoft.NET.Test.Sdk from 16.2.0 to 16.3.0
...
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest ) from 16.2.0 to 16.3.0.
- [Release notes](https://github.com/microsoft/vstest/releases )
- [Commits](https://github.com/microsoft/vstest/compare/v16.2.0...v16.3 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-19 16:32:39 +00:00
Dean Herbert
4e9bb7b121
Merge remote-tracking branch 'upstream/master' into hold-to-press-setting
2019-09-19 22:35:18 +09:00
Dean Herbert
23c5cb6367
Expand tests to cover new behaviour
2019-09-19 22:35:14 +09:00
Dean Herbert
0a67d1db1b
Merge pull request #5355 from EVAST9919/songselect-best-user-score
...
Show personal best on song select
2019-09-19 21:17:23 +09:00
Dean Herbert
50d4206c45
Fix exit scenarios
2019-09-19 20:17:58 +09:00
Dean Herbert
ddff9882cf
Fix importing archives which are nested in a single folder within a zip
2019-09-19 19:11:04 +09:00
Dean Herbert
2b6c9aeb26
Move top score container to more local namespace
2019-09-19 15:38:40 +09:00
Dean Herbert
9b35de9ce1
Update tests
2019-09-19 15:23:37 +09:00
Dean Herbert
a7b6895d4c
Revert changes to BeatmapDetailArea
2019-09-19 14:26:15 +09:00
iiSaLMaN
e793854735
Invert BypassFail usage
2019-09-19 08:00:41 +03:00
Dean Herbert
e5509cd390
Rename test
2019-09-19 13:19:48 +09:00
Dean Herbert
2e0a85c2f6
Merge remote-tracking branch 'upstream/master' into songselect-best-user-score
2019-09-19 12:57:30 +09:00
iiSaLMaN
3efcf0493c
Remove redundant using directive
2019-09-18 23:28:48 +03:00
iiSaLMaN
ea6318ed73
Fix failing test
2019-09-18 23:17:24 +03:00
iiSaLMaN
871adb16e0
Add asserts for fail bypassing
2019-09-18 22:51:03 +03:00
Dean Herbert
e17cd9e964
Reduce length of tests
2019-09-18 16:14:31 +09:00
Dean Herbert
77947e8309
Fix rewind tests failing
2019-09-17 22:33:27 +09:00
Dean Herbert
38d85e44be
Merge branch 'master' into key-counter-fixes
2019-09-17 22:33:15 +09:00
Andrei Zavatski
babd34470e
Fix DrawableFlag returns empty texture if there's no flag avaliable for needed country
2019-09-15 02:33:21 +03:00
Bartłomiej Dach
29fcab65f9
Remove superfluous csproj entries
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
86588778b1
Implement fallback decoder registration
...
After the preparatory introduction of LineBufferedReader, it is now
possible to introduce registration of fallback decoders that won't drop
input supplied in the first line of the file.
A fallback decoder is used when the magic in the first line of the file
does not match any of the other known decoders. In such a case,
the fallback decoder is constructed and provided a LineBufferedReader
instance. The process of matching magic only peeks the first non-empty
line, so it is available for re-reading in Decode() using ReadLine().
There can be only one fallback decoder per type; a second attempt of
registering a fallback will result in an exception to avoid bugs.
To address the issue of parsing failing on badly or non-headered files,
set the legacy decoders for Beatmaps and Storyboards as the fallbacks.
Due to non-trivial logic, several new, passing unit tests with possible
edge cases also included.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
11eda44d34
Migrate decoding to line-buffered reader
...
Migrate all usages of StreamReader in the context of decoding beatmaps,
storyboards or skins to the new LineBufferedReader.
2019-09-15 01:28:07 +02:00
Bartłomiej Dach
7b1ff38df7
Implement line-buffered reader
...
Add a line-buffered reader decorator operating on StreamReader
instances. The decorator has two main operations - PeekLine(), which
allows to see the next line in the stream without consuming it,
ReadLine(), which consumes and returns the next line in the stream, and
ReadToEnd() which reads all the remaining text in the stream (including
the unconsumed peeked line). Peeking line-per-line uses an internal
queue of lines that have been read ahead from the underlying stream.
The addition of the line-buffered reader is a workaround solution to
a problem with decoding. At current selecting a decoder works by
irreversibly reading the first line from the stream and looking for
a magic string that indicates the type of decoder to use.
It might however be possible for a file to be valid in format, just
missing a header. In such a case a lack of a line-buffered reader makes
it impossible to reparse the content of that first line. Introducing it
will however allow to peek the first line for magic first.
- If magic is found in the first line, GetDecoder() will peek it and
use it to return the correct Decoder instance. Note that in the case
of JsonBeatmapDecoder the magic is the opening JSON object brace,
and therefore must not be consumed.
- If magic is not found, the fallback decoder will be able to consume
it using ReadLine() in Decode().
This commit additionally contains basic unit tests for the reader.
Suggested-by: Aergwyn <aergwyn@t-online.de>
2019-09-15 01:26:15 +02:00
Dean Herbert
2cd3657b5e
Merge branch 'master' into beatmap-video
2019-09-13 23:08:57 +09:00
Dean Herbert
9e53c091a3
Merge pull request #6095 from peppy/fix-test-dummy-api
...
Fix incorrect DI usage of IAPIProvider in many tests
2019-09-13 22:22:07 +09:00
Dan Balasescu
b10ce0b12d
Merge branch 'master' into key-counter-fixes
2019-09-13 19:43:33 +09:00
Andrei Zavatski
437e121056
Merge remote-tracking branch 'refs/remotes/ppy/master' into beatmap-video
2019-09-13 13:39:58 +03:00
Dean Herbert
a7c59098ce
Fix missing assignment
2019-09-13 17:38:04 +09:00
Dean Herbert
7cb79dd760
Fix incorrect DI usage of IAPIProvider in many tests
2019-09-13 17:15:33 +09:00
Andrei Zavatski
9a9654dbd1
Fix the Test Scene
2019-09-13 10:59:09 +03:00
Andrei Zavatski
c9ae4336f9
Fix RankingsScope test
2019-09-13 10:50:26 +03:00
Andrei Zavatski
51f17ccb1b
Remove test duplicate
2019-09-13 10:48:02 +03:00
Andrei Zavatski
cb98b07e33
Merge master with conflicts resolved
2019-09-13 10:45:01 +03:00
Dean Herbert
ffd205f470
Merge remote-tracking branch 'upstream/master' into pr/EVAST9919/6076
2019-09-13 16:25:30 +09:00
Dean Herbert
c4f9be5913
Merge pull request #6093 from smoogipoo:fix-player-restart
...
Fix player not correctly restarting after an unpause
2019-09-13 16:09:41 +09:00
Dean Herbert
a05ae2c1b2
Merge remote-tracking branch 'upstream/master' into pr/EVAST9919/6082
2019-09-13 15:53:11 +09:00
smoogipoo
cf2f841b4d
Fix player not correctly exiting after an unpause
2019-09-13 15:42:58 +09:00
Dean Herbert
44947aa9ed
Make PopupDialog abstract
2019-09-13 15:27:29 +09:00
Andrei Zavatski
5a72083c13
Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-title
2019-09-13 08:32:06 +03:00
Andrei Zavatski
99fc13b4d8
Update usage of the DismissableFlag
2019-09-12 19:34:58 +03:00
Andrei Zavatski
0142fcd07a
Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-title
2019-09-12 19:29:05 +03:00
Andrei Zavatski
7ee01ee323
Use assignment instead of binding
2019-09-12 18:11:48 +03:00
Andrei Zavatski
4dd819c150
Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-scope-selector
2019-09-12 17:17:32 +03:00
Andrei Zavatski
cafb5105bc
Rename HeaderFlag to DismissableFlag
2019-09-12 16:44:15 +03:00
Dean Herbert
2cb084666b
Merge branch 'master' into rankings-scope-selector
2019-09-12 22:37:14 +09:00
Dean Herbert
5f77236c01
Merge branch 'master' into closable-flag
2019-09-12 22:27:34 +09:00
Dean Herbert
68feedbd15
Fix unreported CI issue
2019-09-12 18:46:42 +09:00
Dean Herbert
09a0c9f4d2
Add key counter rewind tests
2019-09-12 18:10:50 +09:00
Dean Herbert
0cdf125c1e
Handle key counter rewinding in a better way
...
Use ElapsedFrameTime rather than storing state data
2019-09-12 15:42:14 +09:00
Dean Herbert
158737e001
Remove FadeTime customisation
...
Also adjusts fade transitions to feel better, especially in fast forward scenarios.
2019-09-12 14:27:29 +09:00
Andrei Zavatski
acdd26422d
Implement Spotlights logic
2019-09-12 06:36:17 +03:00
Andrei Zavatski
0c6c8fdcd0
Implement RankingsHeader component
2019-09-12 05:53:18 +03:00
Andrei Zavatski
b657e31f93
Merge dependent changes
2019-09-12 05:26:10 +03:00
Andrei Zavatski
4bfb681db6
CI fixes
2019-09-12 05:16:56 +03:00
Andrei Zavatski
581508b8e7
Implement RankingsRulesetSelector
2019-09-12 05:06:51 +03:00
Andrei Zavatski
dbfbd1262f
Implement HeaderTitle component for RankingsOverlay
2019-09-11 23:39:22 +03:00
Andrei Zavatski
eee1cad760
Merge remote-tracking branch 'refs/remotes/origin/closable-flag' into rankings-title
2019-09-11 23:01:38 +03:00
Andrei Zavatski
41ad44791b
Move RankingsScopeSelector to another namespace
2019-09-11 11:58:18 +03:00
Andrei Zavatski
d610c90371
Add more tests
2019-09-11 10:43:51 +03:00
Andrei Zavatski
95828b07ef
Implement HeaderFlag component for rankings overlay
2019-09-11 10:40:58 +03:00
Andrei Zavatski
1969c5b89b
Apply suggetsted changes
2019-09-10 16:36:05 +03:00
Andrei Zavatski
6c2db8e4b0
Merge remote-tracking branch 'refs/remotes/ppy/master' into rankings-scope-selector
2019-09-10 16:33:08 +03:00
Dan Balasescu
4910c23482
Merge branch 'master' into show-beatmap-not-selected-in-leaderboards
2019-09-10 17:43:42 +09:00
Dan Balasescu
b4f5f902eb
Merge branch 'master' into use-test-working-beatmap-in-details-area-tests
2019-09-10 17:24:25 +09:00
Andrei Zavatski
03bd7ca8e7
Implement RankingsScopeSelector
2019-09-10 04:20:32 +03:00
iiSaLMaN
22fabef344
Use TestWorkingBeatmap in BeatmapDetailsArea tests
2019-09-09 19:52:31 +03:00
Dean Herbert
c6b8f2db77
Update historic licence header
2019-09-06 19:05:50 +09:00
Dean Herbert
374479f837
Add truncatino of long usernames in chat
2019-09-06 19:00:57 +09:00
Dean Herbert
b89fb5cdf7
Fix failing test
2019-09-06 16:51:30 +09:00
Dean Herbert
6ce36bd39e
Merge branch 'master' into stop-counting-to-score-after-fail
2019-09-06 16:12:53 +09:00
Dean Herbert
f925e781a9
Refactor HitWindows for legibility
2019-09-06 15:24:14 +09:00
Dean Herbert
9d0151f19f
Merge pull request #5969 from peppy/skin-configuration-refactor
...
Refactor skin configuration lookups to be more flexible
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2019-09-05 17:28:37 +09:00
Dan Balasescu
f729282c73
Merge branch 'master' into skin-configuration-refactor
2019-09-05 16:56:05 +09:00
smoogipoo
8e204ba2e9
Refactor tests
2019-09-05 16:55:28 +09:00
smoogipoo
bda21998c4
Add helper method to make direct casts be used
2019-09-05 16:48:56 +09:00
Dean Herbert
a1d7291ffa
Fix pause menu keyboard navigation being affected by initial cursor hover
2019-09-05 16:31:10 +09:00