Make classic options mode have same size buttons as original classic (Thanks FrostFox), closes #133.

This commit is contained in:
UnknownShadow200 2016-02-07 00:15:03 +11:00
parent 7a9fee3b94
commit ab2e95d201
4 changed files with 45 additions and 36 deletions

View File

@ -15,23 +15,23 @@ namespace ClassicalSharp {
widgets = new Widget[] { widgets = new Widget[] {
// Column 1 // Column 1
Make( -140, -200, "Music", OnWidgetClick, MakeClassic( -165, -200, "Music", OnWidgetClick,
g => g.UseMusic ? "yes" : "no", g => g.UseMusic ? "yes" : "no",
(g, v) => { g.UseMusic = v == "yes"; (g, v) => { g.UseMusic = v == "yes";
g.AudioPlayer.SetMusic( g.UseMusic ); g.AudioPlayer.SetMusic( g.UseMusic );
Options.Set( OptionsKey.UseMusic, v == "yes" ); }), Options.Set( OptionsKey.UseMusic, v == "yes" ); }),
Make( -140, -150, "Invert mouse", OnWidgetClick, MakeClassic( -165, -150, "Invert mouse", OnWidgetClick,
g => g.InvertMouse ? "yes" : "no", g => g.InvertMouse ? "yes" : "no",
(g, v) => { g.InvertMouse = v == "yes"; (g, v) => { g.InvertMouse = v == "yes";
Options.Set( OptionsKey.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 => g.ViewDistance.ToString(),
(g, v) => g.SetViewDistance( Int32.Parse( v ), true ) ), (g, v) => g.SetViewDistance( Int32.Parse( v ), true ) ),
!network.IsSinglePlayer ? null : !network.IsSinglePlayer ? null :
Make( -140, -50, "Block physics", OnWidgetClick, MakeClassic( -165, -50, "Block physics", OnWidgetClick,
g => ((SinglePlayerServer)network).physics.Enabled ? "yes" : "no", g => ((SinglePlayerServer)network).physics.Enabled ? "yes" : "no",
(g, v) => { (g, v) => {
((SinglePlayerServer)network).physics.Enabled = v == "yes"; ((SinglePlayerServer)network).physics.Enabled = v == "yes";
@ -39,29 +39,29 @@ namespace ClassicalSharp {
}), }),
// Column 2 // Column 2
Make( 140, -200, "Sound", OnWidgetClick, MakeClassic( 165, -200, "Sound", OnWidgetClick,
g => g.UseSound ? "yes" : "no", g => g.UseSound ? "yes" : "no",
(g, v) => { g.UseSound = v == "yes"; (g, v) => { g.UseSound = v == "yes";
g.AudioPlayer.SetSound( g.UseSound ); g.AudioPlayer.SetSound( g.UseSound );
Options.Set( OptionsKey.UseSound, v == "yes" ); }), Options.Set( OptionsKey.UseSound, v == "yes" ); }),
Make( 140, -150, "Show FPS", OnWidgetClick, MakeClassic( 165, -150, "Show FPS", OnWidgetClick,
g => g.ShowFPS ? "yes" : "no", g => g.ShowFPS ? "yes" : "no",
(g, v) => { g.ShowFPS = v == "yes"; (g, v) => { g.ShowFPS = v == "yes";
Options.Set( OptionsKey.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 => g.ViewBobbing ? "yes" : "no",
(g, v) => { g.ViewBobbing = v == "yes"; (g, v) => { g.ViewBobbing = v == "yes";
Options.Set( OptionsKey.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 => g.FpsLimit.ToString(),
(g, v) => { object raw = Enum.Parse( typeof(FpsLimitMethod), v ); (g, v) => { object raw = Enum.Parse( typeof(FpsLimitMethod), v );
g.SetFpsLimitMethod( (FpsLimitMethod)raw ); g.SetFpsLimitMethod( (FpsLimitMethod)raw );
Options.Set( OptionsKey.FpsLimit, v ); } ), Options.Set( OptionsKey.FpsLimit, v ); } ),
Make( 0, 50, "Controls", LeftOnly( MakeClassic( 0, 50, "Controls", LeftOnly(
(g, w) => g.SetNewScreen( new ClassicKeyBindingsScreen( g ) ) ), null, null ), (g, w) => g.SetNewScreen( new ClassicKeyBindingsScreen( g ) ) ), null, null ),
MakeBack( false, titleFont, MakeBack( false, titleFont,

View File

@ -119,12 +119,19 @@ namespace ClassicalSharp {
protected virtual void InputClosed() { } protected virtual void InputClosed() { }
protected virtual ButtonWidget Make( int x, int y, string text, ClickHandler onClick, protected ButtonWidget Make( int x, int y, string text, ClickHandler onClick,
Func<Game, string> getter, Action<Game, string> setter ) { Func<Game, string> getter, Action<Game, string> setter ) {
ButtonWidget widget = ButtonWidget.Create( game, x, y, 240, 35, text, Anchor.Centre, ButtonWidget widget = ButtonWidget.Create( game, x, y, 240, 35, text, Anchor.Centre,
Anchor.Centre, titleFont, onClick ); Anchor.Centre, titleFont, onClick );
widget.GetValue = getter; widget.GetValue = getter; widget.SetValue = setter;
widget.SetValue = setter; return widget;
}
protected ButtonWidget MakeClassic( int x, int y, string text, ClickHandler onClick,
Func<Game, string> getter, Action<Game, string> 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; return widget;
} }
@ -209,7 +216,7 @@ namespace ClassicalSharp {
Anchor.Centre, regularFont, titleFont, validator ); Anchor.Centre, regularFont, titleFont, validator );
widgets[widgets.Length - 2] = inputWidget; widgets[widgets.Length - 2] = inputWidget;
widgets[widgets.Length - 1] = ButtonWidget.Create( game, 240, 150, 40, 30, "OK", 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(); InputOpened();
UpdateDescription( targetWidget ); UpdateDescription( targetWidget );
} }

View File

@ -30,32 +30,32 @@ namespace ClassicalSharp {
void MakeNormal() { void MakeNormal() {
widgets = new Widget[] { widgets = new Widget[] {
// Column 1 // Column 1
Make( -140, -150, "Misc options", Anchor.Centre, Make( -140, -150, "Misc options",
(g, w) => g.SetNewScreen( new MiscOptionsScreen( g ) ) ), (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 ) ) ), (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 ) ) ), (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 ) ) ), (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 ) ) ), (g, w) => g.SetNewScreen( new NormalKeyBindingsScreen( g ) ) ),
// Column 2 // Column 2
Make( 140, -150, "Save level", Anchor.Centre, Make( 140, -150, "Save level",
(g, w) => g.SetNewScreen( new SaveLevelScreen( g ) ) ), (g, w) => g.SetNewScreen( new SaveLevelScreen( g ) ) ),
!game.Network.IsSinglePlayer ? null : !game.Network.IsSinglePlayer ? null :
Make( 140, -100, "Load level", Anchor.Centre, Make( 140, -100, "Load level",
(g, w) => g.SetNewScreen( new LoadLevelScreen( g ) ) ), (g, w) => g.SetNewScreen( new LoadLevelScreen( g ) ) ),
!game.Network.IsSinglePlayer ? null : !game.Network.IsSinglePlayer ? null :
Make( 140, -50, "Generate level", Anchor.Centre, Make( 140, -50, "Generate level",
(g, w) => g.SetNewScreen( new GenLevelScreen( g ) ) ), (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 ) ) ), (g, w) => g.SetNewScreen( new TexturePackScreen( g ) ) ),
Make( 140, 50, "Hotkeys", Anchor.Centre, Make( 140, 50, "Hotkeys",
(g, w) => g.SetNewScreen( new HotkeyScreen( g ) ) ), (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 ) ) ), (g, w) => g.SetNewScreen( new NostalgiaScreen( g ) ) ),
// Other // Other
@ -68,23 +68,23 @@ namespace ClassicalSharp {
void MakeClassic() { void MakeClassic() {
widgets = new Widget[] { widgets = new Widget[] {
MakeClassic( 0, -100, "Options", Anchor.Centre, MakeClassic( 0, -100, "Options",
(g, w) => g.SetNewScreen( new ClassicOptionsScreen( g ) ) ), (g, w) => g.SetNewScreen( new ClassicOptionsScreen( g ) ) ),
!game.Network.IsSinglePlayer ? null : !game.Network.IsSinglePlayer ? null :
MakeClassic( 0, -50, "Generate level", Anchor.Centre, MakeClassic( 0, -50, "Generate level",
(g, w) => g.SetNewScreen( new GenLevelScreen( g ) ) ), (g, w) => g.SetNewScreen( new GenLevelScreen( g ) ) ),
!game.Network.IsSinglePlayer ? null : !game.Network.IsSinglePlayer ? null :
MakeClassic( 0, 0, "Load level", Anchor.Centre, MakeClassic( 0, 0, "Load level",
(g, w) => g.SetNewScreen( new LoadLevelScreen( g ) ) ), (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 ) ) ), (g, w) => g.SetNewScreen( new SaveLevelScreen( g ) ) ),
MakeBack( true, titleFont, MakeBack( true, titleFont,
(g, w) => g.SetNewScreen( null ) ), (g, w) => g.SetNewScreen( null ) ),
game.PureClassicMode ? null : game.PureClassicMode ? null :
MakeClassic( 0, 150, "Nostalgia options", Anchor.Centre, MakeClassic( 0, 150, "Nostalgia options",
(g, w) => g.SetNewScreen( new NostalgiaScreen( g ) ) ), (g, w) => g.SetNewScreen( new NostalgiaScreen( g ) ) ),
}; };
} }
@ -100,14 +100,14 @@ namespace ClassicalSharp {
} }
} }
ButtonWidget Make( int x, int y, string text, Anchor vDocking, Action<Game, Widget> onClick ) { ButtonWidget Make( int x, int y, string text, Action<Game, Widget> onClick ) {
return ButtonWidget.Create( game, x, y, 240, 35, text, 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<Game, Widget> onClick ) { ButtonWidget MakeClassic( int x, int y, string text, Action<Game, Widget> onClick ) {
return ButtonWidget.Create( game, x, y, 400, 40, text, return ButtonWidget.Create( game, x, y, 401, 41, text,
Anchor.Centre, vDocking, titleFont, LeftOnly( onClick ) ); Anchor.Centre, Anchor.Centre, titleFont, LeftOnly( onClick ) );
} }
ButtonWidget MakeOther( int x, int y, int width, string text, Anchor hAnchor, Action<Game, Widget> onClick ) { ButtonWidget MakeOther( int x, int y, int width, string text, Anchor hAnchor, Action<Game, Widget> onClick ) {

View File

@ -92,8 +92,10 @@ namespace Launcher2 {
game.ClassicMode = !game.ClassicMode; game.ClassicMode = !game.ClassicMode;
Options.Load(); Options.Load();
Options.Set( "mode-classic", game.ClassicMode ); Options.Set( "mode-classic", game.ClassicMode );
if( game.ClassicMode ) if( game.ClassicMode ) {
Options.Set( "namesmode", "AllNamesAndHovered" ); Options.Set( "namesmode", "AllNamesAndHovered" );
Options.Set( "gui-arialchatfont", "false" );
}
Options.Set( "nostalgia-customblocks", !game.ClassicMode ); Options.Set( "nostalgia-customblocks", !game.ClassicMode );
Options.Set( "nostalgia-usecpe", !game.ClassicMode ); Options.Set( "nostalgia-usecpe", !game.ClassicMode );