diff --git a/ClassicalSharp/2D/Screens/Menu/ClassicOptionsScreen.cs b/ClassicalSharp/2D/Screens/Menu/ClassicOptionsScreen.cs index b2665a28c..163f8ad3f 100644 --- a/ClassicalSharp/2D/Screens/Menu/ClassicOptionsScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/ClassicOptionsScreen.cs @@ -15,23 +15,23 @@ namespace ClassicalSharp { widgets = new Widget[] { // Column 1 - Make( -140, -200, "Music", OnWidgetClick, + MakeClassic( -165, -200, "Music", OnWidgetClick, g => g.UseMusic ? "yes" : "no", (g, v) => { g.UseMusic = v == "yes"; g.AudioPlayer.SetMusic( g.UseMusic ); Options.Set( OptionsKey.UseMusic, v == "yes" ); }), - Make( -140, -150, "Invert mouse", OnWidgetClick, + MakeClassic( -165, -150, "Invert mouse", OnWidgetClick, g => g.InvertMouse ? "yes" : "no", (g, v) => { g.InvertMouse = v == "yes"; Options.Set( OptionsKey.InvertMouse, v == "yes" ); }), - Make( -140, -100, "View distance", OnWidgetClick, + MakeClassic( -165, -100, "View distance", OnWidgetClick, g => g.ViewDistance.ToString(), (g, v) => g.SetViewDistance( Int32.Parse( v ), true ) ), !network.IsSinglePlayer ? null : - Make( -140, -50, "Block physics", OnWidgetClick, + MakeClassic( -165, -50, "Block physics", OnWidgetClick, g => ((SinglePlayerServer)network).physics.Enabled ? "yes" : "no", (g, v) => { ((SinglePlayerServer)network).physics.Enabled = v == "yes"; @@ -39,29 +39,29 @@ namespace ClassicalSharp { }), // Column 2 - Make( 140, -200, "Sound", OnWidgetClick, + MakeClassic( 165, -200, "Sound", OnWidgetClick, g => g.UseSound ? "yes" : "no", (g, v) => { g.UseSound = v == "yes"; g.AudioPlayer.SetSound( g.UseSound ); Options.Set( OptionsKey.UseSound, v == "yes" ); }), - Make( 140, -150, "Show FPS", OnWidgetClick, + MakeClassic( 165, -150, "Show FPS", OnWidgetClick, g => g.ShowFPS ? "yes" : "no", (g, v) => { g.ShowFPS = v == "yes"; Options.Set( OptionsKey.ShowFPS, v == "yes" ); }), - Make( 140, -100, "View bobbing", OnWidgetClick, + MakeClassic( 165, -100, "View bobbing", OnWidgetClick, g => g.ViewBobbing ? "yes" : "no", (g, v) => { g.ViewBobbing = v == "yes"; Options.Set( OptionsKey.ViewBobbing, v == "yes" ); }), - Make( 140, -50, "FPS limit", OnWidgetClick, + MakeClassic( 165, -50, "FPS limit", OnWidgetClick, g => g.FpsLimit.ToString(), (g, v) => { object raw = Enum.Parse( typeof(FpsLimitMethod), v ); g.SetFpsLimitMethod( (FpsLimitMethod)raw ); Options.Set( OptionsKey.FpsLimit, v ); } ), - Make( 0, 50, "Controls", LeftOnly( + MakeClassic( 0, 50, "Controls", LeftOnly( (g, w) => g.SetNewScreen( new ClassicKeyBindingsScreen( g ) ) ), null, null ), MakeBack( false, titleFont, diff --git a/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs b/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs index 97fc8621a..43f5f15e3 100644 --- a/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs @@ -119,12 +119,19 @@ namespace ClassicalSharp { protected virtual void InputClosed() { } - protected virtual ButtonWidget Make( int x, int y, string text, ClickHandler onClick, - Func getter, Action setter ) { + protected ButtonWidget Make( int x, int y, string text, ClickHandler onClick, + Func getter, Action setter ) { ButtonWidget widget = ButtonWidget.Create( game, x, y, 240, 35, text, Anchor.Centre, Anchor.Centre, titleFont, onClick ); - widget.GetValue = getter; - widget.SetValue = setter; + widget.GetValue = getter; widget.SetValue = setter; + return widget; + } + + protected ButtonWidget MakeClassic( int x, int y, string text, ClickHandler onClick, + Func getter, Action setter ) { + ButtonWidget widget = ButtonWidget.Create( game, x, y, 301, 41, text, Anchor.Centre, + Anchor.Centre, titleFont, onClick ); + widget.GetValue = getter; widget.SetValue = setter; return widget; } @@ -209,7 +216,7 @@ namespace ClassicalSharp { Anchor.Centre, regularFont, titleFont, validator ); widgets[widgets.Length - 2] = inputWidget; widgets[widgets.Length - 1] = ButtonWidget.Create( game, 240, 150, 40, 30, "OK", - Anchor.Centre, Anchor.Centre, titleFont, OnWidgetClick ); + Anchor.Centre, Anchor.Centre, titleFont, OnWidgetClick ); InputOpened(); UpdateDescription( targetWidget ); } diff --git a/ClassicalSharp/2D/Screens/Menu/PauseScreen.cs b/ClassicalSharp/2D/Screens/Menu/PauseScreen.cs index ce12a695c..c9f75c5fe 100644 --- a/ClassicalSharp/2D/Screens/Menu/PauseScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/PauseScreen.cs @@ -30,32 +30,32 @@ namespace ClassicalSharp { void MakeNormal() { widgets = new Widget[] { // Column 1 - Make( -140, -150, "Misc options", Anchor.Centre, + Make( -140, -150, "Misc options", (g, w) => g.SetNewScreen( new MiscOptionsScreen( g ) ) ), - Make( -140, -100, "Gui options", Anchor.Centre, + Make( -140, -100, "Gui options", (g, w) => g.SetNewScreen( new GuiOptionsScreen( g ) ) ), - Make( -140, -50, "Hacks settings", Anchor.Centre, + Make( -140, -50, "Hacks settings", (g, w) => g.SetNewScreen( new HacksSettingsScreen( g ) ) ), - Make( -140, 0, "Env settings", Anchor.Centre, + Make( -140, 0, "Env settings", (g, w) => g.SetNewScreen( new EnvSettingsScreen( g ) ) ), - Make( -140, 50, "Key bindings", Anchor.Centre, + Make( -140, 50, "Key bindings", (g, w) => g.SetNewScreen( new NormalKeyBindingsScreen( g ) ) ), // Column 2 - Make( 140, -150, "Save level", Anchor.Centre, + Make( 140, -150, "Save level", (g, w) => g.SetNewScreen( new SaveLevelScreen( g ) ) ), !game.Network.IsSinglePlayer ? null : - Make( 140, -100, "Load level", Anchor.Centre, + Make( 140, -100, "Load level", (g, w) => g.SetNewScreen( new LoadLevelScreen( g ) ) ), !game.Network.IsSinglePlayer ? null : - Make( 140, -50, "Generate level", Anchor.Centre, + Make( 140, -50, "Generate level", (g, w) => g.SetNewScreen( new GenLevelScreen( g ) ) ), - Make( 140, 0, "Select texture pack", Anchor.Centre, + Make( 140, 0, "Select texture pack", (g, w) => g.SetNewScreen( new TexturePackScreen( g ) ) ), - Make( 140, 50, "Hotkeys", Anchor.Centre, + Make( 140, 50, "Hotkeys", (g, w) => g.SetNewScreen( new HotkeyScreen( g ) ) ), - Make( 0, 100, "Nostalgia options", Anchor.Centre, + Make( 0, 100, "Nostalgia options", (g, w) => g.SetNewScreen( new NostalgiaScreen( g ) ) ), // Other @@ -68,23 +68,23 @@ namespace ClassicalSharp { void MakeClassic() { widgets = new Widget[] { - MakeClassic( 0, -100, "Options", Anchor.Centre, + MakeClassic( 0, -100, "Options", (g, w) => g.SetNewScreen( new ClassicOptionsScreen( g ) ) ), !game.Network.IsSinglePlayer ? null : - MakeClassic( 0, -50, "Generate level", Anchor.Centre, + MakeClassic( 0, -50, "Generate level", (g, w) => g.SetNewScreen( new GenLevelScreen( g ) ) ), !game.Network.IsSinglePlayer ? null : - MakeClassic( 0, 0, "Load level", Anchor.Centre, + MakeClassic( 0, 0, "Load level", (g, w) => g.SetNewScreen( new LoadLevelScreen( g ) ) ), - MakeClassic( 0, 50, "Save level", Anchor.Centre, + MakeClassic( 0, 50, "Save level", (g, w) => g.SetNewScreen( new SaveLevelScreen( g ) ) ), MakeBack( true, titleFont, (g, w) => g.SetNewScreen( null ) ), game.PureClassicMode ? null : - MakeClassic( 0, 150, "Nostalgia options", Anchor.Centre, + MakeClassic( 0, 150, "Nostalgia options", (g, w) => g.SetNewScreen( new NostalgiaScreen( g ) ) ), }; } @@ -100,14 +100,14 @@ namespace ClassicalSharp { } } - ButtonWidget Make( int x, int y, string text, Anchor vDocking, Action onClick ) { + ButtonWidget Make( int x, int y, string text, Action onClick ) { return ButtonWidget.Create( game, x, y, 240, 35, text, - Anchor.Centre, vDocking, titleFont, LeftOnly( onClick ) ); + Anchor.Centre, Anchor.Centre, titleFont, LeftOnly( onClick ) ); } - ButtonWidget MakeClassic( int x, int y, string text, Anchor vDocking, Action onClick ) { - return ButtonWidget.Create( game, x, y, 400, 40, text, - Anchor.Centre, vDocking, titleFont, LeftOnly( onClick ) ); + ButtonWidget MakeClassic( int x, int y, string text, Action onClick ) { + return ButtonWidget.Create( game, x, y, 401, 41, text, + Anchor.Centre, Anchor.Centre, titleFont, LeftOnly( onClick ) ); } ButtonWidget MakeOther( int x, int y, int width, string text, Anchor hAnchor, Action onClick ) { diff --git a/Launcher2/Gui/Screens/MainScreen.cs b/Launcher2/Gui/Screens/MainScreen.cs index e7bb91724..94987a395 100644 --- a/Launcher2/Gui/Screens/MainScreen.cs +++ b/Launcher2/Gui/Screens/MainScreen.cs @@ -92,8 +92,10 @@ namespace Launcher2 { game.ClassicMode = !game.ClassicMode; Options.Load(); Options.Set( "mode-classic", game.ClassicMode ); - if( game.ClassicMode ) + if( game.ClassicMode ) { Options.Set( "namesmode", "AllNamesAndHovered" ); + Options.Set( "gui-arialchatfont", "false" ); + } Options.Set( "nostalgia-customblocks", !game.ClassicMode ); Options.Set( "nostalgia-usecpe", !game.ClassicMode );