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[] {
// 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,

View File

@ -119,12 +119,19 @@ namespace ClassicalSharp {
protected virtual void InputClosed() { }
protected virtual ButtonWidget Make( int x, int y, string text, ClickHandler onClick,
Func<Game, string> getter, Action<Game, string> setter ) {
protected ButtonWidget Make( int x, int y, string text, ClickHandler onClick,
Func<Game, string> getter, Action<Game, string> 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<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;
}
@ -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 );
}

View File

@ -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<Game, Widget> onClick ) {
ButtonWidget Make( int x, int y, string text, Action<Game, Widget> 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<Game, Widget> 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<Game, Widget> 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<Game, Widget> onClick ) {

View File

@ -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 );