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
Dean Herbert
c0bcbfd892
Merge branch 'master'
...
Conflicts:
osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs
2019-09-05 14:40:30 +09:00
Dean Herbert
4df6bd5477
Merge branch 'master' into use-dummy-api-for-overall-tests
2019-09-05 14:27:01 +09:00
Dean Herbert
f7e417de02
Add test for changing of a source ( #5968 )
...
Add test for changing of a source
2019-09-05 14:06:25 +09:00
iiSaLMaN
a1c580f27e
Create "none selected" placeholder state
2019-09-05 05:56:21 +03:00
Dan Balasescu
1aead3cda8
Merge branch 'master' into brace-escaping-in-links
2019-09-04 13:57:39 +09:00
Dean Herbert
2983918f71
Merge remote-tracking branch 'upstream/master' into skin-configuration-refactor
2019-09-04 13:40:41 +09:00
Dean Herbert
8d48cc3533
Fix filename
2019-09-04 13:40:36 +09:00
Dean Herbert
fb3d050209
Add comprehensive configuration lookup tests
2019-09-04 13:36:50 +09:00
Dean Herbert
7cbcc7b906
Further test refactors
2019-09-04 11:36:09 +09:00
Dean Herbert
1802d2efaf
Merge remote-tracking branch 'upstream/master' into fix-gameplay-menu-button-hover-ani
2019-09-04 10:35:14 +09:00
Dean Herbert
5c10a22877
Update tests to use [Test] attributes
2019-09-04 10:34:56 +09:00
Joehu
9ec16bc2b2
Add test for initial button hover
2019-09-03 16:56:45 -07:00
Bartłomiej Dach
08350a1aca
Add parenthesis handling to old link format
...
Allow users to put both balanced round parentheses, as well as
unbalanced escaped ones, in old style link text. The implementation
is the same as for Markdown and new style links, except for swapping
all instances of
\[\]
to
\(\)
for obvious reasons (different type of parenthesis requiring escaping).
Tests also included.
2019-09-04 00:21:27 +02:00
Bartłomiej Dach
f04add6d9e
Add bracket handling to Markdown link format
...
Allow users to put both balanced brackets, as well as unbalanced
escaped ones, in Markdown link text. The implementation is the exact
same as in the case of new format links.
For completion's sake, tests also included.
2019-09-04 00:07:00 +02:00
Bartłomiej Dach
a8f16503e2
Add backslash escaping to new link format
...
For users to be able to add square brackets inside of links using
the new format, the regular expression used for parsing those links
contained a balancing group, which can be used for matching pairs
of tokens (in this case, opening and closing brackets, in that order).
However, this means that users could not post links with unmatched
brackets inside of them (ie. ones that contain single brackets, or
a closing bracket and then an opening one). Allow for escaping opening
and closing brackets using the backslash character.
The change substitutes this old fragment of the regex in the display
text group:
[^\[\]]* // any character other than closing/opening bracket
for this one:
(((?<=\\)[\[\]])|[^\[\]])*
The second pattern in the alternative remains the same; the first one
performs the escaping, as follows:
(
(?<=\\) // positive lookbehind expression:
// this match will succeed, if the next expression
// is preceded by a single backslash
[\[\]] // either an opening or closing brace
)
Since the entire display group is matched, unfortunately the lookbehind
expression does not actually strip the backslashes, so they are
manually stripped in handleMatches.
As demonstrated in the unit tests attached, this also allows balanced
brackets to be mixed with escaped ones.
2019-09-03 23:18:39 +02:00
Dean Herbert
53fe290ef3
Merge branch 'master' into back-button-part-2
2019-09-03 19:44:30 +09:00
Dean Herbert
343af28ed5
Add extra legacy skin parsing tests
2019-09-03 18:59:23 +09:00
Dean Herbert
2f74ef5131
Add test for changing of a source
2019-09-03 18:22:51 +09:00
Dean Herbert
bebc3309ce
Refactor skin configuration to be infinitely extensible
2019-09-03 17:57:34 +09:00
Dean Herbert
05ed9d3802
Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements
2019-09-03 13:07:58 +09:00
smoogipoo
ec8726e163
Merge remote-tracking branch 'origin/master' into background-beat
2019-09-03 11:35:20 +09:00
jorolf
3b769128a8
Add a 60bpm beat when no beatmap is playing
2019-09-03 00:57:29 +02:00
Joehu
3d1f051437
Move hover tests after key tests
2019-09-02 11:13:34 -07:00
Dean Herbert
09097f7680
Merge branch 'master' into iskincomponent
2019-09-02 22:38:57 +09:00
Dean Herbert
1e7528c2b3
Merge remote-tracking branch 'upstream/master' into non-timeoffset-judgements
2019-09-02 19:13:00 +09:00
smoogipoo
0c73c5acf3
Expose full hitobject rather than hit windows
2019-09-02 17:14:40 +09:00
Dean Herbert
d21d68b36c
Refactor to match web implementation 1:1
2019-09-02 17:04:38 +09:00
smoogipoo
f2bdf94a1d
Add HitWindows to JudgementResult to indicate timing errors
2019-09-02 16:28:14 +09:00
Dean Herbert
0985b1679f
Move enum to response class
2019-09-02 15:57:55 +09:00
Dean Herbert
3d551b08a9
Rename legacy actions
2019-09-02 15:57:23 +09:00
Dean Herbert
13fadec6ec
Merge remote-tracking branch 'upstream/master' into kudosu-info
2019-09-02 15:25:41 +09:00
Dean Herbert
f9fcf1562f
Merge remote-tracking branch 'upstream/master' into iskincomponent
2019-09-02 14:21:02 +09:00
Dean Herbert
043034a6ce
Merge remote-tracking branch 'upstream/master' into beatmapset-genre-language
2019-09-02 13:45:25 +09:00
Andrei Zavatski
264441d90c
Fix broken test
2019-08-31 02:42:26 +03:00
dependabot-preview[bot]
2876588193
Bump NUnit3TestAdapter from 3.15.0 to 3.15.1
...
Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter ) from 3.15.0 to 3.15.1.
- [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases )
- [Commits](https://github.com/nunit/nunit3-vs-adapter/compare/V3.15...V3.15.1 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-30 13:36:31 +00:00
Dean Herbert
8f5dc06d55
Merge remote-tracking branch 'upstream/master' into accuracy-bar
2019-08-30 20:18:25 +09:00
smoogipoo
6fb8a6cdbe
Fix testcases not working for OD10
2019-08-30 19:53:38 +09:00
smoogipoo
8b4976ad92
Remove unnecessary intermediate OD tests
2019-08-30 19:53:38 +09:00
Dean Herbert
8fc177b743
Fix namespacing and hitwindow source
2019-08-30 18:46:42 +09:00
Dean Herbert
741bd0a5cf
Fix incorrect colour sizes and simplify alignment specification
2019-08-30 18:35:17 +09:00
Dean Herbert
54696eef39
Reverse display, add animation and reduce width
2019-08-30 17:06:23 +09:00
Dean Herbert
5f3e638499
Make test useful
2019-08-30 16:40:24 +09:00
Andrei Zavatski
b7a75ef5e1
Merge remote-tracking branch 'refs/remotes/ppy/master' into kudosu-info
2019-08-30 10:09:00 +03:00
Dean Herbert
bdbfa7bd2f
Fix class naming
2019-08-30 15:32:47 +09:00
Dean Herbert
1d77e3764d
Merge branch 'master' into accuracy-bar
2019-08-30 15:21:32 +09:00
Dean Herbert
a15828ab25
Introduce the concept of SkinComponents
...
Removes reliance on string lookups and better defines elements for introduction into database
2019-08-30 14:55:52 +09:00
Dean Herbert
dc1046bf0c
Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin
2019-08-30 12:53:05 +09:00
smoogipoo
6ab2b20c70
Add an interface for working beatmaps
2019-08-29 19:38:44 +09:00
StanR
d303083179
Update to match api
2019-08-29 12:29:31 +03:00
Dean Herbert
98626018fd
Encapsulate editor hitobject additions/removals ( #5878 )
...
Encapsulate editor hitobject additions/removals
2019-08-29 18:20:24 +09:00
smoogipoo
7927b684d3
Hook up + use editor beatmap
2019-08-29 16:06:40 +09:00
StanR
3347ee8170
Merge branch 'master' into beatmapset-genre-language
2019-08-29 09:57:53 +03:00
Dean Herbert
ecfcbe3723
Merge remote-tracking branch 'upstream/master' into relative-beat-lengths
2019-08-28 20:21:56 +09:00
Dean Herbert
b1f523dae3
Merge remote-tracking branch 'upstream/master' into kudosu-info
2019-08-28 17:13:57 +09:00
Dean Herbert
7ea55a5cdd
Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin
2019-08-28 16:36:20 +09:00
iiSaLMaN
18431a42e6
Resolve merge conflicts
2019-08-27 20:06:17 +03:00
Andrei Zavatski
7f0a4fbef9
Merge remote-tracking branch 'refs/remotes/ppy/master' into kudosu-info
2019-08-27 15:11:55 +03:00
Dean Herbert
7ccc409df7
Merge remote-tracking branch 'upstream/master' into add-ruleset-legacy-skin
2019-08-27 18:27:26 +09:00
smoogipoo
9e926d44c0
Obsolete legacy UpdateState() method
2019-08-27 16:09:47 +09:00
Dean Herbert
66223b9954
Merge branch 'master' into allow-fallback-to-samples-without-bank
2019-08-27 14:44:16 +09:00
Dean Herbert
7885c79467
Make bindables private
2019-08-27 14:31:34 +09:00
Dean Herbert
69145eb83a
Merge branch 'master' into select-filters-persistence
2019-08-27 14:12:59 +09:00
smoogipoo
fb8b5ee106
Add test
2019-08-26 16:31:46 +09:00
Dean Herbert
6e3a63dae8
Update tests
2019-08-26 12:31:51 +09:00
Dean Herbert
524547adbf
Merge branch 'master' into implement-grouped-difficulty-icons
2019-08-24 17:34:58 +09:00
Dean Herbert
67419aaf36
Merge branch 'master' into wrap-difficulty-icons-for-beatmap-set-overlay
2019-08-24 13:44:43 +09:00
iiSaLMaN
830ddd6ed9
Use all rulesets for many difficulties test
2019-08-24 01:31:53 +03:00
iiSaLMaN
8584d3ba23
Add many difficulties beatmap direct panel to the tests
2019-08-24 00:31:36 +03:00
iiSaLMaN
67acf20805
Add test beatmap set with many difficulties
2019-08-23 18:31:53 +03:00
dependabot-preview[bot]
72a644996c
Bump NUnit3TestAdapter from 3.14.0 to 3.15.0
...
Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter ) from 3.14.0 to 3.15.0.
- [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases )
- [Commits](https://github.com/nunit/nunit3-vs-adapter/compare/V3.14...V3.15 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-08-23 13:41:27 +00:00
iiSaLMaN
94b5caf740
Fix build issues
2019-08-23 15:18:56 +03:00
iiSaLMaN
d8535574d1
Pass sample info to Skin.GetSample
2019-08-23 14:32:43 +03:00
Lucas A
6ea10ada34
Fix visual tests.
2019-08-23 13:31:45 +02:00
Andrei Zavatski
f4d2bb036b
Expand KudosuAction list
2019-08-22 16:50:54 +03:00
Dean Herbert
8018aba852
Merge branch 'master' into kudosu-info
2019-08-22 14:30:26 +09:00
Andrei Zavatski
336f979480
Merge remote-tracking branch 'refs/remotes/ppy/master' into accuracy-bar
2019-08-21 09:39:28 +03:00
Dean Herbert
fd26ef739a
Merge remote-tracking branch 'upstream/master' into back-button-part-2
2019-08-21 15:23:54 +09:00
Dean Herbert
48716f8f2b
Update framework
2019-08-21 13:29:50 +09:00
Andrei Zavatski
c4344f3f7c
CI fixes
2019-08-20 15:29:32 +03:00
Andrei Zavatski
832b365bd0
Add testing
2019-08-20 15:17:31 +03:00
Andrei Zavatski
9f64e09625
Move HitErrorDisplayOverlay back to the HUD
2019-08-20 08:45:51 +03:00
Andrei Zavatski
d337f9b482
DefaultHitErrorDisplay -> BarHitErrorDisplay
2019-08-20 08:03:17 +03:00
Andrei Zavatski
50c47568e4
Don't present Meh hit windows if it has no value
2019-08-19 22:45:27 +03:00
Andrei Zavatski
1bff103d32
CI fixes
2019-08-19 21:25:14 +03:00
Andrei Zavatski
6d84523bc0
Add testing
2019-08-19 21:10:12 +03:00
Dean Herbert
3949d46383
Add test fix to other test
2019-08-16 13:46:08 +09:00
Dean Herbert
ff601eefe6
Fix failing test
2019-08-16 13:21:28 +09:00
Dean Herbert
ef5ed915e5
Reduce delay for hold-to-confirm controls
2019-08-15 17:14:00 +09:00
David Zhao
480e489c44
add back missing loaded check
2019-08-14 12:51:43 +09:00
Dean Herbert
5886420a5d
Merge branch 'master' into back-button-part-2
2019-08-13 21:38:31 +09:00
Dean Herbert
8ce2c876bf
Merge branch 'master' into multi-room-update
2019-08-13 21:03:03 +09:00
smoogipoo
7c9c9f1ce1
Simplify caching
2019-08-13 17:38:21 +09:00
smoogipoo
2b155e5407
Merge remote-tracking branch 'origin/master' into multi-room-update
2019-08-13 17:03:44 +09:00