From 5b73327a861fd624e4bc89c48ede68ad8c934a4f Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sun, 20 Aug 2017 18:24:58 +1000 Subject: [PATCH] Better names in nostalgia options --- .../2D/Screens/Menu/NostalgiaScreen.cs | 4 +- ClassicalSharp/2D/Screens/Overlays/Overlay.cs | 2 +- .../2D/Screens/Overlays/TexIdsOverlay.cs | 62 +++++++++++++++++++ ClassicalSharp/ClassicalSharp.csproj | 3 +- ClassicalSharp/Game/InputHandler.cs | 10 ++- 5 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 ClassicalSharp/2D/Screens/Overlays/TexIdsOverlay.cs diff --git a/ClassicalSharp/2D/Screens/Menu/NostalgiaScreen.cs b/ClassicalSharp/2D/Screens/Menu/NostalgiaScreen.cs index 52f6d0266..3d36fbf3a 100644 --- a/ClassicalSharp/2D/Screens/Menu/NostalgiaScreen.cs +++ b/ClassicalSharp/2D/Screens/Menu/NostalgiaScreen.cs @@ -30,9 +30,9 @@ namespace ClassicalSharp.Gui.Screens { protected override void ContextRecreated() { widgets = new Widget[] { // Column 1 - MakeBool(-1, -150, "Classic arm model", OptionsKey.ClassicArmModel, + MakeBool(-1, -150, "Classic hand model", OptionsKey.ClassicArmModel, OnWidgetClick, g => g.ClassicArmModel, (g, v) => g.ClassicArmModel = v), - MakeBool(-1, -100, "Classic arms anim", OptionsKey.SimpleArmsAnim, true, + MakeBool(-1, -100, "Classic walk anim", OptionsKey.SimpleArmsAnim, true, OnWidgetClick, g => !g.SimpleArmsAnim, (g, v) => g.SimpleArmsAnim = !v), MakeBool(-1, -50, "Classic gui textures", OptionsKey.UseClassicGui, OnWidgetClick, g => g.UseClassicGui, (g, v) => g.UseClassicGui = v), diff --git a/ClassicalSharp/2D/Screens/Overlays/Overlay.cs b/ClassicalSharp/2D/Screens/Overlays/Overlay.cs index cdfcb00a8..3fcfc8eb7 100644 --- a/ClassicalSharp/2D/Screens/Overlays/Overlay.cs +++ b/ClassicalSharp/2D/Screens/Overlays/Overlay.cs @@ -12,7 +12,7 @@ namespace ClassicalSharp.Gui.Screens { protected TextWidget[] labels; public string[] lines = new string[4]; - public Overlay(Game game) : base(game) { } + public Overlay(Game game) : base(game) { } public override void Init() { base.Init(); diff --git a/ClassicalSharp/2D/Screens/Overlays/TexIdsOverlay.cs b/ClassicalSharp/2D/Screens/Overlays/TexIdsOverlay.cs new file mode 100644 index 000000000..3aa2c18ed --- /dev/null +++ b/ClassicalSharp/2D/Screens/Overlays/TexIdsOverlay.cs @@ -0,0 +1,62 @@ +// Copyright 2014-2017 ClassicalSharp | Licensed under BSD-3 +using System; +using System.Drawing; +using ClassicalSharp.GraphicsAPI; +using ClassicalSharp.Gui.Widgets; +using OpenTK.Input; + +namespace ClassicalSharp.Gui.Screens { + + public sealed class TexIdsOverlay : Overlay { + + TextAtlas idAtlas; + public TexIdsOverlay(Game game) : base(game) { } + + public override void Init() { + base.Init(); + idAtlas = new TextAtlas(game, 16); + idAtlas.Pack("0123456789", regularFont, "f"); + } + + public override void Render(double delta) { + int index = 0; + VertexP3fT2fC4b[] vertices = game.ModelCache.vertices; + idAtlas.tex.Y = 100; + + for (int y = 0; y < 2; y++) { + idAtlas.curX = 0; + for (int x = 0; x < 16; x++) { + idAtlas.AddInt(x + (y * 16), vertices, ref index); + idAtlas.curX += 20; + } + idAtlas.tex.Y += 50; + } + + RenderMenuBounds(); + gfx.Texturing = true; + gfx.SetBatchFormat(VertexFormat.P3fT2fC4b); + gfx.BindTexture(idAtlas.tex.ID); + gfx.UpdateDynamicVb_IndexedTris(game.ModelCache.vb, game.ModelCache.vertices, index); + gfx.Texturing = false; + } + + public override bool HandlesKeyDown(Key key) { + if (key == Key.F10 || key == game.Input.Keys[KeyBind.PauseOrExit]) { + Dispose(); + CloseOverlay(); + } + return true; + } + + public override void RedrawText() { } + + public override void MakeButtons() { + widgets = new Widget[0]; + } + + public override void Dispose() { + base.Dispose(); + idAtlas.Dispose(); + } + } +} \ No newline at end of file diff --git a/ClassicalSharp/ClassicalSharp.csproj b/ClassicalSharp/ClassicalSharp.csproj index d8661e80b..3eae8ab2a 100644 --- a/ClassicalSharp/ClassicalSharp.csproj +++ b/ClassicalSharp/ClassicalSharp.csproj @@ -4,7 +4,7 @@ {BEB1C785-5CAD-48FF-A886-876BF0A318D4} Debug AnyCPU - WinExe + Exe ClassicalSharp ClassicalSharp v2.0 @@ -91,6 +91,7 @@ + diff --git a/ClassicalSharp/Game/InputHandler.cs b/ClassicalSharp/Game/InputHandler.cs index 345019d33..e3b063083 100644 --- a/ClassicalSharp/Game/InputHandler.cs +++ b/ClassicalSharp/Game/InputHandler.cs @@ -267,12 +267,20 @@ namespace ClassicalSharp { } } else if (key == Keys[KeyBind.PauseOrExit] && game.World.blocks != null) { game.Gui.SetNewScreen(new PauseScreen(game)); - } else if (!game.Mode.HandlesKeyDown(key)) { + } else if (game.Mode.HandlesKeyDown(key)) { + } else if (key == Key.F10) { + ShowTextureIdsOverlay(); + } else { return false; } return true; } + void ShowTextureIdsOverlay() { + if (game.Gui.overlays.Count > 0) return; + game.Gui.ShowOverlay(new TexIdsOverlay(game)); + } + void Toggle(Key key, ref bool target, string enableMsg, string disableMsg) { target = !target; if (target) {