From 474fcc7c5f42cfbf10808fbf7d52b9c3745c12a9 Mon Sep 17 00:00:00 2001 From: Alex-TIMEHACK Date: Mon, 28 Aug 2017 10:16:44 +0100 Subject: Fixed weird explorer scaling --- .../Win95Apps/Win95WindowsExplorer.Designer.cs | 27 ++++++++++------------ .../WinClassicWindowsExplorer.Designer.cs | 2 +- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.Designer.cs b/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.Designer.cs index e16d79b..8939b84 100644 --- a/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.Designer.cs +++ b/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.Designer.cs @@ -67,7 +67,6 @@ // program // this.program.BackColor = System.Drawing.Color.Silver; - this.program.Controls.Add(this.pnlSave); this.program.Controls.Add(this.mainView); this.program.Controls.Add(this.diskView); this.program.Controls.Add(this.MenuStrip1); @@ -75,6 +74,7 @@ this.program.Controls.Add(this.bottomrightcorner); this.program.Controls.Add(this.bottomleftcorner); this.program.Controls.Add(this.topleftcorner); + this.program.Controls.Add(this.pnlSave); this.program.Dock = System.Windows.Forms.DockStyle.Fill; this.program.Location = new System.Drawing.Point(0, 0); this.program.Name = "program"; @@ -86,9 +86,10 @@ this.pnlSave.Controls.Add(this.Button1); this.pnlSave.Controls.Add(this.Label1); this.pnlSave.Controls.Add(this.txtSave); - this.pnlSave.Location = new System.Drawing.Point(3, 474); + this.pnlSave.Dock = System.Windows.Forms.DockStyle.Bottom; + this.pnlSave.Location = new System.Drawing.Point(0, 482); this.pnlSave.Name = "pnlSave"; - this.pnlSave.Size = new System.Drawing.Size(850, 35); + this.pnlSave.Size = new System.Drawing.Size(704, 35); this.pnlSave.TabIndex = 18; this.pnlSave.Visible = false; // @@ -96,7 +97,7 @@ // this.Button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.Button1.Location = new System.Drawing.Point(608, 1); + this.Button1.Location = new System.Drawing.Point(629, 1); this.Button1.Name = "Button1"; this.Button1.Size = new System.Drawing.Size(75, 23); this.Button1.TabIndex = 17; @@ -119,17 +120,15 @@ | System.Windows.Forms.AnchorStyles.Right))); this.txtSave.Location = new System.Drawing.Point(60, 3); this.txtSave.Name = "txtSave"; - this.txtSave.Size = new System.Drawing.Size(542, 20); + this.txtSave.Size = new System.Drawing.Size(563, 20); this.txtSave.TabIndex = 15; // // mainView // - this.mainView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.mainView.Location = new System.Drawing.Point(215, 27); + this.mainView.Dock = System.Windows.Forms.DockStyle.Fill; + this.mainView.Location = new System.Drawing.Point(213, 24); this.mainView.Name = "mainView"; - this.mainView.Size = new System.Drawing.Size(486, 444); + this.mainView.Size = new System.Drawing.Size(491, 458); this.mainView.TabIndex = 10; this.mainView.UseCompatibleStateImageBehavior = false; this.mainView.AfterLabelEdit += new System.Windows.Forms.LabelEditEventHandler(this.mainView_AfterLabelEdit); @@ -137,12 +136,10 @@ // // diskView // - this.diskView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.diskView.Location = new System.Drawing.Point(3, 27); + this.diskView.Dock = System.Windows.Forms.DockStyle.Left; + this.diskView.Location = new System.Drawing.Point(0, 24); this.diskView.Name = "diskView"; - this.diskView.Size = new System.Drawing.Size(213, 444); + this.diskView.Size = new System.Drawing.Size(213, 458); this.diskView.TabIndex = 13; this.diskView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.diskView_AfterSelect); // diff --git a/Histacom2/OS/Win98/Win98Apps/WinClassicWindowsExplorer.Designer.cs b/Histacom2/OS/Win98/Win98Apps/WinClassicWindowsExplorer.Designer.cs index 25d29fd..af2570c 100644 --- a/Histacom2/OS/Win98/Win98Apps/WinClassicWindowsExplorer.Designer.cs +++ b/Histacom2/OS/Win98/Win98Apps/WinClassicWindowsExplorer.Designer.cs @@ -337,7 +337,7 @@ // // Button1 // - this.Button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.Button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.Button1.Location = new System.Drawing.Point(626, 3); this.Button1.Name = "Button1"; -- cgit v1.2.3 From 1523a8133e8267420f4ad8988e3c466bcc017442 Mon Sep 17 00:00:00 2001 From: Alex-TIMEHACK Date: Tue, 29 Aug 2017 14:00:58 +0100 Subject: Save File Trouble Shooter Re-do --- Histacom2.Engine/SaveSystem.cs | 7 ++ Histacom2.Engine/Template/WinClassic.Designer.cs | 2 + Histacom2.Engine/Template/WinClassic.cs | 66 +++++++--- .../SaveDialogs/SaveFileTroubleShooter.Designer.cs | 49 ++++---- Histacom2/SaveDialogs/SaveFileTroubleShooter.cs | 135 +++++++++++++++------ Histacom2/TitleScreen.Designer.cs | 2 +- Histacom2/TitleScreen.cs | 2 - 7 files changed, 184 insertions(+), 79 deletions(-) diff --git a/Histacom2.Engine/SaveSystem.cs b/Histacom2.Engine/SaveSystem.cs index 7da916b..b8c619e 100644 --- a/Histacom2.Engine/SaveSystem.cs +++ b/Histacom2.Engine/SaveSystem.cs @@ -28,6 +28,13 @@ namespace Histacom2.Engine public static Theme currentTheme { get; set; } + public static bool IsBinarySave = +#if BINARY_SAVE + true; +#else + false; +#endif + #if BINARY_SAVE private static readonly byte[] magic = Encoding.UTF8.GetBytes("THSv"); private static readonly IOrderedEnumerable properties = typeof(Save).GetProperties().OrderBy(p => (p.GetCustomAttributes(typeof(OrderAttribute), false).SingleOrDefault() as OrderAttribute).Order); diff --git a/Histacom2.Engine/Template/WinClassic.Designer.cs b/Histacom2.Engine/Template/WinClassic.Designer.cs index be76be6..9092609 100644 --- a/Histacom2.Engine/Template/WinClassic.Designer.cs +++ b/Histacom2.Engine/Template/WinClassic.Designer.cs @@ -254,11 +254,13 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(300, 300); this.Controls.Add(this.program); + this.DoubleBuffered = true; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.Name = "WinClassic"; this.Text = "WinClassic"; this.Activated += new System.EventHandler(this.WinClassic_Activated); this.Deactivate += new System.EventHandler(this.WinClassic_Deactivate); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.WinClassic_Paint); this.program.ResumeLayout(false); this.programtopbar.ResumeLayout(false); this.programtopbar.PerformLayout(); diff --git a/Histacom2.Engine/Template/WinClassic.cs b/Histacom2.Engine/Template/WinClassic.cs index 4c495bc..67a0322 100644 --- a/Histacom2.Engine/Template/WinClassic.cs +++ b/Histacom2.Engine/Template/WinClassic.cs @@ -18,6 +18,8 @@ namespace Histacom2.Engine.Template public bool resizable = true; public bool closeDisabled = false; public bool isActive = true; + public bool Resizing = false; + public Bitmap ResizingBmp = null; public const int WM_NCLBUTTONDOWN = 0xA1; public const int WM_SYSCOMMAND = 0x0112; @@ -73,6 +75,7 @@ namespace Histacom2.Engine.Template if (e.Button == MouseButtons.Left) { if (resizable) this.Size = new Size(MousePosition.X - this.Location.X, this.Size.Height); + this.Invalidate(); } } @@ -82,6 +85,7 @@ namespace Histacom2.Engine.Template { if (resizable) this.Width = ((this.Width + this.Location.X) - Cursor.Position.X); if (resizable)this.Location = new Point(Cursor.Position.X, this.Location.Y); + this.Invalidate(); } } @@ -90,6 +94,7 @@ namespace Histacom2.Engine.Template if (e.Button == MouseButtons.Left) { if (resizable) this.Size = new Size(this.Size.Width, MousePosition.Y - this.Location.Y); + this.Invalidate(); } } @@ -98,6 +103,7 @@ namespace Histacom2.Engine.Template if (e.Button == MouseButtons.Left) { if (resizable) this.Size = new Size(MousePosition.X - this.Location.X, MousePosition.Y - this.Location.Y); + this.Invalidate(); } } @@ -108,6 +114,7 @@ namespace Histacom2.Engine.Template if (resizable) this.Width = ((this.Width + this.Location.X) - Cursor.Position.X); if (resizable) this.Height = (Cursor.Position.Y - this.Location.Y); if (resizable) this.Location = new Point(Cursor.Position.X, this.Location.Y); + this.Invalidate(); } } @@ -119,6 +126,7 @@ namespace Histacom2.Engine.Template if (resizable) this.Location = new Point(Cursor.Position.X, this.Location.Y); if (resizable) this.Height = ((this.Height + this.Location.Y) - Cursor.Position.Y); if (resizable) this.Location = new Point(this.Location.X, Cursor.Position.Y); + this.Invalidate(); } } @@ -128,6 +136,7 @@ namespace Histacom2.Engine.Template { if(resizable) this.Height = ((this.Height + this.Location.Y) - Cursor.Position.Y); if(resizable) this.Location = new Point(this.Location.X, Cursor.Position.Y); + this.Invalidate(); } } @@ -138,6 +147,48 @@ namespace Histacom2.Engine.Template if (resizable) this.Width = (Cursor.Position.X - this.Location.X); if (resizable) this.Height = ((this.Location.Y - Cursor.Position.Y) + this.Height); if (resizable) this.Location = new Point(this.Location.X, Cursor.Position.Y); + this.Update(); + } + } + + private void WinClassic_Paint(object sender, PaintEventArgs e) + { + if (Resizing) + { + MessageBox.Show("HIT IT"); + e.Graphics.DrawImage(ResizingBmp, 0, 0, this.Width, this.Height); + } + } + + private void border_MouseDown(object sender, MouseEventArgs e) + { + var cursor = this.PointToClient(Cursor.Position); + + if (topleftcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF004, 0); + else if (toprightcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF005, 0); + else if (bottomleftcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF007, 0); + else if (bottomrightcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF008, 0); + + else if (top.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF003, 0); + else if (left.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF001, 0); + else if (right.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF002, 0); + else if (bottom.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF006, 0); + + /* Now we need to fix this weird artificating! + To lempamo: This is probably the best way I can think of the fix this + I can take a picture of the window as it is and then just draw that + and once you mouseup I will go back to the actual form + I'll have a boolean called Resizing which tells the form on paint to just draw the overlay! + */ + + var screen = Screen.PrimaryScreen; + + using (var bitmap = new Bitmap(this.Bounds.Width, this.Bounds.Height)) + using (var graphics = Graphics.FromImage(bitmap)) + { + graphics.CopyFromScreen(new Point(this.Bounds.Left, this.Bounds.Top), new Point(0, 0), this.Bounds.Size); + Resizing = true; + ResizingBmp = bitmap; } } @@ -216,20 +267,5 @@ namespace Histacom2.Engine.Template var c = (Button)sender; c.UseVisualStyleBackColor = true; } - - private void border_MouseDown(object sender, EventArgs e) - { - var cursor = this.PointToClient(Cursor.Position); - - if (topleftcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF004, 0); - else if (toprightcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF005, 0); - else if (bottomleftcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF007, 0); - else if (bottomrightcorner.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF008, 0); - - else if (top.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF003, 0); - else if (left.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF001, 0); - else if (right.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF002, 0); - else if (bottom.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF006, 0); - } } } diff --git a/Histacom2/SaveDialogs/SaveFileTroubleShooter.Designer.cs b/Histacom2/SaveDialogs/SaveFileTroubleShooter.Designer.cs index 4c11576..85c04fb 100644 --- a/Histacom2/SaveDialogs/SaveFileTroubleShooter.Designer.cs +++ b/Histacom2/SaveDialogs/SaveFileTroubleShooter.Designer.cs @@ -30,9 +30,9 @@ { this.label1 = new System.Windows.Forms.Label(); this.pnlResolved = new System.Windows.Forms.Panel(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); this.btnClose = new System.Windows.Forms.Button(); this.pnlResolved.SuspendLayout(); @@ -59,19 +59,22 @@ this.pnlResolved.Controls.Add(this.label2); this.pnlResolved.Location = new System.Drawing.Point(12, 38); this.pnlResolved.Name = "pnlResolved"; - this.pnlResolved.Size = new System.Drawing.Size(589, 146); + this.pnlResolved.Size = new System.Drawing.Size(589, 275); this.pnlResolved.TabIndex = 1; this.pnlResolved.Visible = false; // - // label2 + // textBox1 // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(8, 11); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(210, 20); - this.label2.TabIndex = 0; - this.label2.Text = "The issue has been resolved"; + this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBox1.Location = new System.Drawing.Point(10, 55); + this.textBox1.Multiline = true; + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.textBox1.Size = new System.Drawing.Size(567, 208); + this.textBox1.TabIndex = 3; // // label3 // @@ -82,24 +85,22 @@ this.label3.TabIndex = 2; this.label3.Text = "log:"; // - // textBox1 + // label2 // - this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textBox1.Location = new System.Drawing.Point(10, 55); - this.textBox1.Multiline = true; - this.textBox1.Name = "textBox1"; - this.textBox1.ReadOnly = true; - this.textBox1.Size = new System.Drawing.Size(567, 79); - this.textBox1.TabIndex = 3; + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(8, 11); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(210, 20); + this.label2.TabIndex = 0; + this.label2.Text = "The issue has been resolved"; // // panel2 // - this.panel2.BackColor = System.Drawing.SystemColors.ControlDark; + this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); this.panel2.Controls.Add(this.btnClose); this.panel2.Dock = System.Windows.Forms.DockStyle.Bottom; - this.panel2.Location = new System.Drawing.Point(0, 217); + this.panel2.Location = new System.Drawing.Point(0, 315); this.panel2.Name = "panel2"; this.panel2.Size = new System.Drawing.Size(612, 30); this.panel2.TabIndex = 2; @@ -119,7 +120,7 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(612, 247); + this.ClientSize = new System.Drawing.Size(612, 345); this.Controls.Add(this.panel2); this.Controls.Add(this.pnlResolved); this.Controls.Add(this.label1); diff --git a/Histacom2/SaveDialogs/SaveFileTroubleShooter.cs b/Histacom2/SaveDialogs/SaveFileTroubleShooter.cs index 9d26762..af105f0 100644 --- a/Histacom2/SaveDialogs/SaveFileTroubleShooter.cs +++ b/Histacom2/SaveDialogs/SaveFileTroubleShooter.cs @@ -43,6 +43,7 @@ namespace Histacom2.SaveDialogs // Check if the main.save file exists string savefile = Path.Combine(SaveSystem.ProfileDirectory, "main.save"); + string oldsavefile = Path.Combine(SaveSystem.ProfileDirectory, "oldmain.save"); if (!File.Exists(savefile)) { @@ -58,54 +59,111 @@ namespace Histacom2.SaveDialogs return; } else { WriteToLog("File main.save does exist - checking contents"); + bool readable = false; try { savedata = SaveSystem.ReadSave(savefile); - + readable = true; } catch { - WriteToLog("ISSUE FOUND! File main.save is unreadable"); + WriteToLog("Save file cannot be read - scanning each line and examining them..."); + // Take a little look at the file? - WriteToLog("Sorry, there is no repairing it easily, your data will be lost"); + // But first let's just create a measure of how the JSON SHOULD look + if (!SaveSystem.IsBinarySave) + { + if (File.Exists(oldsavefile)) File.Delete(oldsavefile); + File.Copy(savefile, oldsavefile); - string backupfile = Path.Combine(SaveSystem.ProfileDirectory, "main.backup"); + SaveSystem.NewGame(); + string[] fileLines = File.ReadAllText(oldsavefile).Split('\n'); + string[] shouldBeLines = File.ReadAllText(savefile).Split('\n'); + int i = 0; - if (Directory.Exists(backupfile)) Directory.Delete(backupfile); + string newJson = ""; - File.Copy(savefile, backupfile); - SaveSystem.NewGame(); + foreach (string element in fileLines) + { + element.Replace("\n", "").Replace("\r", ""); + } - // Make sure the username is set + foreach (string line in fileLines) + { + if (!line.StartsWith("{")) + { + if (!line.StartsWith("}")) + { + try { + // We will attempt to deserialize this line - SaveSystem.CurrentSave.Username = SaveSystem.ProfileName; + Newtonsoft.Json.JsonConvert.DeserializeObject("{" + $"{Environment.NewLine}{line}{Environment.NewLine}" + "}"); - WriteToLog($"The corrupt file has been stored in {backupfile}"); + // It worked! This line is not the problem! - EndScan(true); - } - + newJson += $"{Environment.NewLine}{fileLines[i]}"; - // Check the values + WriteToLog($"The line {fileLines[i]} is fine!"); + } catch { + // If it failed to read this line the this is the line that's causing problems! - if (savedata.CurrentOS == null || savedata.CurrentOS == "") - { - WriteToLog("ISSUE FOUND! Data for CurrentOS is null! Giving default value..."); - savedata.CurrentOS = "95"; - EndScan(true); - } + try { newJson += $"{Environment.NewLine}{shouldBeLines[i]}"; + WriteToLog($"ISSUE FOUND! The line {fileLines[i]} was corrupt - it has been reset to default settings!"); + } catch { WriteToLog($"ISSUE FOUND! A line was unneeded - it has been removed as it should!"); } // The reason I'm catching that is in case someone adds a line at the end of the file or something + } + } + } + i++; + } - if (savedata.ExperiencedStories == null) - { - WriteToLog("ISSUE FOUND! Data for ExperiencedStories is null! Giving default value..."); - savedata.ExperiencedStories = new List(); - } + // After all that let's see if we fixed the file - but first, add the "{" and "}" in! - if (savedata.ThemeName == null || savedata.ThemeName == "") - { - WriteToLog("ISSUE FOUND! Data for ThemeName is null! Giving default value..."); - savedata.ThemeName = "95normal"; + newJson = "{" + $"{Environment.NewLine}{newJson}{Environment.NewLine}" + "}"; + + // Now let's test it + + try + { + savedata = Newtonsoft.Json.JsonConvert.DeserializeObject(newJson); + + WriteToLog("Save file successfully recovered!"); + + File.WriteAllText(savefile, newJson); + readable = true; + + if (File.Exists(oldsavefile)) File.Delete(oldsavefile); + EndScan(true); + } catch { + // It's unusable... + + WriteToLog("ISSUE FOUND! File main.save is unreadable"); + + WriteToLog("Sorry, there is no repairing it easily, your data will be lost"); + + string backupfile = Path.Combine(SaveSystem.ProfileDirectory, "main.backup"); + + if (Directory.Exists(backupfile)) Directory.Delete(backupfile); + + File.Copy(savefile, backupfile); + SaveSystem.NewGame(); + + // Make sure the username is set + + SaveSystem.CurrentSave.Username = SaveSystem.ProfileName; + SaveSystem.SaveGame(); + + WriteToLog($"The corrupt file has been stored in {backupfile}"); + + EndScan(true); + } + } } + + + // Check the values if it was readable + + if (readable) CheckValues(); + } string folderspath = Path.Combine(SaveSystem.ProfileDirectory, "folders"); @@ -117,26 +175,29 @@ namespace Histacom2.SaveDialogs SaveSystem.CheckFiles(); } + } + private void CheckValues() + { + foreach (var field in typeof(Save).GetFields()) + { + if (field.GetValue(savedata) is string) if (field.GetValue(savedata).ToString() == null) { field.SetValue(savedata, ""); continue; } + if (field.GetValue(savedata) is Theme) if (field.GetValue(savedata) == null) { field.SetValue(savedata, new Default95Theme()); continue; } + if (field.GetValue(savedata) is List) if (field.GetValue(savedata) == null) { field.SetValue(savedata, new List()); } + } } void EndScan(bool successful) { pnlResolved.Visible = true; + label1.Hide(); if (successful == true) { label2.Text = "The issue has been resolved."; - // Set CurrentSave to the resolved one - - SaveSystem.CurrentSave = savedata; - - // Set the main.save file to the resolved one - - SaveSystem.WriteSave(Path.Combine(SaveSystem.ProfileDirectory, "main.save"), savedata); textBox1.Text = log; } else { - label2.Text = "The issue has not been resolved, sorry"; + label2.Text = "The issue has not been resolved, sorry."; textBox1.Text = log; } } diff --git a/Histacom2/TitleScreen.Designer.cs b/Histacom2/TitleScreen.Designer.cs index 07bbc54..e29c283 100644 --- a/Histacom2/TitleScreen.Designer.cs +++ b/Histacom2/TitleScreen.Designer.cs @@ -244,7 +244,7 @@ this.startmenuitems.Name = "startmenuitems"; this.startmenuitems.Padding = new System.Windows.Forms.Padding(1, 2, 0, 0); this.startmenuitems.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.startmenuitems.Size = new System.Drawing.Size(140, 220); + this.startmenuitems.Size = new System.Drawing.Size(140, 239); this.startmenuitems.TabIndex = 0; this.startmenuitems.Text = "StartMenu"; // diff --git a/Histacom2/TitleScreen.cs b/Histacom2/TitleScreen.cs index 851bd19..e29c67c 100644 --- a/Histacom2/TitleScreen.cs +++ b/Histacom2/TitleScreen.cs @@ -207,8 +207,6 @@ namespace Histacom2 } catch { } - - // If VM Mode is not enabled if (vm_mode.Checked != true) -- cgit v1.2.3 From caeae8c96661da2fd69d8cb9a00dd2939d8e3063 Mon Sep 17 00:00:00 2001 From: Alex-TIMEHACK Date: Tue, 29 Aug 2017 18:43:33 +0100 Subject: Resize system! --- Histacom2.Engine/Histacom2.Engine.csproj | 9 ++ .../Template/ResizeOverlay.Designer.cs | 78 +++++++++++++ Histacom2.Engine/Template/ResizeOverlay.cs | 35 ++++++ Histacom2.Engine/Template/ResizeOverlay.resx | 123 +++++++++++++++++++++ Histacom2.Engine/Template/WinClassic.Designer.cs | 8 ++ Histacom2.Engine/Template/WinClassic.cs | 94 +++++++++------- Histacom2.Engine/Template/WinClassic.resx | 48 ++++---- 7 files changed, 331 insertions(+), 64 deletions(-) create mode 100644 Histacom2.Engine/Template/ResizeOverlay.Designer.cs create mode 100644 Histacom2.Engine/Template/ResizeOverlay.cs create mode 100644 Histacom2.Engine/Template/ResizeOverlay.resx diff --git a/Histacom2.Engine/Histacom2.Engine.csproj b/Histacom2.Engine/Histacom2.Engine.csproj index 37c4489..361672e 100644 --- a/Histacom2.Engine/Histacom2.Engine.csproj +++ b/Histacom2.Engine/Histacom2.Engine.csproj @@ -54,6 +54,12 @@ + + Form + + + ResizeOverlay.cs + Form @@ -102,6 +108,9 @@ PublicResXFileCodeGenerator Resources.Designer.cs + + ResizeOverlay.cs + Win9XBSOD.cs diff --git a/Histacom2.Engine/Template/ResizeOverlay.Designer.cs b/Histacom2.Engine/Template/ResizeOverlay.Designer.cs new file mode 100644 index 0000000..8d76c26 --- /dev/null +++ b/Histacom2.Engine/Template/ResizeOverlay.Designer.cs @@ -0,0 +1,78 @@ +namespace Histacom2.Engine.Template +{ + partial class ResizeOverlay + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.outline = new System.Windows.Forms.PictureBox(); + this.tmrMove = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.outline)).BeginInit(); + this.SuspendLayout(); + // + // outline + // + this.outline.BackColor = System.Drawing.Color.Transparent; + this.outline.Location = new System.Drawing.Point(194, 158); + this.outline.Name = "outline"; + this.outline.Size = new System.Drawing.Size(300, 158); + this.outline.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.outline.TabIndex = 0; + this.outline.TabStop = false; + this.outline.Paint += new System.Windows.Forms.PaintEventHandler(this.outline_Paint); + // + // tmrMove + // + this.tmrMove.Interval = 20; + this.tmrMove.Tick += new System.EventHandler(this.tmrMove_Tick); + // + // ResizeOverlay + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(0)))), ((int)(((byte)(1))))); + this.ClientSize = new System.Drawing.Size(800, 600); + this.Controls.Add(this.outline); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "ResizeOverlay"; + this.Tag = "ignoreFormOnTaskbar"; + this.Text = "ResizeOverlay"; + this.TopMost = true; + this.TransparencyKey = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(0)))), ((int)(((byte)(1))))); + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + ((System.ComponentModel.ISupportInitialize)(this.outline)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.PictureBox outline; + public System.Windows.Forms.Timer tmrMove; + } +} \ No newline at end of file diff --git a/Histacom2.Engine/Template/ResizeOverlay.cs b/Histacom2.Engine/Template/ResizeOverlay.cs new file mode 100644 index 0000000..ca8a5e4 --- /dev/null +++ b/Histacom2.Engine/Template/ResizeOverlay.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Histacom2.Engine.Template +{ + public partial class ResizeOverlay : Form + { + public Rectangle ToDraw = new Rectangle(); + + public ResizeOverlay() + { + InitializeComponent(); + } + + private void tmrMove_Tick(object sender, EventArgs e) + { + outline.Bounds = ToDraw; // Pens.Gray, ToDraw); + } + + private void outline_Paint(object sender, PaintEventArgs e) + { + e.Graphics.FillRectangle(Brushes.Gray, 0, 0, outline.Width, 4); // Top border + e.Graphics.FillRectangle(Brushes.Gray, 0, outline.Height - 4, outline.Width, 4); // Bottom border + e.Graphics.FillRectangle(Brushes.Gray, 0, 0, 4, outline.Height); // Left border + e.Graphics.FillRectangle(Brushes.Gray, outline.Width - 4, 0, 4, outline.Height); // Right border + } + } +} diff --git a/Histacom2.Engine/Template/ResizeOverlay.resx b/Histacom2.Engine/Template/ResizeOverlay.resx new file mode 100644 index 0000000..10340d0 --- /dev/null +++ b/Histacom2.Engine/Template/ResizeOverlay.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Histacom2.Engine/Template/WinClassic.Designer.cs b/Histacom2.Engine/Template/WinClassic.Designer.cs index 9092609..593cfd6 100644 --- a/Histacom2.Engine/Template/WinClassic.Designer.cs +++ b/Histacom2.Engine/Template/WinClassic.Designer.cs @@ -162,6 +162,7 @@ this.toprightcorner.TabIndex = 6; this.toprightcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.toprightcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.toprightcorner_MouseMove); + this.toprightcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // bottomrightcorner // @@ -174,6 +175,7 @@ this.bottomrightcorner.TabIndex = 4; this.bottomrightcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.bottomrightcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.bottomrightcorner_MouseMove); + this.bottomrightcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // bottomleftcorner // @@ -186,6 +188,7 @@ this.bottomleftcorner.TabIndex = 2; this.bottomleftcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.bottomleftcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.bottomleftcorner_MouseMove); + this.bottomleftcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // topleftcorner // @@ -197,6 +200,7 @@ this.topleftcorner.TabIndex = 1; this.topleftcorner.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.topleftcorner.MouseMove += new System.Windows.Forms.MouseEventHandler(this.topleftcorner_MouseMove); + this.topleftcorner.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // left // @@ -209,6 +213,7 @@ this.left.TabIndex = 3; this.left.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.left.MouseMove += new System.Windows.Forms.MouseEventHandler(this.left_MouseMove); + this.left.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // bottom // @@ -222,6 +227,7 @@ this.bottom.TabIndex = 5; this.bottom.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.bottom.MouseMove += new System.Windows.Forms.MouseEventHandler(this.bottom_MouseMove); + this.bottom.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // right // @@ -234,6 +240,7 @@ this.right.TabIndex = 7; this.right.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.right.MouseMove += new System.Windows.Forms.MouseEventHandler(this.right_MouseMove); + this.right.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // top // @@ -247,6 +254,7 @@ this.top.TabIndex = 8; this.top.MouseDown += new System.Windows.Forms.MouseEventHandler(this.border_MouseDown); this.top.MouseMove += new System.Windows.Forms.MouseEventHandler(this.top_MouseMove); + this.top.MouseUp += new System.Windows.Forms.MouseEventHandler(this.border_MouseUp); // // WinClassic // diff --git a/Histacom2.Engine/Template/WinClassic.cs b/Histacom2.Engine/Template/WinClassic.cs index 67a0322..3133798 100644 --- a/Histacom2.Engine/Template/WinClassic.cs +++ b/Histacom2.Engine/Template/WinClassic.cs @@ -14,13 +14,13 @@ namespace Histacom2.Engine.Template } public Font fnt; + public ResizeOverlay resizer = new ResizeOverlay(); public bool resizable = true; public bool closeDisabled = false; public bool isActive = true; public bool Resizing = false; public Bitmap ResizingBmp = null; - public const int WM_NCLBUTTONDOWN = 0xA1; public const int WM_SYSCOMMAND = 0x0112; public const int HT_CAPTION = 0x2; @@ -74,8 +74,9 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Size = new Size(MousePosition.X - this.Location.X, this.Size.Height); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Width = MousePosition.X - this.Location.X; + resizer.ToDraw = toDraw; } } @@ -83,9 +84,10 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Width = ((this.Width + this.Location.X) - Cursor.Position.X); - if (resizable)this.Location = new Point(Cursor.Position.X, this.Location.Y); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Width = ((this.Width + this.Location.X) - Cursor.Position.X); + if (resizable) toDraw.X = Cursor.Position.X; + resizer.ToDraw = toDraw; } } @@ -93,8 +95,10 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Size = new Size(this.Size.Width, MousePosition.Y - this.Location.Y); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Y = this.Location.Y; + if (resizable) toDraw.Height = ((toDraw.Height + toDraw.Top) + Cursor.Position.Y); + resizer.ToDraw = toDraw; } } @@ -102,8 +106,10 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Size = new Size(MousePosition.X - this.Location.X, MousePosition.Y - this.Location.Y); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Width = MousePosition.X - this.Location.X; + if (resizable) toDraw.Height = MousePosition.Y - this.Location.Y; + resizer.ToDraw = toDraw; } } @@ -111,10 +117,11 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Width = ((this.Width + this.Location.X) - Cursor.Position.X); - if (resizable) this.Height = (Cursor.Position.Y - this.Location.Y); - if (resizable) this.Location = new Point(Cursor.Position.X, this.Location.Y); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Width = ((toDraw.Width + toDraw.Location.X) - Cursor.Position.X); + if (resizable) toDraw.Height = Cursor.Position.Y - this.Location.Y; + if (resizable) toDraw.X = Cursor.Position.X; + resizer.ToDraw = toDraw; } } @@ -122,11 +129,12 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Width = ((this.Width + this.Location.X) - Cursor.Position.X); - if (resizable) this.Location = new Point(Cursor.Position.X, this.Location.Y); - if (resizable) this.Height = ((this.Height + this.Location.Y) - Cursor.Position.Y); - if (resizable) this.Location = new Point(this.Location.X, Cursor.Position.Y); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Width = ((this.Width + this.Location.X) - Cursor.Position.X); + if (resizable) toDraw.X = Cursor.Position.X; + if (resizable) toDraw.Height = ((this.Height + this.Location.Y) - Cursor.Position.Y); + if (resizable) toDraw.Y = Cursor.Position.Y; + resizer.ToDraw = toDraw; } } @@ -134,9 +142,10 @@ namespace Histacom2.Engine.Template { if(e.Button == MouseButtons.Left) { - if(resizable) this.Height = ((this.Height + this.Location.Y) - Cursor.Position.Y); - if(resizable) this.Location = new Point(this.Location.X, Cursor.Position.Y); - this.Invalidate(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Height = ((toDraw.Height + toDraw.Top) - Cursor.Position.Y); + if (resizable) toDraw.Y = Cursor.Position.Y; + resizer.ToDraw = toDraw; } } @@ -144,10 +153,12 @@ namespace Histacom2.Engine.Template { if (e.Button == MouseButtons.Left) { - if (resizable) this.Width = (Cursor.Position.X - this.Location.X); - if (resizable) this.Height = ((this.Location.Y - Cursor.Position.Y) + this.Height); - if (resizable) this.Location = new Point(this.Location.X, Cursor.Position.Y); - this.Update(); + var toDraw = resizer.ToDraw; + if (resizable) toDraw.Width = (Cursor.Position.X - toDraw.X); + if (resizable) toDraw.Height = ((toDraw.Height + toDraw.Top) - Cursor.Position.Y); + if (resizable) toDraw.X = Cursor.Position.X; + if (resizable) toDraw.Y = Cursor.Position.Y; + resizer.ToDraw = toDraw; } } @@ -160,6 +171,15 @@ namespace Histacom2.Engine.Template } } + private void border_MouseUp(object sender, MouseEventArgs e) + { + this.Bounds = resizer.ToDraw; + resizer.tmrMove.Stop(); + resizer.Close(); + + resizer = new ResizeOverlay(); + } + private void border_MouseDown(object sender, MouseEventArgs e) { var cursor = this.PointToClient(Cursor.Position); @@ -174,22 +194,16 @@ namespace Histacom2.Engine.Template else if (right.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF002, 0); else if (bottom.ClientRectangle.Contains(cursor)) SendMessage(Handle, WM_SYSCOMMAND, 0xF006, 0); - /* Now we need to fix this weird artificating! - To lempamo: This is probably the best way I can think of the fix this - I can take a picture of the window as it is and then just draw that - and once you mouseup I will go back to the actual form - I'll have a boolean called Resizing which tells the form on paint to just draw the overlay! - */ + // Now we need to fix this weird artificating! - var screen = Screen.PrimaryScreen; + resizer.tmrMove.Start(); + resizer.Show(); - using (var bitmap = new Bitmap(this.Bounds.Width, this.Bounds.Height)) - using (var graphics = Graphics.FromImage(bitmap)) - { - graphics.CopyFromScreen(new Point(this.Bounds.Left, this.Bounds.Top), new Point(0, 0), this.Bounds.Size); - Resizing = true; - ResizingBmp = bitmap; - } + resizer.ToDraw = this.Bounds; + + // However this defocuses the window which we don't want + + WinClassic_Activated(null, null); } public bool max = false; diff --git a/Histacom2.Engine/Template/WinClassic.resx b/Histacom2.Engine/Template/WinClassic.resx index 394031d..6876b17 100644 --- a/Histacom2.Engine/Template/WinClassic.resx +++ b/Histacom2.Engine/Template/WinClassic.resx @@ -118,30 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA+SURBVChTY/hP - CmAAAiB1nzjQ0NCA0HDgwAEQBwcAygIBNTRAJNDAqAY0DbgAdg0EAUIDkEUkAGkgDTAwAACYPGiagsMD - PwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA5SURBVChTY/hP - CmAAAiB1nzjQ0NCA0HCACDCqASqGF2DRAOKjAog4BFBDA36A0ABkEQlAGkgDDAwAKPmlWmNluNoAAAAA - SUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAABcSURBVChTrY/R - DcAgCERvdEbrJh2lPU+SYkINRt+PSN6J4FkBhMddw8y+wFUgCbQ70OtO7OQTJLgRa/L7JWmOt8RsB8mD - TQ5NkFbeQcLwauzMdkjZCLAq0gJrAC8niIXaIK89FAAAAABJRU5ErkJggg== - - iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO @@ -196,6 +172,30 @@ iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAIAAADAusJtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAAVSURBVBhXYzh8 /DTD////wfTh46cBUSgJ/bC/izUAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA+SURBVChTY/hP + CmAAAiB1nzjQ0NCA0HDgwAEQBwcAygIBNTRAJNDAqAY0DbgAdg0EAUIDkEUkAGkgDTAwAACYPGiagsMD + PwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAAA5SURBVChTY/hP + CmAAAiB1nzjQ0NCA0HCACDCqASqGF2DRAOKjAog4BFBDA36A0ABkEQlAGkgDDAwAKPmlWmNluNoAAAAA + SUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAIAAACpTQvdAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMzQDW3oAAABcSURBVChTrY/R + DcAgCERvdEbrJh2lPU+SYkINRt+PSN6J4FkBhMddw8y+wFUgCbQ70OtO7OQTJLgRa/L7JWmOt8RsB8mD + TQ5NkFbeQcLwauzMdkjZCLAq0gJrAC8niIXaIK89FAAAAABJRU5ErkJggg== \ No newline at end of file -- cgit v1.2.3 From 213861a59ee7cb42816172c38994d93484d129e8 Mon Sep 17 00:00:00 2001 From: Alex-TIMEHACK Date: Tue, 29 Aug 2017 19:22:27 +0100 Subject: Fixed bottom and topright border resize --- Histacom2.Engine/Template/WinClassic.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Histacom2.Engine/Template/WinClassic.cs b/Histacom2.Engine/Template/WinClassic.cs index 3133798..23ea562 100644 --- a/Histacom2.Engine/Template/WinClassic.cs +++ b/Histacom2.Engine/Template/WinClassic.cs @@ -97,7 +97,7 @@ namespace Histacom2.Engine.Template { var toDraw = resizer.ToDraw; if (resizable) toDraw.Y = this.Location.Y; - if (resizable) toDraw.Height = ((toDraw.Height + toDraw.Top) + Cursor.Position.Y); + if (resizable) toDraw.Height = MousePosition.Y - this.Location.Y; resizer.ToDraw = toDraw; } } @@ -154,9 +154,8 @@ namespace Histacom2.Engine.Template if (e.Button == MouseButtons.Left) { var toDraw = resizer.ToDraw; - if (resizable) toDraw.Width = (Cursor.Position.X - toDraw.X); + if (resizable) toDraw.Width = MousePosition.X - this.Location.X; if (resizable) toDraw.Height = ((toDraw.Height + toDraw.Top) - Cursor.Position.Y); - if (resizable) toDraw.X = Cursor.Position.X; if (resizable) toDraw.Y = Cursor.Position.Y; resizer.ToDraw = toDraw; } -- cgit v1.2.3 From 59505ed4dd131afbd18c0b3e660c8c72815ba5a2 Mon Sep 17 00:00:00 2001 From: AShifter Date: Tue, 29 Aug 2017 20:33:11 -0600 Subject: Add WinXP and MultiOS WM WM is currently working, though is in the middle of modification to work with multiple operating systems. Windows XP window template as well as resources have also been added, though window moving code has not been added yet. --- Histacom2.Engine/Histacom2.Engine.csproj | 21 ++ Histacom2.Engine/Properties/Resources.Designer.cs | 280 +++++++++++++++------ Histacom2.Engine/Properties/Resources.resx | 52 +++- .../Resources/WinXP/Window/WinXP_Bottom.png | Bin 0 -> 168 bytes .../Resources/WinXP/Window/WinXP_Close.png | Bin 0 -> 968 bytes .../Resources/WinXP/Window/WinXP_LBCorner.png | Bin 0 -> 194 bytes .../Resources/WinXP/Window/WinXP_LeftSide.png | Bin 0 -> 165 bytes .../Resources/WinXP/Window/WinXP_Max.png | Bin 0 -> 1109 bytes .../Resources/WinXP/Window/WinXP_Min.png | Bin 0 -> 1162 bytes .../Resources/WinXP/Window/WinXP_RBCorner.png | Bin 0 -> 191 bytes .../Resources/WinXP/Window/WinXP_Restore.png | Bin 0 -> 1119 bytes .../Resources/WinXP/Window/WinXP_RightSide.png | Bin 0 -> 165 bytes .../Resources/WinXP/Window/WinXP_TLCorner.png | Bin 0 -> 3119 bytes .../Resources/WinXP/Window/WinXP_TRCorner.png | Bin 0 -> 3078 bytes .../Resources/WinXP/Window/WinXP_TopBar.png | Bin 0 -> 241 bytes Histacom2.Engine/Template/WinXP.Designer.cs | 256 +++++++++++++++++++ Histacom2.Engine/Template/WinXP.cs | 26 ++ Histacom2.Engine/Template/WinXP.resx | 233 +++++++++++++++++ Histacom2.Engine/WindowManager.cs | 45 +++- Histacom2/Histacom2.csproj | 3 + Histacom2/OS/Win95/Win95.cs | 38 +-- .../OS/Win95/Win95Apps/IE4Sites/12padams1998.cs | 6 +- .../Win95Apps/MineSweeper/WinClassicMinesweeper.cs | 4 +- Histacom2/OS/Win95/Win95Apps/Story/Hack1.cs | 2 +- Histacom2/OS/Win95/Win95Apps/Story/Hack2.cs | 2 +- .../OS/Win95/Win95Apps/Win95WindowsExplorer.cs | 24 +- .../OS/Win95/Win95Apps/WinClassicFTPClient.cs | 8 +- Histacom2/OS/Win98/Win98.cs | 32 +-- .../Win98Apps/AddressBook/WinClassicAddressBook.cs | 6 +- .../Win98/Win98Apps/WinClassicWindowsExplorer.cs | 20 +- Histacom2/Program.cs | 4 +- Histacom2/TitleScreen.cs | 2 +- 32 files changed, 898 insertions(+), 166 deletions(-) create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_Bottom.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_Close.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_LBCorner.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_LeftSide.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_Max.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_Min.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_RBCorner.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_Restore.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_RightSide.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_TLCorner.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_TRCorner.png create mode 100644 Histacom2.Engine/Resources/WinXP/Window/WinXP_TopBar.png create mode 100644 Histacom2.Engine/Template/WinXP.Designer.cs create mode 100644 Histacom2.Engine/Template/WinXP.cs create mode 100644 Histacom2.Engine/Template/WinXP.resx diff --git a/Histacom2.Engine/Histacom2.Engine.csproj b/Histacom2.Engine/Histacom2.Engine.csproj index 361672e..fb64648 100644 --- a/Histacom2.Engine/Histacom2.Engine.csproj +++ b/Histacom2.Engine/Histacom2.Engine.csproj @@ -84,6 +84,12 @@ WinClassic.cs + + Form + + + WinXP.cs + UserControl @@ -123,6 +129,9 @@ WinClassic.cs + + WinXP.cs + ClassicButton.cs @@ -130,6 +139,18 @@ + + + + + + + + + + + + diff --git a/Histacom2.Engine/Properties/Resources.Designer.cs b/Histacom2.Engine/Properties/Resources.Designer.cs index 7a4cdf6..949a91c 100644 --- a/Histacom2.Engine/Properties/Resources.Designer.cs +++ b/Histacom2.Engine/Properties/Resources.Designer.cs @@ -60,36 +60,6 @@ namespace Histacom2.Engine.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap BottomLeft { - get { - object obj = ResourceManager.GetObject("BottomLeft", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap BottomRight { - get { - object obj = ResourceManager.GetObject("BottomRight", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap BottomSide { - get { - object obj = ResourceManager.GetObject("BottomSide", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. /// @@ -99,16 +69,6 @@ namespace Histacom2.Engine.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap LeftSide { - get { - object obj = ResourceManager.GetObject("LeftSide", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -139,46 +99,6 @@ namespace Histacom2.Engine.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap RightSide { - get { - object obj = ResourceManager.GetObject("RightSide", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap TopLeft { - get { - object obj = ResourceManager.GetObject("TopLeft", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap TopRight { - get { - object obj = ResourceManager.GetObject("TopRight", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap TopSide { - get { - object obj = ResourceManager.GetObject("TopSide", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -366,6 +286,36 @@ namespace Histacom2.Engine.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicBottomLeft { + get { + object obj = ResourceManager.GetObject("WinClassicBottomLeft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicBottomRight { + get { + object obj = ResourceManager.GetObject("WinClassicBottomRight", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicBottomSide { + get { + object obj = ResourceManager.GetObject("WinClassicBottomSide", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -376,6 +326,16 @@ namespace Histacom2.Engine.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicLeftSide { + get { + object obj = ResourceManager.GetObject("WinClassicLeftSide", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -406,6 +366,46 @@ namespace Histacom2.Engine.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicRightSide { + get { + object obj = ResourceManager.GetObject("WinClassicRightSide", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicTopLeft { + get { + object obj = ResourceManager.GetObject("WinClassicTopLeft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicTopRight { + get { + object obj = ResourceManager.GetObject("WinClassicTopRight", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinClassicTopSide { + get { + object obj = ResourceManager.GetObject("WinClassicTopSide", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Byte[]. /// @@ -415,5 +415,125 @@ namespace Histacom2.Engine.Properties { return ((byte[])(obj)); } } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_Bottom { + get { + object obj = ResourceManager.GetObject("WinXP_Bottom", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_BottomLeft { + get { + object obj = ResourceManager.GetObject("WinXP_BottomLeft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_BottomRight { + get { + object obj = ResourceManager.GetObject("WinXP_BottomRight", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_Close { + get { + object obj = ResourceManager.GetObject("WinXP_Close", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_LeftSide { + get { + object obj = ResourceManager.GetObject("WinXP_LeftSide", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_Max { + get { + object obj = ResourceManager.GetObject("WinXP_Max", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_Min { + get { + object obj = ResourceManager.GetObject("WinXP_Min", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_Restore { + get { + object obj = ResourceManager.GetObject("WinXP_Restore", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_RightSide { + get { + object obj = ResourceManager.GetObject("WinXP_RightSide", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_TopBar { + get { + object obj = ResourceManager.GetObject("WinXP_TopBar", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_TopLeft { + get { + object obj = ResourceManager.GetObject("WinXP_TopLeft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap WinXP_TopRight { + get { + object obj = ResourceManager.GetObject("WinXP_TopRight", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/Histacom2.Engine/Properties/Resources.resx b/Histacom2.Engine/Properties/Resources.resx index 94b3988..a6faf66 100644 --- a/Histacom2.Engine/Properties/Resources.resx +++ b/Histacom2.Engine/Properties/Resources.resx @@ -118,16 +118,16 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + ..\resources\winclassic\window\bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\bottomside.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\leftside.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -139,16 +139,16 @@ ..\resources\winclassic\window\nullicon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\rightside.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\topleft.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\topright.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\resources\winclassic\window\topside.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -229,4 +229,40 @@ ..\Resources\Win95PlusInsideComputerAsterisk.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\resources\winxp\window\winxp_bottom.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_lbcorner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_rbcorner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_leftside.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_max.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_min.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_restore.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_rightside.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_topbar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_tlcorner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\winxp\window\winxp_trcorner.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_Bottom.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Bottom.png new file mode 100644 index 0000000..2025b77 Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Bottom.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_Close.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Close.png new file mode 100644 index 0000000..173ac3e Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Close.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_LBCorner.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_LBCorner.png new file mode 100644 index 0000000..136a49b Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_LBCorner.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_LeftSide.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_LeftSide.png new file mode 100644 index 0000000..85aca4d Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_LeftSide.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_Max.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Max.png new file mode 100644 index 0000000..c470eff Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Max.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_Min.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Min.png new file mode 100644 index 0000000..a7ec34f Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Min.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_RBCorner.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_RBCorner.png new file mode 100644 index 0000000..e546966 Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_RBCorner.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_Restore.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Restore.png new file mode 100644 index 0000000..304401f Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_Restore.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_RightSide.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_RightSide.png new file mode 100644 index 0000000..a7a6d4a Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_RightSide.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_TLCorner.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_TLCorner.png new file mode 100644 index 0000000..79730ff Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_TLCorner.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_TRCorner.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_TRCorner.png new file mode 100644 index 0000000..603c164 Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_TRCorner.png differ diff --git a/Histacom2.Engine/Resources/WinXP/Window/WinXP_TopBar.png b/Histacom2.Engine/Resources/WinXP/Window/WinXP_TopBar.png new file mode 100644 index 0000000..b251673 Binary files /dev/null and b/Histacom2.Engine/Resources/WinXP/Window/WinXP_TopBar.png differ diff --git a/Histacom2.Engine/Template/WinXP.Designer.cs b/Histacom2.Engine/Template/WinXP.Designer.cs new file mode 100644 index 0000000..66cb521 --- /dev/null +++ b/Histacom2.Engine/Template/WinXP.Designer.cs @@ -0,0 +1,256 @@ +namespace Histacom2.Engine.Template +{ + partial class WinXP + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WinXP)); + this.program = new System.Windows.Forms.Panel(); + this.bottomleftcorner = new System.Windows.Forms.Panel(); + this.toprightcorner = new System.Windows.Forms.Panel(); + this.bottomrightcorner = new System.Windows.Forms.Panel(); + this.topleftcorner = new System.Windows.Forms.Panel(); + this.bottom = new System.Windows.Forms.Panel(); + this.top = new System.Windows.Forms.Panel(); + this.maximizebutton = new System.Windows.Forms.PictureBox(); + this.minimizebutton = new System.Windows.Forms.PictureBox(); + this.programname = new System.Windows.Forms.Label(); + this.closebutton = new System.Windows.Forms.PictureBox(); + this.right = new System.Windows.Forms.Panel(); + this.left = new System.Windows.Forms.Panel(); + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.programIcon = new System.Windows.Forms.PictureBox(); + this.program.SuspendLayout(); + this.top.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.maximizebutton)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.minimizebutton)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.closebutton)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.programIcon)).BeginInit(); + this.SuspendLayout(); + // + // program + // + this.program.BackColor = System.Drawing.Color.OldLace; + this.program.Controls.Add(this.flowLayoutPanel1); + this.program.Controls.Add(this.bottomleftcorner); + this.program.Controls.Add(this.toprightcorner); + this.program.Controls.Add(this.bottomrightcorner); + this.program.Controls.Add(this.topleftcorner); + this.program.Controls.Add(this.bottom); + this.program.Controls.Add(this.top); + this.program.Controls.Add(this.right); + this.program.Controls.Add(this.left); + this.program.Dock = System.Windows.Forms.DockStyle.Fill; + this.program.Location = new System.Drawing.Point(0, 0); + this.program.Name = "program"; + this.program.Size = new System.Drawing.Size(300, 300); + this.program.TabIndex = 10; + // + // bottomleftcorner + // + this.bottomleftcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.bottomleftcorner.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_BottomLeft; + this.bottomleftcorner.Location = new System.Drawing.Point(0, 296); + this.bottomleftcorner.Name = "bottomleftcorner"; + this.bottomleftcorner.Size = new System.Drawing.Size(5, 4); + this.bottomleftcorner.TabIndex = 10; + // + // toprightcorner + // + this.toprightcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.toprightcorner.BackColor = System.Drawing.Color.Magenta; + this.toprightcorner.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("toprightcorner.BackgroundImage"))); + this.toprightcorner.Location = new System.Drawing.Point(294, 0); + this.toprightcorner.Name = "toprightcorner"; + this.toprightcorner.Size = new System.Drawing.Size(6, 30); + this.toprightcorner.TabIndex = 9; + // + // bottomrightcorner + // + this.bottomrightcorner.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.bottomrightcorner.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_BottomRight; + this.bottomrightcorner.Cursor = System.Windows.Forms.Cursors.SizeNWSE; + this.bottomrightcorner.Location = new System.Drawing.Point(296, 296); + this.bottomrightcorner.Name = "bottomrightcorner"; + this.bottomrightcorner.Size = new System.Drawing.Size(4, 4); + this.bottomrightcorner.TabIndex = 4; + // + // topleftcorner + // + this.topleftcorner.BackColor = System.Drawing.Color.Magenta; + this.topleftcorner.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("topleftcorner.BackgroundImage"))); + this.topleftcorner.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; + this.topleftcorner.Location = new System.Drawing.Point(0, 0); + this.topleftcorner.Name = "topleftcorner"; + this.topleftcorner.Size = new System.Drawing.Size(7, 30); + this.topleftcorner.TabIndex = 8; + // + // bottom + // + this.bottom.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_Bottom; + this.bottom.Cursor = System.Windows.Forms.Cursors.SizeNS; + this.bottom.Dock = System.Windows.Forms.DockStyle.Bottom; + this.bottom.Location = new System.Drawing.Point(4, 296); + this.bottom.Name = "bottom"; + this.bottom.Size = new System.Drawing.Size(292, 4); + this.bottom.TabIndex = 3; + // + // top + // + this.top.BackColor = System.Drawing.Color.Transparent; + this.top.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_TopBar; + this.top.Controls.Add(this.programIcon); + this.top.Controls.Add(this.maximizebutton); + this.top.Controls.Add(this.minimizebutton); + this.top.Controls.Add(this.programname); + this.top.Controls.Add(this.closebutton); + this.top.Dock = System.Windows.Forms.DockStyle.Top; + this.top.Location = new System.Drawing.Point(4, 0); + this.top.Name = "top"; + this.top.Size = new System.Drawing.Size(292, 30); + this.top.TabIndex = 0; + // + // maximizebutton + // + this.maximizebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.maximizebutton.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_Max; + this.maximizebutton.Location = new System.Drawing.Point(244, 5); + this.maximizebutton.Name = "maximizebutton"; + this.maximizebutton.Size = new System.Drawing.Size(21, 21); + this.maximizebutton.TabIndex = 6; + this.maximizebutton.TabStop = false; + // + // minimizebutton + // + this.minimizebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.minimizebutton.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_Min; + this.minimizebutton.Location = new System.Drawing.Point(221, 5); + this.minimizebutton.Name = "minimizebutton"; + this.minimizebutton.Size = new System.Drawing.Size(21, 21); + this.minimizebutton.TabIndex = 5; + this.minimizebutton.TabStop = false; + // + // programname + // + this.programname.AutoSize = true; + this.programname.BackColor = System.Drawing.Color.Transparent; + this.programname.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.programname.ForeColor = System.Drawing.Color.White; + this.programname.Location = new System.Drawing.Point(25, 8); + this.programname.Name = "programname"; + this.programname.Size = new System.Drawing.Size(99, 13); + this.programname.TabIndex = 3; + this.programname.Text = "Application Title"; + // + // closebutton + // + this.closebutton.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.closebutton.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_Close; + this.closebutton.Location = new System.Drawing.Point(267, 5); + this.closebutton.Name = "closebutton"; + this.closebutton.Size = new System.Drawing.Size(21, 21); + this.closebutton.TabIndex = 4; + this.closebutton.TabStop = false; + // + // right + // + this.right.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_RightSide; + this.right.Cursor = System.Windows.Forms.Cursors.SizeWE; + this.right.Dock = System.Windows.Forms.DockStyle.Right; + this.right.Location = new System.Drawing.Point(296, 0); + this.right.Name = "right"; + this.right.Size = new System.Drawing.Size(4, 300); + this.right.TabIndex = 2; + // + // left + // + this.left.BackgroundImage = global::Histacom2.Engine.Properties.Resources.WinXP_LeftSide; + this.left.Dock = System.Windows.Forms.DockStyle.Left; + this.left.Location = new System.Drawing.Point(0, 0); + this.left.Name = "left"; + this.left.Size = new System.Drawing.Size(4, 300); + this.left.TabIndex = 1; + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.flowLayoutPanel1.Location = new System.Drawing.Point(4, 30); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Size = new System.Drawing.Size(292, 266); + this.flowLayoutPanel1.TabIndex = 11; + // + // programIcon + // + this.programIcon.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.programIcon.ErrorImage = null; + this.programIcon.InitialImage = null; + this.programIcon.Location = new System.Drawing.Point(6, 7); + this.programIcon.Name = "programIcon"; + this.programIcon.Size = new System.Drawing.Size(16, 16); + this.programIcon.TabIndex = 7; + this.programIcon.TabStop = false; + // + // WinXP + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(300, 300); + this.Controls.Add(this.program); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "WinXP"; + this.Text = "WinXP"; + this.Load += new System.EventHandler(this.WinXP_Load); + this.program.ResumeLayout(false); + this.top.ResumeLayout(false); + this.top.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.maximizebutton)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.minimizebutton)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.closebutton)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.programIcon)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + internal System.Windows.Forms.Panel program; + internal System.Windows.Forms.Panel bottomleftcorner; + internal System.Windows.Forms.Panel toprightcorner; + internal System.Windows.Forms.Panel bottomrightcorner; + internal System.Windows.Forms.Panel topleftcorner; + internal System.Windows.Forms.Panel bottom; + internal System.Windows.Forms.Panel top; + internal System.Windows.Forms.PictureBox maximizebutton; + internal System.Windows.Forms.PictureBox minimizebutton; + internal System.Windows.Forms.Label programname; + internal System.Windows.Forms.PictureBox closebutton; + internal System.Windows.Forms.Panel right; + internal System.Windows.Forms.Panel left; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + public System.Windows.Forms.PictureBox programIcon; + } +} \ No newline at end of file diff --git a/Histacom2.Engine/Template/WinXP.cs b/Histacom2.Engine/Template/WinXP.cs new file mode 100644 index 0000000..86b222e --- /dev/null +++ b/Histacom2.Engine/Template/WinXP.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + + +namespace Histacom2.Engine.Template +{ + public partial class WinXP : Form + { + public WinXP() + { + InitializeComponent(); + } + + private void WinXP_Load(object sender, EventArgs e) + { + + } + } +} diff --git a/Histacom2.Engine/Template/WinXP.resx b/Histacom2.Engine/Template/WinXP.resx new file mode 100644 index 0000000..94a7a5f --- /dev/null +++ b/Histacom2.Engine/Template/WinXP.resx @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + rkJggg== + + + + + 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 + + + \ No newline at end of file diff --git a/Histacom2.Engine/WindowManager.cs b/Histacom2.Engine/WindowManager.cs index 2306d5d..cffb74a 100644 --- a/Histacom2.Engine/WindowManager.cs +++ b/Histacom2.Engine/WindowManager.cs @@ -10,10 +10,43 @@ namespace Histacom2.Engine { public static System.Drawing.Text.PrivateFontCollection pfc = new System.Drawing.Text.PrivateFontCollection(); - public WinClassic StartWin95(UserControl content, string title, Image icon, bool MaxButton, bool MinButton, bool ShowApplicationAsDialog = false, bool resize = true) + public WinClassic Init(UserControl content, string title, Image icon, bool MaxButton, bool MinButton, bool ShowApplicationAsDialog = false, bool resize = true) { + WinClassic app = null; // Setup Window - WinClassic app = new WinClassic(); + switch (SaveSystem.CurrentSave.CurrentOS) + { + case "95": + { + app = new WinClassic(); + break; + } + case "98": + { + app = new WinClassic(); + break; + } + case "ME": + { + app = new WinClassic(); + break; + } + case "2000": + { + app = new WinClassic(); + break; + } + case "XP": + { + // app = new WinXP(); + break; + } + default: + { + app = new WinClassic(); + break; + } + } app.Text = title; app.Title.Text = title; app.Width = content.Width + 8; @@ -76,6 +109,10 @@ namespace Histacom2.Engine if (ShowApplicationAsDialog == false) { app.Show(); } else { app.ShowDialog(); } return app; } + + // A THING TM + + // A THING TM public WinClassic StartInfobox95(string title, string text, InfoboxType type, InfoboxButtons btns) { @@ -84,7 +121,7 @@ namespace Histacom2.Engine app.infoText.Text = text; app.infoText.Font = new Font(pfc.Families[0], 16F, FontStyle.Regular, GraphicsUnit.Point, ((0))); - return StartWin95(app, title, null, false, false, resize: false); + return Init(app, title, null, false, false, resize: false); } public WinClassic StartAboutBox95(string shortname, string longname, Image appicon) @@ -94,7 +131,7 @@ namespace Histacom2.Engine uc.textBox1.Text = longname + "\r\nWindows 95\r\nCopyright © 1981-1995 Microsoft Corp."; uc.Font = new Font(pfc.Families[0], 16F, FontStyle.Regular, GraphicsUnit.Point, ((0))); - return StartWin95(uc, "About " + shortname, null, false, false, resize: false); + return Init(uc, "About " + shortname, null, false, false, resize: false); } } } diff --git a/Histacom2/Histacom2.csproj b/Histacom2/Histacom2.csproj index 46750d2..34f8cd0 100644 --- a/Histacom2/Histacom2.csproj +++ b/Histacom2/Histacom2.csproj @@ -724,6 +724,9 @@ Histacom2.Engine + + +