diff --git a/Updater/Config.cs b/Updater/Config.cs index 447cdb5..a0a635b 100755 --- a/Updater/Config.cs +++ b/Updater/Config.cs @@ -51,6 +51,9 @@ public class Config A = 1f } }; + if (!Directory.Exists(Program.JT)) Directory.CreateDirectory(Program.JT); + if (!Directory.Exists(Program.JT + "/Updater")) Directory.CreateDirectory(Program.JT + "/Updater" ); + if (!Directory.Exists(Program.JT + "/Updater/Config")) Directory.CreateDirectory(Program.JT + "/Updater/Config"); FileStream ms = new(Program.JT + "/Updater/Config/Settings.json", FileMode.Create); JsonSerializer.Serialize(new Utf8JsonWriter(ms), file, diff --git a/Updater/NewUpdater.cs b/Updater/NewUpdater.cs index 0ec3520..5e63215 100644 --- a/Updater/NewUpdater.cs +++ b/Updater/NewUpdater.cs @@ -3,9 +3,9 @@ using System.Diagnostics; using System.Net; using System.Text.Json; using GraphicsManager; -using GraphicsManager.Enums; using GraphicsManager.Objects; using GraphicsManager.Objects.Core; +using OpenTK.Mathematics; using OpenTK.Windowing.Desktop; namespace Updater; @@ -13,43 +13,48 @@ namespace Updater; public class NewUpdater : FPSWindow { private readonly ConfigFile cf; - private Texture ProgressbarTexture; private ProgressBar TotalProgress; private Argumets Argumets; private List ProgressThreads = new(); - public FontInteraction fi; - private int WallDistance; private readonly BackgroundWorker Download = new(); public NewUpdater(NativeWindowSettings nws, GameWindowSettings gws, Argumets args) :base(nws, gws) { cf = Config.GetConfig(); + Size = new(cf.Scale(Size.X), cf.Scale(Size.Y)); Argumets = args; - fi = FontInteraction.Load(FontFamily.LoadFontFamily("Noto Sans").Result); + var r = FontFamily.LoadFontFamily().Result; + FontInteraction fi = FontInteraction.Load(r); BackgroundColor = cf.Colors.Background.ToColor4(); - WallDistance = cf.Scale(16); - ProgressbarTexture = TextureManager.AddTexture(File.OpenRead("/home/jacob/Pictures/Progress.png")); - Controls.Add(TotalProgress = new ProgressBar(ProgressbarTexture) + int WallDistance = cf.Scale(15); + //Texture ProgressbarTexture = TextureManager.AddTexture(File.OpenRead("/home/jacob/Pictures/Progress.png")); + Controls.Add(TotalProgress = new ProgressBar() { Location = new(WallDistance, cf.Scale(70), 0), Size = new(Size.X - WallDistance - WallDistance, cf.Scale(20)), BackgroundColor = cf.Colors.Progress_bars.Backcolor.ToColor4(), ProgressColor = cf.Colors.Progress_bars.Fillcolor.ToColor4(), ProgressValue = 25, - ProgressGap = 4, - Shader = Rectangle.DefaultAlphaShader[Context], - TextureDisplay = TextureDisplay.ProgressHorizontalCenter, + ProgressGap = (uint)cf.Scale(3), + //Shader = Rectangle.DefaultAlphaShader[Context], + //TextureDisplay = TextureDisplay.ProgressHorizontalCenter, UpdateOnDraw = true }); - TotalProgress.InnerShader = TotalProgress.Shader; - int gap = cf.Scale(15); + //TotalProgress.InnerShader = TotalProgress.Shader; + int gap = cf.Scale(10); for (int i = 0; i < cf.Format.DownloadThreads; i++) { ProgressBar temp; Size = new(Size.X, Size.Y + gap + TotalProgress.Size.Y); - Controls.Add(temp = new ProgressBar(ProgressbarTexture) + Label l = new(fi) { - Location = new(WallDistance, cf.Scale(70) + (TotalProgress.Size.Y * (i + 1)) + (cf.Scale(15) * (i + 1)), 0), + Color = Color4.Black, + Text = "Downloading bob" + }; + l.Location = new(cf.Scale(5), (int)(((TotalProgress.Size.Y - l.TrueHeight) / 2) - fi.PixelHeight + l.PostiveTrueHeight), 0); + Controls.Add(temp = new ProgressBar() + { + Location = new(WallDistance, cf.Scale(70) + (TotalProgress.Size.Y * (i + 1)) + (gap * (i + 1)), 0), Size = TotalProgress.Size, BackgroundColor = TotalProgress.BackgroundColor, ProgressColor = TotalProgress.ProgressColor, @@ -57,13 +62,15 @@ public class NewUpdater : FPSWindow ProgressGap = TotalProgress.ProgressGap, Shader = TotalProgress.Shader, TextureDisplay = TotalProgress.TextureDisplay, - UpdateOnDraw = true + UpdateOnDraw = true, + InnerShader = TotalProgress.InnerShader, + Tag = l }); - temp.InnerShader = TotalProgress.Shader; + temp.Controls.Add(l); ProgressThreads.Add(temp); } fi.PixelHeight = (uint)cf.Scale(15); - Download.DoWork += new DoWorkEventHandler(Download_DoWork); + Download.DoWork += Download_DoWork; Download.RunWorkerCompleted += Download_RunWorkerCompleted; Download.WorkerReportsProgress = true; Invoke(new Action(() => { Download.RunWorkerAsync(); })); @@ -130,11 +137,10 @@ public class NewUpdater : FPSWindow #pragma warning restore SYSLIB0014 // Type or member is obsolete ChangeProcessText("Getting update info"); string rem = webPre.DownloadString($"https://{Program.Domain}/Updater/Files?directory={Argumets.RemoteDirectory}{Argumets.UriBranch}{Argumets.UriSeflContaind}{Argumets.UriPlatform}{Argumets.UriVersion}"); - ulong realmax; - string uri; + //string uri; try { - realmax = ulong.Parse(webPre.DownloadString($"https://{Program.Domain}/Updater/GetSize?directory={Argumets.RemoteDirectory}{Argumets.UriBranch}{Argumets.UriSeflContaind}{Argumets.UriPlatform}{Argumets.UriVersion}")); + ulong realmax = ulong.Parse(webPre.DownloadString($"https://{Program.Domain}/Updater/GetSize?directory={Argumets.RemoteDirectory}{Argumets.UriBranch}{Argumets.UriSeflContaind}{Argumets.UriPlatform}{Argumets.UriVersion}")); TotalProgress.MaxProgressValue = realmax; Console.WriteLine(TotalProgress.MaxProgressValue); //queue.Enqueue(new Action(() => { if (Total_Downloaded is not null) Total_Downloaded.Text = TotalDownloadAmountNeat(realmax); })); @@ -155,8 +161,7 @@ public class NewUpdater : FPSWindow #pragma warning restore SYSLIB0014 // Type or member is obsolete if (string.IsNullOrEmpty(file)) return; - Console.WriteLine(file); - uri = $"https://{Program.Domain}/Updater/GetFileSize?directory={Argumets.RemoteDirectory}{Argumets.UriBranch}{Argumets.UriVersion}{Argumets.UriSeflContaind}{Argumets.UriPlatform}&file={file}"; + string uri = $"https://{Program.Domain}/Updater/GetFileSize?directory={Argumets.RemoteDirectory}{Argumets.UriBranch}{Argumets.UriVersion}{Argumets.UriSeflContaind}{Argumets.UriPlatform}&file={file}"; Uri u = new($"https://{Program.Domain}/Updater/GetFile?directory={Argumets.RemoteDirectory}{Argumets.UriBranch}{Argumets.UriVersion}{Argumets.UriSeflContaind}{Argumets.UriPlatform}&file={file}"); Console.WriteLine(file); Console.WriteLine(uri); @@ -217,7 +222,12 @@ public class NewUpdater : FPSWindow TotalProgress.ProgressValue += (ulong)args.BytesReceived - pb.ProgressValue; pb.ProgressValue = (ulong)args.BytesReceived; }; - ChangeProcessText($"Downloading {temp[^1]}"); + string s = $"Downloading {temp[^1]}"; + ChangeProcessText(s); + if (pb.Tag is Label l && temp[^1] == "file2.txt") + { + l.Text = s; + } if (Argumets.Updater is null) { web.DownloadFileTaskAsync(u, Argumets.LocalDirectory + file).Wait(); diff --git a/Updater/RenderText.cs b/Updater/RenderText.cs index c665f68..171bcfa 100755 --- a/Updater/RenderText.cs +++ b/Updater/RenderText.cs @@ -45,8 +45,8 @@ void main() { this.Text = Text; this.PixelHeight = PixelHeight; - this.X = FloatToInt(x, StartGUI.Width); - this.Y = FloatToInt(y, StartGUI.Height, true); + this.X = FloatToInt(x, 1); + this.Y = FloatToInt(y, 1, true); this.Scale = scale; this.DIR = dir; this.Color = col; @@ -190,8 +190,8 @@ void main() Shader.Use(); GL.Enable(EnableCap.Blend); GL.Uniform4(2, Color); - _ = Matrix4.CreateScale(new Vector3(1f / StartGUI.Width, 1f / StartGUI.Height, 1.0f)); - Matrix4 projectionM = Matrix4.CreateOrthographicOffCenter(0.0f, StartGUI.Width, StartGUI.Height, 0.0f, -1.0f, 1.0f); + _ = Matrix4.CreateScale(new Vector3(1f / 1, 1f / 1, 1.0f)); + Matrix4 projectionM = Matrix4.CreateOrthographicOffCenter(0.0f, 1, 1, 0.0f, -1.0f, 1.0f); GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha); GL.BlendFunc(0, BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); GL.UniformMatrix4(1, false, ref projectionM); diff --git a/Updater/StartGUI.cs b/Updater/StartGUI.cs index 643a283..80ba8c6 100755 --- a/Updater/StartGUI.cs +++ b/Updater/StartGUI.cs @@ -13,8 +13,8 @@ namespace Updater; public class StartGUI { - internal static int Width = 694; - internal static int Height = 216; + //internal static int Width = 694; + //internal static int Height = 216; public static SixLabors.ImageSharp.Image? Logo { get; private set; } static readonly NativeWindowSettings Settings = new() { @@ -22,6 +22,7 @@ public class StartGUI WindowBorder = WindowBorder.Fixed, APIVersion = new Version(3, 2), StartFocused = true, + Size = new(694, 105) }; private static readonly GameWindowSettings GameWindowSettings = new() @@ -43,7 +44,7 @@ public class StartGUI /// internal static int Main(Argumets args) { - + /* var mmm = Monitors.GetMonitors(); if (mmm is not null && mmm.Any()) { @@ -56,8 +57,8 @@ public class StartGUI Height = temph - 30; // Settings.CurrentMonitor = mi.Handle; } - Settings.Size = new Vector2i(Width, Height); - + //Settings.Size = new Vector2i(Width, Height); +*/ Image Logo = SixLabors.ImageSharp.Image.Load(Tools.GetResourceStream(Assembly.GetExecutingAssembly(), "Updater.Resource.Logo.png")); Logo.DangerousTryGetSinglePixelMemory(out Memory m); byte[] pixels = new byte[4 * Logo.Width * Logo.Height];