1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 07:22:57 +08:00
Commit Graph

546 Commits

Author SHA1 Message Date
Dean Herbert
60f960aafd Fix audio clock breakage. 2017-05-19 22:19:20 +09:00
Dean Herbert
20156d26f9 Don't rely on parent's clock 2017-05-19 22:12:09 +09:00
EVAST9919
6f0e1fccdb moved autosize to ctor and whitespace fix 2017-05-19 16:08:33 +03:00
EVAST9919
b2b299a8c3 Fixed the ability to change visibility even not in replay 2017-05-19 15:54:21 +03:00
Dean Herbert
aef82acb0d Update skip button design 2017-05-19 21:54:14 +09:00
EVAST9919
4d0d27aa88 Merge remote-tracking branch 'refs/remotes/ppy/master' into ingame_options 2017-05-19 15:25:48 +03:00
Dean Herbert
da31d129ee Merge branch 'master' into mania-beatmap-conversion 2017-05-19 18:18:59 +09:00
Dean Herbert
a7d16ac213 Move skip logic to inside SkipButton 2017-05-19 18:18:21 +09:00
smoogipooo
9191c4f3e3 Remove LegacyBeatmapConverter. 2017-05-19 16:31:56 +09:00
smoogipooo
67cf64062a Add flag to determine whether the beatmap requested for conversion is for the current ruleset. 2017-05-19 16:02:40 +09:00
Dean Herbert
bfd37d0350 Fix audio beginning to play when potentially paused due to inactive window
Also removes all usage of Delay() in Player.
Resolves #793.
2017-05-19 13:53:09 +09:00
EVAST9919
91b081f0b2 Change visibility on ctrl+h 2017-05-19 06:41:33 +03:00
EVAST9919
f2af31aceb Naming fixes 2017-05-18 20:21:58 +03:00
EVAST9919
83a89ce22d options -> settings 2017-05-18 11:39:22 +03:00
EVAST9919
d07d94d606 better resizing 2017-05-18 07:09:36 +03:00
EVAST9919
35bc3a42aa Merge remote-tracking branch 'refs/remotes/ppy/master' into ingame_options 2017-05-18 06:36:15 +03:00
EVAST9919
a9f37d3e78 now button can hide content 2017-05-17 17:24:52 +03:00
EVAST9919
a21343da23 CI fixes 2017-05-17 17:14:09 +03:00
EVAST9919
60ed7a2372 fixed license header 2017-05-17 16:54:49 +03:00
EVAST9919
1e029d05a8 Added bindable to adjust playback speed 2017-05-17 16:10:49 +03:00
Dean Herbert
41c252760d Move all pause logic into PauseContainer 2017-05-17 21:57:01 +09:00
EVAST9919
0867ef814c Visible only in replay 2017-05-17 15:54:12 +03:00
EVAST9919
e0625a9b30 More overlays and overall fixes 2017-05-17 15:39:26 +03:00
Dean Herbert
88a70e407c Fix and simplifty pause logic
Resolves #770
2017-05-17 20:11:41 +09:00
EVAST9919
1a4025ab3c ingame options basic logic 2017-05-17 10:36:57 +03:00
Dean Herbert
6487bf45cf
Eagerly attempt to pause the game when the window is not focused 2017-05-16 17:59:14 +09:00
Dean Herbert
efab186384 Update namespaces in line with framework 2017-05-16 12:50:30 +09:00
Dean Herbert
622b155fda OsuConfig -> OsuSetting 2017-05-15 10:56:27 +09:00
EVAST9919
9a04069123 removed useless booleans, using nullables instead 2017-05-12 10:16:31 +03:00
EVAST9919
34b4efc4e9 Applied suggested changes 2017-05-12 08:12:34 +03:00
EVAST9919
79ed92a0d7 Simplified logic 2017-05-12 01:48:28 +03:00
EVAST9919
ea0add2354 Fixed update condition 2017-05-11 02:34:57 +03:00
EVAST9919
d55c97a08a Stop progress as soon as we at 100% 2017-05-11 01:48:46 +03:00
EVAST9919
5b469eff69 Fixes 2017-05-10 10:33:02 +03:00
EVAST9919
d8f9e71b84 Applied suggested changes 2017-05-10 10:14:44 +03:00
EVAST9919
7b17e331c4 cleanups 2017-05-10 03:45:31 +03:00
EVAST9919
315f1f1256 CI fixes 2017-05-09 06:23:03 +03:00
EVAST9919
2c92ee432b Merge remote-tracking branch 'refs/remotes/ppy/master' into percentage 2017-05-09 06:05:46 +03:00
EVAST9919
2826c663fd Apply suggested changes 2017-05-09 06:05:37 +03:00
Dean Herbert
ab1768ef80 Merge branch 'master' into tidy-up 2017-05-09 10:27:29 +09:00
EVAST9919
de2486b8e6 Moved timeLeft recalculation to property 2017-05-08 20:36:02 +03:00
EVAST9919
17d1ecb8f5 Use float type for progress value 2017-05-08 19:42:36 +03:00
EVAST9919
4b5e24cc36 Changed logic a bit 2017-05-08 19:14:19 +03:00
EVAST9919
ae2186970c Merge remote-tracking branch 'refs/remotes/ppy/master' into percentage 2017-05-08 18:16:16 +03:00
Dean Herbert
48368779ab Avoid polluting Player with HUD-specific code. 2017-05-08 11:48:40 +09:00
EVAST9919
f0145c7f4f Trying to woke up AppVeyor 2017-05-08 02:16:56 +03:00
EVAST9919
926ed907c2 CI fixes 2017-05-08 02:00:21 +03:00
EVAST9919
dda25219bc code fixes 2017-05-08 01:54:31 +03:00
EVAST9919
c3a42ded36 Fixed Graph/seeking offset 2017-05-08 01:23:51 +03:00
EVAST9919
531f2c410a removed useless variable 2017-05-08 00:26:34 +03:00
EVAST9919
ea28a9f7ce Adjust values 2017-05-08 00:16:58 +03:00
Huo Yaoyuan
4f8549f220 Standardise usages of exceptions. 2017-05-07 00:38:17 +08:00
Dean Herbert
44f06e5423 Add hover expand support. 2017-05-05 13:17:36 +09:00
Dean Herbert
9c4f813da1 Remove unnecessary hide/show logic.
Also change the way the overlay appears when actually playing.
2017-05-05 13:14:44 +09:00
Dean Herbert
b547dd6893 CI Fixes. 2017-05-05 13:06:54 +09:00
Dean Herbert
c9ba1ac4f6 Adjust namespaces.
Also adds transition, uses IHasCurrentValue, combines Mod TestCases and more.
2017-05-05 13:00:05 +09:00
EVAST9919
95f6c999bd Adjust scale and CI fixes 2017-05-04 17:59:01 +03:00
EVAST9919
475eb6fe5f Cleanup 2017-05-04 17:29:52 +03:00
EVAST9919
57c4232416 Added testcase 2017-05-04 11:58:37 +03:00
EVAST9919
6063231e40 float value fix 2017-05-03 16:58:10 +03:00
EVAST9919
5f2f1d2763 CI fixes 2017-05-03 14:01:43 +03:00
EVAST9919
9e35eb8d97 Fixes 2017-05-03 13:53:45 +03:00
EVAST9919
e7a8619f01 ModIcon refactor 2017-05-03 09:48:10 +03:00
EVAST9919
6ea3629c9a Adjust the size 2017-05-03 08:23:52 +03:00
EVAST9919
2e30a69b67 removed using 2017-05-02 23:04:36 +03:00
EVAST9919
a955f9cbfd Simplify hiding logic 2017-05-02 22:59:36 +03:00
EVAST9919
37c3133981 Fixes 2017-05-02 22:46:18 +03:00
EVAST9919
7e1efcc20b Added ModsContainer 2017-05-02 22:34:07 +03:00
EVAST9919
698ae0832f Move string formatting inside the class 2017-05-01 07:00:44 +03:00
EVAST9919
ba0fbacda0 Merge remote-tracking branch 'refs/remotes/ppy/master' into percentage 2017-05-01 06:33:04 +03:00
EVAST9919
0386e96573 applied requested changes 2017-05-01 05:38:51 +03:00
EVAST9919
668262ed06 Applied requested changes 2017-05-01 04:53:46 +03:00
EVAST9919
e9094bac51 Added suggested changes 2017-04-30 17:05:00 +03:00
EVAST9919
a8c918f7bf Removed empty line 2017-04-28 21:12:48 +03:00
EVAST9919
d5c56aab7a Initial commit 2017-04-28 21:05:00 +03:00
EVAST9919
f8faea8da2 Removed unnecessary nested class 2017-04-28 16:02:00 +03:00
EVAST9919
c4bd21914d warning fixes 2017-04-28 15:37:22 +03:00
EVAST9919
b409a22309 Merge remote-tracking branch 'refs/remotes/ppy/master' into percentage 2017-04-28 15:29:24 +03:00
EVAST9919
c27909d53c CI fixes 2017-04-28 05:02:25 +03:00
EVAST9919
eacf2045f0 Initial commit 2017-04-28 04:56:34 +03:00
Dean Herbert
59a3e23879 Ensure PlayerInputManager's initial time is transferred at load. 2017-04-27 17:38:00 +09:00
Dan Balasescu
a243729a54 Merge branch 'master' into fix-mouse-button-disable 2017-04-26 20:43:56 +09:00
Dan Balasescu
f261a077d2 General fixes/cleanup in Player. 2017-04-26 20:37:47 +09:00
Dan Balasescu
08b1d5beb9 Use const where it was inteded. 2017-04-26 20:15:34 +09:00
Dean Herbert
e826f17eb0 Fix get-set mismatch. 2017-04-26 19:25:41 +09:00
Dean Herbert
f48d497737 Fix disabling mouse buttons causing auto to stop working. 2017-04-26 18:56:20 +09:00
Dean Herbert
c2108b7706 Use object initialiser. 2017-04-26 18:32:47 +09:00
Dean Herbert
b6f838f536 Fix potential nullref. 2017-04-26 18:32:40 +09:00
Dean Herbert
4656a7170a Add very basic lead-in support. 2017-04-26 18:17:25 +09:00
Dean Herbert
9d14b6e1e9 Make SongProgress return the actual time value via OnSeek. 2017-04-26 18:17:17 +09:00
Dean Herbert
01caaf44f3 Add a decoupled clock to allow for lead-in and lead-out time. 2017-04-26 18:16:55 +09:00
Dean Herbert
e003d9fc3c Add basic replay frame accurate "seeking".
Previously we were looping over Update, when we should instead have been looping over UpdateSubTree.
2017-04-25 22:59:58 +09:00
Dean Herbert
d476482493 Add basic seeking support when a replay is loaded. 2017-04-25 22:59:51 +09:00
Dean Herbert
eb5d334838 Add non-toggle support for showing seek bar in SongProgress. 2017-04-25 22:59:46 +09:00
Dean Herbert
30e2e7bfe4 Merge branch 'master' into slider-stuff 2017-04-25 19:42:46 +09:00
Dean Herbert
2d6fa711d1 Remove unnecessary base.Update() in PlayerInputManager. 2017-04-24 20:22:21 +09:00
Jorolf
1d2f19b5a2 change background dim from integer to double 2017-04-22 18:34:03 +02:00
Dean Herbert
caf3d311cd
Merge remote-tracking branch 'upstream/master' into speed-adjust-mods 2017-04-21 20:55:20 +09:00
Dean Herbert
d94035e9da Merge branch 'master' into general-fixes 2017-04-21 20:42:46 +09:00
Dean Herbert
3f832731c9
Add DoubleTime, HalfTime and Nightcore support. 2017-04-21 17:33:37 +09:00
Dean Herbert
5fdc9819cf
Add basic UO support (now called Audio Offset). 2017-04-21 16:20:05 +09:00
Dean Herbert
5aa90df819
Allow OsuScreens to decide whether ruleset switching should be allowed.
Tidies up ToolbarModeSelector a lot by using DI.
2017-04-21 16:03:59 +09:00
Dean Herbert
1707c2458e
Update exception name. 2017-04-20 12:11:03 +09:00
Dean Herbert
873599b359
Fix conversion regression. 2017-04-20 11:36:50 +09:00
Dean Herbert
a47870b376
Apply Ruleset to Scores. Reduce complexity of score creation. 2017-04-20 11:16:08 +09:00
Dean Herbert
3e48a57e9a Merge branch 'master' into score-statistics 2017-04-19 20:36:14 +09:00
Dean Herbert
3b95fbab7d
Add score statistic tracking (osu!). 2017-04-19 16:29:27 +09:00
Dean Herbert
2783f49267
Fix incorrect EndTimes when processing has not been run on HitObjects before the SongProgressGraph is displayed. 2017-04-19 16:05:14 +09:00
Dean Herbert
49f4981f1c
Fix CI issues. 2017-04-18 22:28:16 +09:00
Dean Herbert
a0d9c14526
Add temporary means of getting the user which is responsible for a resulting play. 2017-04-18 22:22:14 +09:00
Dean Herbert
d51b37cb44
Add a basic implementation of the new design results screen. 2017-04-18 22:22:14 +09:00
Dean Herbert
b0f1851e88
Adjust visuals slightly. 2017-04-18 20:52:57 +09:00
Dean Herbert
1071645dca
Flexible cube count (and thus graph height).
This also scaled the graph to the height of the maximum value. And much tidying.
2017-04-18 19:25:52 +09:00
Dean Herbert
3b21340e1b
Split SquareGraph out and make SongProgressGraph also able to take a list of Objects. 2017-04-18 18:40:02 +09:00
Dean Herbert
417a5ca713
A bit of renaming. 2017-04-18 18:29:24 +09:00
Dean Herbert
66865c50ad
Remove explicit RelativeSize setting. 2017-04-18 18:10:13 +09:00
Dean Herbert
784ca2300b
Add safety check for when no objects have been assigned. 2017-04-18 18:09:37 +09:00
Dean Herbert
5ba85818db
Combine push logic and adjust transitions a bit more. 2017-04-18 17:07:02 +09:00
Dean Herbert
ddff26d167
Show metadata when loading between retries.
Also speeds up the display a bit.
2017-04-18 17:00:58 +09:00
Dean Herbert
edd71c0560
Tidy up and comment PlayerLoader logic. 2017-04-18 16:56:01 +09:00
Dean Herbert
2ccb8b154f
Change conditional ordering to allow player to always run its fadeOut sequence. 2017-04-18 16:47:30 +09:00
Dean Herbert
24deaf05b6 Merge branch 'master' into player-loader-restart 2017-04-18 16:36:25 +09:00
Dean Herbert
64a8992153 Merge branch 'master' into general-fixes 2017-04-18 16:19:52 +09:00
Dean Herbert
fbd26a1d5e
Mode -> Ruleset. 2017-04-18 16:05:58 +09:00
ocboogie
1f7373db8f Removed unneeded restarting variable 2017-04-17 23:52:38 -07:00
ocboogie
2bd89e922f Removed unneeded newPlayer 2017-04-17 23:48:21 -07:00
ocboogie
c0f4cbcba6 Added back PlayerLoader overlays 2017-04-17 23:36:11 -07:00
Dean Herbert
727086c0b2
Updates in-line with framework. 2017-04-18 15:34:53 +09:00
ocboogie
be8d32688b Fixed HotkeyRetryOverlay just going to a black screen 2017-04-17 22:36:03 -07:00
ocboogie
5c48fa6cb1 Removed testing line 2017-04-17 21:35:48 -07:00
ocboogie
aa466d0e84 PlayerLoader creates a new instance of the Player class on Restart 2017-04-17 21:32:38 -07:00
smoogipooo
786446354e Fix post-rebase errors. 2017-04-18 09:00:53 +09:00
smoogipooo
2767fbd81a Implement Beatmap conversion testing. 2017-04-18 08:57:09 +09:00
Dean Herbert
a4e2f34ee7
Make a RulesetDatabase. 2017-04-17 17:43:48 +09:00
ocboogie
78273d76e3 Added basic loading screen and test case 2017-04-16 20:18:41 -07:00
smoogipooo
3845ab2a72 Add comment. 2017-04-15 05:55:38 +09:00
smoogipooo
0a1376c2db Remove PlayMode game-wide. 2017-04-15 05:22:41 +09:00
smoogipooo
a89af273be Make BeatmapInfo expose Ruleset instead of PlayMode. 2017-04-15 05:01:36 +09:00
smoogipooo
59bfc7abad Move statics to RulesetCollection to avoid conflicts later on. 2017-04-15 04:53:37 +09:00
Dean Herbert
9d753a7798 Merge branch 'master' into song-progress-graph 2017-04-14 19:24:13 +09:00
Dean Herbert
ea0631ede8
Encapsulate progress update logic better. 2017-04-14 18:23:34 +09:00
Dean Herbert
acd7a5b254
Hook up beatmap object density to progress display. 2017-04-14 17:58:37 +09:00
Dean Herbert
6421f040dd
Fix SongProgress handling escape. 2017-04-14 15:27:24 +09:00
Dean Herbert
8c41707ac7
Fix incorrect default state. Handle input better. 2017-04-14 14:40:52 +09:00
Dean Herbert
09195a03a2
Merge remote-tracking branch 'upstream/master' into song-progress-graph
# Conflicts:
#	osu.Game/Overlays/DragBar.cs
2017-04-14 11:25:00 +09:00
Dean Herbert
9bf861d0a4 Merge remote-tracking branch 'upstream/master' into peppy/pause-clean-up
# Conflicts:
#	osu.Game/Screens/Play/FailOverlay.cs
#	osu.Game/Screens/Play/PauseOverlay.cs
2017-04-14 01:07:34 +09:00
Dean Herbert
262a2c9f0e
Add exception for failing. 2017-04-13 19:13:09 +09:00
Dean Herbert
5f8baf874d
Use interpolatedSourceClock's IsRunning value for consistency. 2017-04-13 18:31:23 +09:00
Dean Herbert
1f4e0b0251
Fix MosueUp and HighResolution events not being handled by MenuOverlays. 2017-04-13 13:03:07 +09:00
Dean Herbert
359fea7e25
Improve "escape" pressing logic in pause/fail menus. 2017-04-13 12:40:00 +09:00
Dean Herbert
94bf1d65b6
Fix thread race conditions on pausing close to a fail. 2017-04-13 11:41:08 +09:00
ocboogie
32b87d12b5 Removed unneeded using 2017-04-12 04:54:24 -07:00
ocboogie
6c6ef946bd Some more clean up 2017-04-12 04:01:52 -07:00
ocboogie
d250dde537 Fixed repeat keys working for retrying 2017-04-12 02:50:03 -07:00
ocboogie
348dd71406 Fixed repeat keys working for resuming 2017-04-12 02:43:42 -07:00
ocboogie
8cad09370d Fixed pause and fail screen overlap 2017-04-12 00:20:41 -07:00
Dan Balasescu
bc98e53aff I helped. 2017-04-12 00:09:45 +09:00
Dean Herbert
1a1607aaaa
Improve the look of the transition on hotkey retry (and retry in general). 2017-04-11 19:58:57 +09:00
Dean Herbert
43a4657540
Remove unnecessary AlwaysPresent. 2017-04-10 17:26:05 +09:00
Dean Herbert
3a01cfccee
Adjust fade length and easing. 2017-04-10 17:25:56 +09:00
Dean Herbert
15c1013f5b
Don't schedule event, it's unreliable and doesn't match the fade. 2017-04-10 17:25:46 +09:00
Andrey Zavadskiy
1879a05c7b Removed using 2017-04-10 06:10:12 +03:00
Andrey Zavadskiy
e73f543c4f Applied suggestions 2017-04-10 06:06:10 +03:00
Andrey Zavadskiy
a7264aa84c Warning fix 2017-04-09 17:53:16 +03:00
Andrey Zavadskiy
425e96c45c Moved logic to it's own class 2017-04-09 17:44:19 +03:00
Andrey Zavadskiy
4ab4f65c83 Retry on Tilde key 2017-04-09 16:26:31 +03:00
Dean Herbert
0d4f457265
Improve transitions when exiting play mode. 2017-04-07 20:46:35 +09:00
Dean Herbert
54d1afb655
Fade in HitRenderer post entering animation. 2017-04-07 20:38:57 +09:00
Dean Herbert
39175905e4
Fix crashes on completing a taiko map (where a strong his is the last hit in the map). 2017-04-07 16:56:09 +09:00
Dean Herbert
7e99fc47e2
wip 2017-04-07 16:54:54 +09:00
Dean Herbert
1842d80e28
Update test case. 2017-04-07 09:43:08 +09:00
Dean Herbert
12d2102a88
Merge remote-tracking branch 'upstream/master' into song-progress-graph
# Conflicts:
#	osu.Desktop.VisualTests/osu.Desktop.VisualTests.csproj
#	osu.Game/Modes/UI/HudOverlay.cs
#	osu.Game/Screens/Play/PauseOverlay.cs
#	osu.Game/Screens/Play/Player.cs
#	osu.Game/osu.Game.csproj
2017-04-07 09:22:18 +09:00
Dean Herbert
7c63c8394b
Remove unnecessary depth setting. 2017-04-06 15:36:03 +09:00
Dean Herbert
a18367454d
InGameOverlay -> MenuOverlay. 2017-04-06 15:34:52 +09:00
Dean Herbert
856696b17e
Fix incorrect verbatim strings. 2017-04-06 15:31:21 +09:00
Dean Herbert
6285f3eea8 Merge branch 'master' into pause_buttons_refactor 2017-04-06 15:00:48 +09:00
Andrey Zavadskiy
0946e42363 removed useless stuff 2017-04-05 22:51:43 +03:00
Andrey Zavadskiy
6a510097df InGameOverlay fixes 2017-04-05 22:36:03 +03:00
Dean Herbert
4aafc172ca
Allow playfield to specify whether it has a cursor or not. 2017-04-05 17:38:57 +09:00
Andrey Zavadskiy
f2a9ec0f24 Converted constructor to protected 2017-04-04 19:02:36 +03:00
Andrey Zavadskiy
7b95f2d46a InGameOverlay now is abstract 2017-04-04 18:53:13 +03:00
Andrey Zavadskiy
62655b70c9 Merge remote-tracking branch 'refs/remotes/ppy/master' into pause_buttons_refactor 2017-04-04 18:41:37 +03:00
Dean Herbert
7c74951454
Update bindables.
# Conflicts:
#	osu.Desktop.VisualTests/Tests/TestCaseResults.cs
#	osu.Game/Screens/Ranking/ResultModeButton.cs
#	osu.Game/Screens/Ranking/Results.cs
2017-04-04 11:34:13 +09:00
smoogipooo
27132958c8 Merge remote-tracking branch 'origin/master' into taiko-drawable-generation
Conflicts:
	osu.Desktop.VisualTests/Tests/TestCaseTaikoHitObjects.cs
	osu.Desktop.VisualTests/Tests/TestCaseTaikoPlayfield.cs
	osu.Game.Modes.Taiko/UI/TaikoHitRenderer.cs
	osu.Game.Modes.Taiko/osu.Game.Modes.Taiko.csproj
