From a238637990b41425bf93f2c336f89631083df9f6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 27 Jan 2017 13:50:00 +0900 Subject: [PATCH 01/10] Move osu! logo colour declarations to palette. --- osu.Game/Graphics/OsuColour.cs | 7 ++++++- osu.Game/Screens/Menu/OsuLogo.cs | 22 +++++++++++++++++----- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/osu.Game/Graphics/OsuColour.cs b/osu.Game/Graphics/OsuColour.cs index 1ab5ec8f7c..e7b48b3c86 100644 --- a/osu.Game/Graphics/OsuColour.cs +++ b/osu.Game/Graphics/OsuColour.cs @@ -24,8 +24,13 @@ namespace osu.Game.Graphics 255); } - // See https://github.com/ppy/osu-web/blob/master/resources/assets/less/colors.less + //used for osu! logo and triangles contained within. + public Color4 OsuPink = FromHex(@"e967a1"); + public Color4 OsuPinkLight = FromHex(@"ff7db7"); + public Color4 OsuPinkDark= FromHex(@"de5b95"); + + // See https://github.com/ppy/osu-web/blob/master/resources/assets/less/colors.less public Color4 PurpleLighter = FromHex(@"eeeeff"); public Color4 PurpleLight = FromHex(@"aa88ff"); public Color4 Purple = FromHex(@"8866ee"); diff --git a/osu.Game/Screens/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs index 323b23b920..724a0c5a7f 100644 --- a/osu.Game/Screens/Menu/OsuLogo.cs +++ b/osu.Game/Screens/Menu/OsuLogo.cs @@ -62,6 +62,7 @@ namespace osu.Game.Screens.Menu } public bool Interactive = true; + private Box colourLayer; public OsuLogo() { @@ -101,10 +102,9 @@ namespace osu.Game.Screens.Menu Origin = Anchor.Centre, Children = new Drawable[] { - new Box + colourLayer = new Box { RelativeSizeAxes = Axes.Both, - Colour = new Color4(233, 103, 161, 255), }, new OsuLogoTriangles { @@ -155,8 +155,10 @@ namespace osu.Game.Screens.Menu } [BackgroundDependencyLoader] - private void load(TextureStore textures) + private void load(TextureStore textures, OsuColour colour) { + colourLayer.Colour = colour.OsuPink; + logo.Texture = textures.Get(@"Menu/logo@2x"); ripple.Texture = textures.Get(@"Menu/logo@2x"); } @@ -207,11 +209,21 @@ namespace osu.Game.Screens.Menu class OsuLogoTriangles : Triangles { + private Color4 range1; + private Color4 range2; + public OsuLogoTriangles() { TriangleScale = 4; Alpha = 1; } + + [BackgroundDependencyLoader] + private void load(OsuColour colour) + { + range1 = colour.OsuPinkDark; + range2 = colour.OsuPinkLight; + } protected override Triangle CreateTriangle() { @@ -225,8 +237,8 @@ namespace osu.Game.Screens.Menu { float val = RNG.NextSingle(); return Interpolation.ValueAt(val, - new Color4(222, 91, 149, 255), - new Color4(255, 125, 183, 255), + range1, + range2, 0, 1); } } From 50e4c39e321e046c02736d6ceb587d1c0ebaf520 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 27 Jan 2017 13:50:12 +0900 Subject: [PATCH 02/10] Add flash when activating a menu button. --- osu.Game/Screens/Menu/Button.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/osu.Game/Screens/Menu/Button.cs b/osu.Game/Screens/Menu/Button.cs index 719d75b018..ebdb89b169 100644 --- a/osu.Game/Screens/Menu/Button.cs +++ b/osu.Game/Screens/Menu/Button.cs @@ -249,6 +249,8 @@ namespace osu.Game.Screens.Menu { sampleClick.Play(); + box.FlashColour(Color4.White, 500, EasingTypes.OutExpo); + clickAction?.Invoke(); } From 9b2669e1aefaccc36df3221158590ab599273f33 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 27 Jan 2017 13:50:22 +0900 Subject: [PATCH 03/10] Add flash when activating the osu! logo. --- osu.Game/Screens/Menu/OsuLogo.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs index 724a0c5a7f..a5d7b73a4b 100644 --- a/osu.Game/Screens/Menu/OsuLogo.cs +++ b/osu.Game/Screens/Menu/OsuLogo.cs @@ -12,6 +12,7 @@ using osu.Framework.Graphics.Textures; using osu.Framework.Graphics.Transformations; using osu.Framework.Input; using osu.Framework.MathUtils; +using osu.Game.Graphics; using osu.Game.Graphics.Backgrounds; using OpenTK; using OpenTK.Graphics; @@ -63,6 +64,7 @@ namespace osu.Game.Screens.Menu public bool Interactive = true; private Box colourLayer; + private Box flashLayer; public OsuLogo() { @@ -112,7 +114,13 @@ namespace osu.Game.Screens.Menu }, } }, - + flashLayer = new Box + { + RelativeSizeAxes = Axes.Both, + BlendingMode = BlendingMode.Additive, + Colour = Color4.White, + Alpha = 0, + }, }, }, logo = new Sprite @@ -191,6 +199,10 @@ namespace osu.Game.Screens.Menu { if (!Interactive) return false; + flashLayer.ClearTransformations(); + flashLayer.Alpha = 0.4f; + flashLayer.FadeOut(1500, EasingTypes.OutExpo); + Action?.Invoke(); return true; } From 6d44c5c8f19ada1dded9cb779c9a715073be653e Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 27 Jan 2017 17:57:52 +0900 Subject: [PATCH 04/10] Move logo colour definitions local to their usage. --- osu.Game/Graphics/OsuColour.cs | 8 +------- osu.Game/Screens/Menu/OsuLogo.cs | 23 +++++++++-------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/osu.Game/Graphics/OsuColour.cs b/osu.Game/Graphics/OsuColour.cs index e7b48b3c86..1400954db4 100644 --- a/osu.Game/Graphics/OsuColour.cs +++ b/osu.Game/Graphics/OsuColour.cs @@ -15,7 +15,7 @@ namespace osu.Game.Graphics public static Color4 Gray(float amt) => new Color4(amt, amt, amt, 1f); public static Color4 Gray(byte amt) => new Color4(amt, amt, amt, 255); - private static Color4 FromHex(string hex) + public static Color4 FromHex(string hex) { return new Color4( Convert.ToByte(hex.Substring(0, 2), 16), @@ -24,12 +24,6 @@ namespace osu.Game.Graphics 255); } - //used for osu! logo and triangles contained within. - public Color4 OsuPink = FromHex(@"e967a1"); - public Color4 OsuPinkLight = FromHex(@"ff7db7"); - public Color4 OsuPinkDark= FromHex(@"de5b95"); - - // See https://github.com/ppy/osu-web/blob/master/resources/assets/less/colors.less public Color4 PurpleLighter = FromHex(@"eeeeff"); public Color4 PurpleLight = FromHex(@"aa88ff"); diff --git a/osu.Game/Screens/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs index a5d7b73a4b..cddca69322 100644 --- a/osu.Game/Screens/Menu/OsuLogo.cs +++ b/osu.Game/Screens/Menu/OsuLogo.cs @@ -24,6 +24,8 @@ namespace osu.Game.Screens.Menu /// public partial class OsuLogo : Container { + public Color4 OsuPink = OsuColour.FromHex(@"e967a1"); + private Sprite logo; private CircularContainer logoContainer; private Container logoBounceContainer; @@ -107,6 +109,7 @@ namespace osu.Game.Screens.Menu colourLayer = new Box { RelativeSizeAxes = Axes.Both, + Colour = OsuPink, }, new OsuLogoTriangles { @@ -163,10 +166,8 @@ namespace osu.Game.Screens.Menu } [BackgroundDependencyLoader] - private void load(TextureStore textures, OsuColour colour) + private void load(TextureStore textures) { - colourLayer.Colour = colour.OsuPink; - logo.Texture = textures.Get(@"Menu/logo@2x"); ripple.Texture = textures.Get(@"Menu/logo@2x"); } @@ -221,22 +222,16 @@ namespace osu.Game.Screens.Menu class OsuLogoTriangles : Triangles { - private Color4 range1; - private Color4 range2; + public Color4 OsuPinkLight = OsuColour.FromHex(@"ff7db7"); + public Color4 OsuPinkDark = OsuColour.FromHex(@"de5b95"); public OsuLogoTriangles() { TriangleScale = 4; Alpha = 1; + } - [BackgroundDependencyLoader] - private void load(OsuColour colour) - { - range1 = colour.OsuPinkDark; - range2 = colour.OsuPinkLight; - } - protected override Triangle CreateTriangle() { var triangle = base.CreateTriangle(); @@ -249,8 +244,8 @@ namespace osu.Game.Screens.Menu { float val = RNG.NextSingle(); return Interpolation.ValueAt(val, - range1, - range2, + OsuPinkDark, + OsuPinkLight, 0, 1); } } From a315db68ab589086c95430ae4c27d22c373a26cd Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 30 Jan 2017 16:08:31 +0900 Subject: [PATCH 05/10] Remove unused field. --- osu.Game/Screens/Menu/OsuLogo.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/osu.Game/Screens/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs index cddca69322..7ede4cefbf 100644 --- a/osu.Game/Screens/Menu/OsuLogo.cs +++ b/osu.Game/Screens/Menu/OsuLogo.cs @@ -65,7 +65,6 @@ namespace osu.Game.Screens.Menu } public bool Interactive = true; - private Box colourLayer; private Box flashLayer; public OsuLogo() @@ -106,7 +105,7 @@ namespace osu.Game.Screens.Menu Origin = Anchor.Centre, Children = new Drawable[] { - colourLayer = new Box + new Box { RelativeSizeAxes = Axes.Both, Colour = OsuPink, From f0d30cc87321a869ce00ace29a883c193f525e7d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 30 Jan 2017 16:53:12 +0900 Subject: [PATCH 06/10] Make triangles opaque. --- osu.Game/Beatmaps/Drawables/BeatmapPanel.cs | 14 ++++----- osu.Game/Graphics/Backgrounds/Triangles.cs | 11 ++++--- osu.Game/Screens/Menu/OsuLogo.cs | 35 +++------------------ 3 files changed, 17 insertions(+), 43 deletions(-) diff --git a/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs b/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs index ed5db58418..5d1daeb582 100644 --- a/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs +++ b/osu.Game/Beatmaps/Drawables/BeatmapPanel.cs @@ -27,6 +27,7 @@ namespace osu.Game.Beatmaps.Drawables public Action GainedSelection; public Action StartRequested; + private Triangles triangles; protected override void Selected() { @@ -36,6 +37,8 @@ namespace osu.Game.Beatmaps.Drawables background.ColourInfo = ColourInfo.GradientVertical( new Color4(20, 43, 51, 255), new Color4(40, 86, 102, 255)); + + triangles.Colour = Color4.White; } protected override void Deselected() @@ -43,6 +46,7 @@ namespace osu.Game.Beatmaps.Drawables base.Deselected(); background.Colour = new Color4(20, 43, 51, 255); + triangles.Colour = OsuColour.Gray(0.5f); } protected override bool OnClick(InputState state) @@ -64,15 +68,11 @@ namespace osu.Game.Beatmaps.Drawables { RelativeSizeAxes = Axes.Both, }, - new Triangles + triangles = new Triangles { - // The border is drawn in the shader of the children. Being additive, triangles would over-emphasize - // the border wherever they cross it, and thus they get their own masking container without a border. - Masking = true, - CornerRadius = Content.CornerRadius, RelativeSizeAxes = Axes.Both, - BlendingMode = BlendingMode.Additive, - Colour = new Color4(20, 43, 51, 255), + ColourLight = OsuColour.FromHex(@"3a7285"), + ColourDark = OsuColour.FromHex(@"123744") }, new FlowContainer { diff --git a/osu.Game/Graphics/Backgrounds/Triangles.cs b/osu.Game/Graphics/Backgrounds/Triangles.cs index b68b5ebc4a..f9bcf56d12 100644 --- a/osu.Game/Graphics/Backgrounds/Triangles.cs +++ b/osu.Game/Graphics/Backgrounds/Triangles.cs @@ -10,6 +10,7 @@ using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Framework.MathUtils; using OpenTK; +using OpenTK.Graphics; namespace osu.Game.Graphics.Backgrounds { @@ -17,10 +18,8 @@ namespace osu.Game.Graphics.Backgrounds { public override bool HandleInput => false; - public Triangles() - { - Alpha = 0.3f; - } + public Color4 ColourLight = Color4.White; + public Color4 ColourDark = Color4.Black; private float triangleScale = 1; @@ -65,12 +64,14 @@ namespace osu.Game.Graphics.Backgrounds RelativePositionAxes = Axes.Both, Scale = new Vector2(scale), // Scaling height by 0.866 results in equiangular triangles (== 60° and equal side length) + Colour = GetTriangleShade(), Size = new Vector2(size, 0.866f * size), - Alpha = RNG.NextSingle(), Depth = scale, }; } + protected virtual Color4 GetTriangleShade() => Interpolation.ValueAt(RNG.NextSingle(), ColourDark, ColourLight, 0, 1); + private void addTriangle(bool randomX) { var sprite = CreateTriangle(); diff --git a/osu.Game/Screens/Menu/OsuLogo.cs b/osu.Game/Screens/Menu/OsuLogo.cs index 7ede4cefbf..af552c6bb6 100644 --- a/osu.Game/Screens/Menu/OsuLogo.cs +++ b/osu.Game/Screens/Menu/OsuLogo.cs @@ -110,8 +110,11 @@ namespace osu.Game.Screens.Menu RelativeSizeAxes = Axes.Both, Colour = OsuPink, }, - new OsuLogoTriangles + new Triangles { + TriangleScale = 4, + ColourLight = OsuColour.FromHex(@"ff7db7"), + ColourDark = OsuColour.FromHex(@"de5b95"), RelativeSizeAxes = Axes.Both, }, } @@ -218,35 +221,5 @@ namespace osu.Game.Screens.Menu { logoHoverContainer.ScaleTo(1, 500, EasingTypes.OutElastic); } - - class OsuLogoTriangles : Triangles - { - public Color4 OsuPinkLight = OsuColour.FromHex(@"ff7db7"); - public Color4 OsuPinkDark = OsuColour.FromHex(@"de5b95"); - - public OsuLogoTriangles() - { - TriangleScale = 4; - Alpha = 1; - - } - - protected override Triangle CreateTriangle() - { - var triangle = base.CreateTriangle(); - triangle.Alpha = 1; - triangle.Colour = getTriangleShade(); - return triangle; - } - - private Color4 getTriangleShade() - { - float val = RNG.NextSingle(); - return Interpolation.ValueAt(val, - OsuPinkDark, - OsuPinkLight, - 0, 1); - } - } } } \ No newline at end of file From 2ad9377b37bb400d39adba2d4702104b73551cb1 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 30 Jan 2017 16:55:47 +0900 Subject: [PATCH 07/10] Adjust carousel radius slightly (flyte wanted it). --- osu.Game/Screens/Select/CarouselContainer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Screens/Select/CarouselContainer.cs b/osu.Game/Screens/Select/CarouselContainer.cs index 258e2e03d8..f1e30693ef 100644 --- a/osu.Game/Screens/Select/CarouselContainer.cs +++ b/osu.Game/Screens/Select/CarouselContainer.cs @@ -186,7 +186,7 @@ namespace osu.Game.Screens.Select private static float offsetX(float dist, float halfHeight) { // The radius of the circle the carousel moves on. - const float CIRCLE_RADIUS = 4; + const float CIRCLE_RADIUS = 3; double discriminant = Math.Max(0, CIRCLE_RADIUS * CIRCLE_RADIUS - dist * dist); float x = (CIRCLE_RADIUS - (float)Math.Sqrt(discriminant)) * halfHeight; From b4c01f104bbbe1b788d2258d043bc8741c0443c8 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 30 Jan 2017 18:10:30 +0900 Subject: [PATCH 08/10] Make buttons look closer to the design. --- osu.Game/Graphics/UserInterface/OsuButton.cs | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/osu.Game/Graphics/UserInterface/OsuButton.cs b/osu.Game/Graphics/UserInterface/OsuButton.cs index 2afcf56140..7314d0006e 100644 --- a/osu.Game/Graphics/UserInterface/OsuButton.cs +++ b/osu.Game/Graphics/UserInterface/OsuButton.cs @@ -2,23 +2,34 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using OpenTK.Graphics; -using osu.Framework.Allocation; -using osu.Framework.Graphics.UserInterface; - +using OpenTK.Graphics; +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.UserInterface; +using osu.Game.Graphics.Backgrounds; + namespace osu.Game.Graphics.UserInterface { public class OsuButton : Button { public OsuButton() { - Height = 25; + Height = 40; } [BackgroundDependencyLoader] private void load(OsuColour colours) { Colour = colours.BlueDark; + Masking = true; + CornerRadius = 5; + + Add(new Triangles + { + RelativeSizeAxes = Axes.Both, + ColourDark = colours.BlueDarker, + ColourLight = colours.Blue, + }); } } } \ No newline at end of file From 26e9533ff082d9b5a00ee970154f87ccbde1198d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 30 Jan 2017 20:29:04 +0900 Subject: [PATCH 09/10] Add custom implementation of TextBox. --- osu-framework | 2 +- osu.Game/Graphics/UserInterface/OsuTextBox.cs | 48 +++++++++++++++++++ .../Overlays/Options/General/LoginOptions.cs | 4 +- .../Options/Online/InGameChatOptions.cs | 2 - osu.Game/Overlays/Options/TextBoxOption.cs | 9 ++-- osu.Game/osu.Game.csproj | 1 + 6 files changed, 57 insertions(+), 9 deletions(-) create mode 100644 osu.Game/Graphics/UserInterface/OsuTextBox.cs diff --git a/osu-framework b/osu-framework index 2f03fae533..1f6a3c780f 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 2f03fae533293bf255a942569c07396f853378f3 +Subproject commit 1f6a3c780f9b24f3a0b25c90528835e32f35c087 diff --git a/osu.Game/Graphics/UserInterface/OsuTextBox.cs b/osu.Game/Graphics/UserInterface/OsuTextBox.cs new file mode 100644 index 0000000000..5041e7ded9 --- /dev/null +++ b/osu.Game/Graphics/UserInterface/OsuTextBox.cs @@ -0,0 +1,48 @@ +//Copyright (c) 2007-2016 ppy Pty Ltd . +//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE + +using osu.Framework.Allocation; +using osu.Framework.Graphics; +using osu.Framework.Graphics.UserInterface; +using osu.Framework.Input; +using OpenTK.Graphics; + +namespace osu.Game.Graphics.UserInterface +{ + public class OsuTextBox : TextBox + { + public OsuTextBox() + { + Height = 40; + TextContainer.Height = 0.6f; + CornerRadius = 5; + } + + [BackgroundDependencyLoader] + private void load(OsuColour colour) + { + BorderColour = colour.Yellow; + } + + protected override bool OnFocus(InputState state) + { + BorderThickness = 3; + + return base.OnFocus(state); + } + + protected override void OnFocusLost(InputState state) + { + BorderThickness = 0; + + base.OnFocusLost(state); + } + } + + public class OsuPasswordTextBox : OsuTextBox + { + protected virtual char MaskCharacter => '*'; + + protected override Drawable AddCharacterToFlow(char c) => base.AddCharacterToFlow(MaskCharacter); + } +} diff --git a/osu.Game/Overlays/Options/General/LoginOptions.cs b/osu.Game/Overlays/Options/General/LoginOptions.cs index 03789c59c9..29a949edb8 100644 --- a/osu.Game/Overlays/Options/General/LoginOptions.cs +++ b/osu.Game/Overlays/Options/General/LoginOptions.cs @@ -89,9 +89,9 @@ namespace osu.Game.Overlays.Options.General Children = new Drawable[] { new SpriteText { Text = "Username" }, - username = new TextBox { Height = 20, RelativeSizeAxes = Axes.X, Text = api?.Username ?? string.Empty }, + username = new OsuTextBox { RelativeSizeAxes = Axes.X, Text = api?.Username ?? string.Empty }, new SpriteText { Text = "Password" }, - password = new PasswordTextBox { Height = 20, RelativeSizeAxes = Axes.X }, + password = new OsuPasswordTextBox { RelativeSizeAxes = Axes.X }, new OsuButton { RelativeSizeAxes = Axes.X, diff --git a/osu.Game/Overlays/Options/Online/InGameChatOptions.cs b/osu.Game/Overlays/Options/Online/InGameChatOptions.cs index 098fe39546..8a04d2cec3 100644 --- a/osu.Game/Overlays/Options/Online/InGameChatOptions.cs +++ b/osu.Game/Overlays/Options/Online/InGameChatOptions.cs @@ -43,13 +43,11 @@ namespace osu.Game.Overlays.Options.Online }, new SpriteText { Text = "Chat ignore list (space-seperated list)" }, chatIgnoreList = new TextBoxOption { - Height = 20, RelativeSizeAxes = Axes.X, Bindable = config.GetBindable(OsuConfig.IgnoreList) }, new SpriteText { Text = "Chat highlight words (space-seperated list)" }, chatHighlightWords = new TextBoxOption { - Height = 20, RelativeSizeAxes = Axes.X, Bindable = config.GetBindable(OsuConfig.HighlightWords) }, diff --git a/osu.Game/Overlays/Options/TextBoxOption.cs b/osu.Game/Overlays/Options/TextBoxOption.cs index c0ac08d149..6edd34e318 100644 --- a/osu.Game/Overlays/Options/TextBoxOption.cs +++ b/osu.Game/Overlays/Options/TextBoxOption.cs @@ -2,12 +2,13 @@ //Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE using System; -using osu.Framework.Configuration; -using osu.Framework.Graphics.UserInterface; - +using osu.Framework.Configuration; +using osu.Framework.Graphics.UserInterface; +using osu.Game.Graphics.UserInterface; + namespace osu.Game.Overlays.Options { - public class TextBoxOption : TextBox + public class TextBoxOption : OsuTextBox { private Bindable bindable; diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index a90fa2a8cb..6e00f895a9 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -67,6 +67,7 @@ + From aa80989bdf3353d81185d58b79f8c34dbd6476c0 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 31 Jan 2017 15:58:33 +0900 Subject: [PATCH 10/10] Update framework. --- osu-framework | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu-framework b/osu-framework index 1f6a3c780f..2e74df0a1b 160000 --- a/osu-framework +++ b/osu-framework @@ -1 +1 @@ -Subproject commit 1f6a3c780f9b24f3a0b25c90528835e32f35c087 +Subproject commit 2e74df0a1bca294cad2094c86bf25d1833df7a14