diff --git a/ClassicalSharp/2D/Screens/Menu/GuiOptionsScreen.cs b/ClassicalSharp/2D/Screens/Menu/GuiOptionsScreen.cs index 04bcbd7cf..2b8276800 100644 --- a/ClassicalSharp/2D/Screens/Menu/GuiOptionsScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/GuiOptionsScreen.cs @@ -67,14 +67,17 @@ namespace ClassicalSharp { Make( 140, 0, "Arial chat font", OnWidgetClick, g => g.Drawer2D.UseBitmappedChat ? "no" : "yes", - HandleArialChatFont ), + (g, v) => { g.ChatLines = Int32.Parse( v ); + g.Drawer2D.UseBitmappedChat = v == "no"; + Options.Set( OptionsKey.ArialChatFont, v == "yes" ); + HandleFontChange(); + } ), Make( 140, 50, "Chat font name", OnWidgetClick, g => g.FontName, (g, v) => { g.FontName = v; Options.Set( OptionsKey.FontName, v ); - g.RefreshHud(); - Recreate(); + HandleFontChange(); } ), MakeBack( false, titleFont, @@ -86,9 +89,7 @@ namespace ClassicalSharp { okayIndex = widgets.Length - 1; } - void HandleArialChatFont( Game g, string v ) { - g.Drawer2D.UseBitmappedChat = v == "no"; - Options.Set( OptionsKey.ArialChatFont, v == "yes" ); + void HandleFontChange() { game.Events.RaiseChatFontChanged(); if( inputWidget != null ) { @@ -96,9 +97,8 @@ namespace ClassicalSharp { } if( descWidget != null ) { descWidget.Dispose(); descWidget = null; - } - - g.RefreshHud(); + } + game.RefreshHud(); Recreate(); } @@ -107,7 +107,7 @@ namespace ClassicalSharp { new BooleanValidator(), new BooleanValidator(), new RealValidator( 0.25f, 5f ), - new RealValidator( 0.25f, 5f ), + new RealValidator( 0.25f, 5f ), new BooleanValidator(), new BooleanValidator(), diff --git a/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs b/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs index b9e0de746..50d555434 100644 --- a/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/MenuOptionsScreen.cs @@ -230,7 +230,8 @@ namespace ClassicalSharp { string text = inputWidget.GetText(); if( inputWidget.Validator.IsValidValue( text ) ) targetWidget.SetValue( game, text ); - inputWidget.Dispose(); + if( inputWidget != null ) + inputWidget.Dispose(); inputWidget = null; UpdateDescription( targetWidget ); targetWidget = null; diff --git a/Launcher2/LauncherWindow.cs b/Launcher2/LauncherWindow.cs index eccb42290..2918d28a8 100644 --- a/Launcher2/LauncherWindow.cs +++ b/Launcher2/LauncherWindow.cs @@ -85,6 +85,7 @@ namespace Launcher2 { } catch( Exception ) { FontName = "Arial"; Options.Set( "gui-fontname", "Arial" ); + FontFamily.Families; } }