2017-04-03 14:19:31 +09:00
Dean Herbert
6f1fff4ee7 Update async load usage to new style. 2017-04-02 15:56:12 +09:00
Andrey Zavadskiy
1ecff1b32c Fix naming and testcase 2017-04-01 21:50:25 +03:00
Andrey Zavadskiy
f70de7439b Moved title and description to each class 2017-04-01 21:42:12 +03:00
Andrey Zavadskiy
bd123fa906 Better inheritance 2017-04-01 21:29:17 +03:00
Andrey Zavadskiy
e3a8a14281 Removed unnecessary using 2017-04-01 21:19:49 +03:00
Andrey Zavadskiy
ebc814f06a Typos fix 2017-04-01 21:17:24 +03:00
Andrey Zavadskiy
3574dac780 Merge remote-tracking branch 'refs/remotes/ppy/master' into pause_buttons_refactor 2017-04-01 21:03:19 +03:00
Dean Herbert
fa7c72a099
Refactor ReplayInputHandler creation for more flexibility. 2017-03-31 15:59:53 +09:00
smoogipooo
eed50784ba Make player work with TaikoHitRenderer. 2017-03-29 11:35:57 +09:00
Dean Herbert
f7dc7e9bb9
Update references. 2017-03-28 21:26:20 +09:00
Andrey Zavadskiy
91e18cc63e Fix usings 2017-03-28 12:12:35 +03:00
Andrey Zavadskiy
cf3db49631 Inherit Pause/Fail overlay from InGameOverlay 2017-03-28 12:09:26 +03:00
Andrey Zavadskiy
687f71e410 Fixes 2017-03-28 11:45:48 +03:00
Andrey Zavadskiy
60be69d3b0 Fixes 2017-03-28 11:41:08 +03:00
Andrey Zavadskiy
85c2184170 Fixes 2017-03-28 11:33:56 +03:00
Andrey Zavadskiy
62693a6a59 Again separate classes 2017-03-28 10:49:58 +03:00