diff --git a/ShiftOS.Objects/Job.cs b/ShiftOS.Objects/Job.cs new file mode 100644 index 0000000..25d58b5 --- /dev/null +++ b/ShiftOS.Objects/Job.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShiftOS.Objects + +{ + public class Job + { + public string Name { get; set; } + public string Description { get; set; } + public List Tasks { get; set; } + public string Author { get; set; } + } + + public class JobTask + { + public string Name { get; set; } + public string Description { get; set; } + public int Reward { get; set; } + + public bool Completed { get; set; } + } +} diff --git a/ShiftOS.Objects/Save.cs b/ShiftOS.Objects/Save.cs index ff4bf53..787423d 100644 --- a/ShiftOS.Objects/Save.cs +++ b/ShiftOS.Objects/Save.cs @@ -14,9 +14,8 @@ namespace ShiftOS.Objects public Dictionary Upgrades { get; set; } public int StoryPosition { get; set; } public string Language { get; set; } - + public string MyShop { get; set; } public List CurrentLegions { get; set; } - public int MajorVersion { get; set; } public int MinorVersion { get; set; } public int Revision { get; set; } diff --git a/ShiftOS.Objects/ShiftOS.Objects.csproj b/ShiftOS.Objects/ShiftOS.Objects.csproj index 7013476..e9b74f7 100644 --- a/ShiftOS.Objects/ShiftOS.Objects.csproj +++ b/ShiftOS.Objects/ShiftOS.Objects.csproj @@ -59,6 +59,7 @@ + diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs index e3e7624..683e169 100644 --- a/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs +++ b/ShiftOS.WinForms/Applications/MUDControlCentre.Designer.cs @@ -112,6 +112,21 @@ namespace ShiftOS.WinForms.Applications this.cbcolorchooser = new System.Windows.Forms.ComboBox(); this.btncreate = new System.Windows.Forms.Button(); this.cbpublicity = new System.Windows.Forms.ComboBox(); + this.shop_view = new System.Windows.Forms.Panel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel5 = new System.Windows.Forms.Panel(); + this.lbupgradetitle = new System.Windows.Forms.Label(); + this.lbshopname = new System.Windows.Forms.Label(); + this.lbcodepoints = new System.Windows.Forms.Label(); + this.lbupgrades = new System.Windows.Forms.ListBox(); + this.pnlbuy = new System.Windows.Forms.Panel(); + this.btnbuy = new System.Windows.Forms.Button(); + this.lbprice = new System.Windows.Forms.Label(); + this.lbupggradedesc = new System.Windows.Forms.Label(); + this.job_current = new System.Windows.Forms.Panel(); + this.label6 = new System.Windows.Forms.Label(); + this.lbtaskname = new System.Windows.Forms.Label(); + this.lbtaskdescription = new System.Windows.Forms.Label(); this.menuStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); this.toolStripContainer1.BottomToolStripPanel.SuspendLayout(); @@ -131,6 +146,11 @@ namespace ShiftOS.WinForms.Applications this.flowLayoutPanel2.SuspendLayout(); this.you_memos.SuspendLayout(); this.you_systemstatus.SuspendLayout(); + this.shop_view.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel5.SuspendLayout(); + this.pnlbuy.SuspendLayout(); + this.job_current.SuspendLayout(); this.SuspendLayout(); // // menuStrip1 @@ -212,13 +232,14 @@ namespace ShiftOS.WinForms.Applications // currentTaskToolStripMenuItem // this.currentTaskToolStripMenuItem.Name = "currentTaskToolStripMenuItem"; - this.currentTaskToolStripMenuItem.Size = new System.Drawing.Size(138, 22); + this.currentTaskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.currentTaskToolStripMenuItem.Text = "Current task"; + this.currentTaskToolStripMenuItem.Click += new System.EventHandler(this.currentTaskToolStripMenuItem_Click); // // browseJobsToolStripMenuItem // this.browseJobsToolStripMenuItem.Name = "browseJobsToolStripMenuItem"; - this.browseJobsToolStripMenuItem.Size = new System.Drawing.Size(138, 22); + this.browseJobsToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.browseJobsToolStripMenuItem.Text = "Browse Jobs"; // // legionsToolStripMenuItem @@ -278,6 +299,8 @@ namespace ShiftOS.WinForms.Applications // // toolStripContainer1.ContentPanel // + this.toolStripContainer1.ContentPanel.Controls.Add(this.job_current); + this.toolStripContainer1.ContentPanel.Controls.Add(this.shop_view); this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_create); this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_view); this.toolStripContainer1.ContentPanel.Controls.Add(this.lgn_join); @@ -319,6 +342,7 @@ namespace ShiftOS.WinForms.Applications this.txtnewlegiondescription.Name = "txtnewlegiondescription"; this.txtnewlegiondescription.Size = new System.Drawing.Size(368, 240); this.txtnewlegiondescription.TabIndex = 4; + this.txtnewlegiondescription.TextChanged += new System.EventHandler(this.txtnewlegiondescription_TextChanged); // // panel2 // @@ -768,6 +792,167 @@ namespace ShiftOS.WinForms.Applications this.cbpublicity.Size = new System.Drawing.Size(121, 21); this.cbpublicity.TabIndex = 6; // + // shop_view + // + this.shop_view.Controls.Add(this.panel5); + this.shop_view.Controls.Add(this.panel1); + this.shop_view.Dock = System.Windows.Forms.DockStyle.Fill; + this.shop_view.Location = new System.Drawing.Point(0, 0); + this.shop_view.Name = "shop_view"; + this.shop_view.Size = new System.Drawing.Size(756, 442); + this.shop_view.TabIndex = 6; + // + // panel1 + // + this.panel1.Controls.Add(this.lbupgrades); + this.panel1.Controls.Add(this.lbcodepoints); + this.panel1.Controls.Add(this.lbshopname); + this.panel1.Cursor = System.Windows.Forms.Cursors.Default; + this.panel1.Dock = System.Windows.Forms.DockStyle.Left; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(389, 442); + this.panel1.TabIndex = 0; + // + // panel5 + // + this.panel5.Controls.Add(this.lbupggradedesc); + this.panel5.Controls.Add(this.pnlbuy); + this.panel5.Controls.Add(this.lbupgradetitle); + this.panel5.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel5.Location = new System.Drawing.Point(389, 0); + this.panel5.Name = "panel5"; + this.panel5.Size = new System.Drawing.Size(367, 442); + this.panel5.TabIndex = 1; + // + // lbupgradetitle + // + this.lbupgradetitle.Dock = System.Windows.Forms.DockStyle.Top; + this.lbupgradetitle.Location = new System.Drawing.Point(0, 0); + this.lbupgradetitle.Name = "lbupgradetitle"; + this.lbupgradetitle.Size = new System.Drawing.Size(367, 43); + this.lbupgradetitle.TabIndex = 0; + this.lbupgradetitle.Tag = "header2"; + this.lbupgradetitle.Text = "Welcome to my shop!"; + this.lbupgradetitle.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // lbshopname + // + this.lbshopname.Dock = System.Windows.Forms.DockStyle.Top; + this.lbshopname.Location = new System.Drawing.Point(0, 0); + this.lbshopname.Name = "lbshopname"; + this.lbshopname.Size = new System.Drawing.Size(389, 46); + this.lbshopname.TabIndex = 0; + this.lbshopname.Tag = "header1"; + this.lbshopname.Text = "My shop"; + this.lbshopname.TextAlign = System.Drawing.ContentAlignment.TopCenter; + // + // lbcodepoints + // + this.lbcodepoints.AutoSize = true; + this.lbcodepoints.Dock = System.Windows.Forms.DockStyle.Bottom; + this.lbcodepoints.Location = new System.Drawing.Point(0, 429); + this.lbcodepoints.Margin = new System.Windows.Forms.Padding(10); + this.lbcodepoints.Name = "lbcodepoints"; + this.lbcodepoints.Size = new System.Drawing.Size(72, 13); + this.lbcodepoints.TabIndex = 1; + this.lbcodepoints.Tag = "header2"; + this.lbcodepoints.Text = "Codepoints: 0"; + // + // lbupgrades + // + this.lbupgrades.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbupgrades.FormattingEnabled = true; + this.lbupgrades.Location = new System.Drawing.Point(0, 46); + this.lbupgrades.Name = "lbupgrades"; + this.lbupgrades.Size = new System.Drawing.Size(389, 383); + this.lbupgrades.TabIndex = 2; + // + // pnlbuy + // + this.pnlbuy.Controls.Add(this.lbprice); + this.pnlbuy.Controls.Add(this.btnbuy); + this.pnlbuy.Dock = System.Windows.Forms.DockStyle.Bottom; + this.pnlbuy.Location = new System.Drawing.Point(0, 406); + this.pnlbuy.Name = "pnlbuy"; + this.pnlbuy.Size = new System.Drawing.Size(367, 36); + this.pnlbuy.TabIndex = 1; + // + // btnbuy + // + this.btnbuy.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnbuy.Location = new System.Drawing.Point(283, 3); + this.btnbuy.Name = "btnbuy"; + this.btnbuy.Size = new System.Drawing.Size(75, 23); + this.btnbuy.TabIndex = 0; + this.btnbuy.Text = "button3"; + this.btnbuy.UseVisualStyleBackColor = true; + // + // lbprice + // + this.lbprice.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lbprice.AutoSize = true; + this.lbprice.Location = new System.Drawing.Point(6, 10); + this.lbprice.Name = "lbprice"; + this.lbprice.Size = new System.Drawing.Size(35, 13); + this.lbprice.TabIndex = 1; + this.lbprice.Text = "label6"; + // + // lbupggradedesc + // + this.lbupggradedesc.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbupggradedesc.Location = new System.Drawing.Point(0, 43); + this.lbupggradedesc.Name = "lbupggradedesc"; + this.lbupggradedesc.Size = new System.Drawing.Size(367, 363); + this.lbupggradedesc.TabIndex = 2; + this.lbupggradedesc.Text = "label6"; + this.lbupggradedesc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // job_current + // + this.job_current.Controls.Add(this.lbtaskdescription); + this.job_current.Controls.Add(this.lbtaskname); + this.job_current.Controls.Add(this.label6); + this.job_current.Dock = System.Windows.Forms.DockStyle.Fill; + this.job_current.Location = new System.Drawing.Point(0, 0); + this.job_current.Name = "job_current"; + this.job_current.Size = new System.Drawing.Size(756, 442); + this.job_current.TabIndex = 3; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Dock = System.Windows.Forms.DockStyle.Top; + this.label6.Location = new System.Drawing.Point(0, 0); + this.label6.Margin = new System.Windows.Forms.Padding(15); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(68, 13); + this.label6.TabIndex = 0; + this.label6.Tag = "header1"; + this.label6.Text = "Current Task"; + // + // lbtaskname + // + this.lbtaskname.AutoSize = true; + this.lbtaskname.Dock = System.Windows.Forms.DockStyle.Top; + this.lbtaskname.Location = new System.Drawing.Point(0, 13); + this.lbtaskname.Margin = new System.Windows.Forms.Padding(15); + this.lbtaskname.Name = "lbtaskname"; + this.lbtaskname.Size = new System.Drawing.Size(60, 13); + this.lbtaskname.TabIndex = 1; + this.lbtaskname.Tag = "header2"; + this.lbtaskname.Text = "Task name"; + // + // lbtaskdescription + // + this.lbtaskdescription.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbtaskdescription.Location = new System.Drawing.Point(0, 26); + this.lbtaskdescription.Margin = new System.Windows.Forms.Padding(30); + this.lbtaskdescription.Name = "lbtaskdescription"; + this.lbtaskdescription.Size = new System.Drawing.Size(756, 416); + this.lbtaskdescription.TabIndex = 2; + this.lbtaskdescription.Text = "label12"; + // // MUDControlCentre // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -813,6 +998,14 @@ namespace ShiftOS.WinForms.Applications this.you_memos.PerformLayout(); this.you_systemstatus.ResumeLayout(false); this.you_systemstatus.PerformLayout(); + this.shop_view.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel5.ResumeLayout(false); + this.pnlbuy.ResumeLayout(false); + this.pnlbuy.PerformLayout(); + this.job_current.ResumeLayout(false); + this.job_current.PerformLayout(); this.ResumeLayout(false); } @@ -878,5 +1071,20 @@ namespace ShiftOS.WinForms.Applications private System.Windows.Forms.ComboBox cbcolorchooser; private System.Windows.Forms.Button btncreate; private System.Windows.Forms.ComboBox cbpublicity; + private System.Windows.Forms.Panel shop_view; + private System.Windows.Forms.Panel panel5; + private System.Windows.Forms.Label lbupggradedesc; + private System.Windows.Forms.Panel pnlbuy; + private System.Windows.Forms.Label lbprice; + private System.Windows.Forms.Button btnbuy; + private System.Windows.Forms.Label lbupgradetitle; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.ListBox lbupgrades; + private System.Windows.Forms.Label lbcodepoints; + private System.Windows.Forms.Label lbshopname; + private System.Windows.Forms.Panel job_current; + private System.Windows.Forms.Label lbtaskname; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label lbtaskdescription; } } diff --git a/ShiftOS.WinForms/Applications/MUDControlCentre.cs b/ShiftOS.WinForms/Applications/MUDControlCentre.cs index d4654c8..ee5336e 100644 --- a/ShiftOS.WinForms/Applications/MUDControlCentre.cs +++ b/ShiftOS.WinForms/Applications/MUDControlCentre.cs @@ -398,6 +398,8 @@ Current legions: {legionname}"; txtnewlegionshortname.Size = new Size((int)sf.Width, (int)sf.Height); } + private Shop CurrentShop = null; + private void txtnewlegiontitle_TextChanged(object sender, EventArgs e) { var g = txtnewlegiontitle.CreateGraphics(); @@ -425,5 +427,15 @@ Current legions: {legionname}"; SaveSystem.SaveGame(); myLegionToolStripMenuItem_Click(sender, e); } + + private void txtnewlegiondescription_TextChanged(object sender, EventArgs e) + { + editingLegion.Description = txtnewlegiondescription.Text; + } + + private void currentTaskToolStripMenuItem_Click(object sender, EventArgs e) + { + this.job_current.BringToFront(); + } } } diff --git a/ShiftOS.WinForms/FakeSetupScreen.Designer.cs b/ShiftOS.WinForms/FakeSetupScreen.Designer.cs new file mode 100644 index 0000000..b220367 --- /dev/null +++ b/ShiftOS.WinForms/FakeSetupScreen.Designer.cs @@ -0,0 +1,362 @@ +namespace ShiftOS.WinForms +{ + partial class FakeSetupScreen + { + /// + /// 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.pnlheader = new System.Windows.Forms.Panel(); + this.flbuttons = new System.Windows.Forms.FlowLayoutPanel(); + this.btnnext = new System.Windows.Forms.Button(); + this.btnback = new System.Windows.Forms.Button(); + this.page1 = new System.Windows.Forms.Panel(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.page2 = new System.Windows.Forms.Panel(); + this.lbbyteszeroed = new System.Windows.Forms.Label(); + this.pgformatprogress = new System.Windows.Forms.ProgressBar(); + this.lbformattitle = new System.Windows.Forms.Label(); + this.page3 = new System.Windows.Forms.Panel(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.label3 = new System.Windows.Forms.Label(); + this.txtnewusername = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.txtnewpassword = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.txtnewsysname = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.page4 = new System.Windows.Forms.Panel(); + this.txtlicenseagreement = new System.Windows.Forms.RichTextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.flbuttons.SuspendLayout(); + this.page1.SuspendLayout(); + this.page2.SuspendLayout(); + this.page3.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.page4.SuspendLayout(); + this.SuspendLayout(); + // + // pnlheader + // + this.pnlheader.BackColor = System.Drawing.SystemColors.ControlDark; + this.pnlheader.Dock = System.Windows.Forms.DockStyle.Left; + this.pnlheader.Location = new System.Drawing.Point(0, 0); + this.pnlheader.Name = "pnlheader"; + this.pnlheader.Size = new System.Drawing.Size(138, 300); + this.pnlheader.TabIndex = 0; + // + // flbuttons + // + this.flbuttons.AutoSize = true; + this.flbuttons.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.flbuttons.Controls.Add(this.btnnext); + this.flbuttons.Controls.Add(this.btnback); + this.flbuttons.Dock = System.Windows.Forms.DockStyle.Bottom; + this.flbuttons.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft; + this.flbuttons.Location = new System.Drawing.Point(0, 300); + this.flbuttons.Name = "flbuttons"; + this.flbuttons.Size = new System.Drawing.Size(490, 29); + this.flbuttons.TabIndex = 1; + // + // btnnext + // + this.btnnext.Location = new System.Drawing.Point(412, 3); + this.btnnext.Name = "btnnext"; + this.btnnext.Size = new System.Drawing.Size(75, 23); + this.btnnext.TabIndex = 0; + this.btnnext.Text = "Next"; + this.btnnext.UseVisualStyleBackColor = true; + this.btnnext.Click += new System.EventHandler(this.btnnext_Click); + // + // btnback + // + this.btnback.Location = new System.Drawing.Point(331, 3); + this.btnback.Name = "btnback"; + this.btnback.Size = new System.Drawing.Size(75, 23); + this.btnback.TabIndex = 1; + this.btnback.Text = "Back"; + this.btnback.UseVisualStyleBackColor = true; + this.btnback.Click += new System.EventHandler(this.btnback_Click); + // + // page1 + // + this.page1.Controls.Add(this.label2); + this.page1.Controls.Add(this.label1); + this.page1.Dock = System.Windows.Forms.DockStyle.Fill; + this.page1.Location = new System.Drawing.Point(138, 0); + this.page1.Name = "page1"; + this.page1.Size = new System.Drawing.Size(352, 300); + this.page1.TabIndex = 2; + // + // label2 + // + this.label2.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.label2.Location = new System.Drawing.Point(20, 87); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(320, 199); + this.label2.TabIndex = 1; + this.label2.Text = "This wizard will guide you through the installation and configuration of ShiftOS." + + "\r\n\r\nPress Next to continue."; + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F); + this.label1.Location = new System.Drawing.Point(19, 22); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(321, 44); + this.label1.TabIndex = 0; + this.label1.Text = "Welcome to the ShiftOS installation wizard."; + // + // page2 + // + this.page2.Controls.Add(this.lbbyteszeroed); + this.page2.Controls.Add(this.pgformatprogress); + this.page2.Controls.Add(this.lbformattitle); + this.page2.Dock = System.Windows.Forms.DockStyle.Fill; + this.page2.Location = new System.Drawing.Point(138, 0); + this.page2.Name = "page2"; + this.page2.Size = new System.Drawing.Size(352, 300); + this.page2.TabIndex = 2; + // + // lbbyteszeroed + // + this.lbbyteszeroed.AutoSize = true; + this.lbbyteszeroed.Location = new System.Drawing.Point(20, 91); + this.lbbyteszeroed.Name = "lbbyteszeroed"; + this.lbbyteszeroed.Size = new System.Drawing.Size(127, 13); + this.lbbyteszeroed.TabIndex = 5; + this.lbbyteszeroed.Text = "Bytes zeroed: 0/1000000"; + // + // pgformatprogress + // + this.pgformatprogress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.pgformatprogress.Location = new System.Drawing.Point(23, 61); + this.pgformatprogress.Name = "pgformatprogress"; + this.pgformatprogress.Size = new System.Drawing.Size(317, 23); + this.pgformatprogress.Style = System.Windows.Forms.ProgressBarStyle.Continuous; + this.pgformatprogress.TabIndex = 4; + // + // lbformattitle + // + this.lbformattitle.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lbformattitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F); + this.lbformattitle.Location = new System.Drawing.Point(16, 9); + this.lbformattitle.Name = "lbformattitle"; + this.lbformattitle.Size = new System.Drawing.Size(321, 26); + this.lbformattitle.TabIndex = 3; + this.lbformattitle.Text = "Formatting your drive..."; + // + // page3 + // + this.page3.Controls.Add(this.tableLayoutPanel1); + this.page3.Controls.Add(this.label4); + this.page3.Dock = System.Windows.Forms.DockStyle.Fill; + this.page3.Location = new System.Drawing.Point(138, 0); + this.page3.Name = "page3"; + this.page3.Size = new System.Drawing.Size(352, 300); + this.page3.TabIndex = 6; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.AutoSize = true; + this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.txtnewusername, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.label5, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.txtnewpassword, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.label6, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.txtnewsysname, 1, 2); + this.tableLayoutPanel1.Location = new System.Drawing.Point(20, 61); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 3; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(212, 72); + this.tableLayoutPanel1.TabIndex = 4; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(3, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(58, 13); + this.label3.TabIndex = 0; + this.label3.Text = "Username:"; + // + // txtnewusername + // + this.txtnewusername.Location = new System.Drawing.Point(109, 3); + this.txtnewusername.Name = "txtnewusername"; + this.txtnewusername.Size = new System.Drawing.Size(100, 20); + this.txtnewusername.TabIndex = 1; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(3, 26); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(56, 13); + this.label5.TabIndex = 2; + this.label5.Text = "Password:"; + // + // txtnewpassword + // + this.txtnewpassword.Location = new System.Drawing.Point(109, 29); + this.txtnewpassword.Name = "txtnewpassword"; + this.txtnewpassword.PasswordChar = '*'; + this.txtnewpassword.Size = new System.Drawing.Size(100, 20); + this.txtnewpassword.TabIndex = 3; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(3, 52); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(75, 13); + this.label6.TabIndex = 4; + this.label6.Text = "System Name:"; + // + // txtnewsysname + // + this.txtnewsysname.Location = new System.Drawing.Point(109, 55); + this.txtnewsysname.Name = "txtnewsysname"; + this.txtnewsysname.Size = new System.Drawing.Size(100, 20); + this.txtnewsysname.TabIndex = 5; + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F); + this.label4.Location = new System.Drawing.Point(16, 9); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(321, 26); + this.label4.TabIndex = 3; + this.label4.Text = "User information"; + // + // page4 + // + this.page4.Controls.Add(this.txtlicenseagreement); + this.page4.Controls.Add(this.label10); + this.page4.Dock = System.Windows.Forms.DockStyle.Fill; + this.page4.Location = new System.Drawing.Point(138, 0); + this.page4.Name = "page4"; + this.page4.Size = new System.Drawing.Size(352, 300); + this.page4.TabIndex = 7; + // + // txtlicenseagreement + // + this.txtlicenseagreement.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.txtlicenseagreement.Location = new System.Drawing.Point(23, 58); + this.txtlicenseagreement.Name = "txtlicenseagreement"; + this.txtlicenseagreement.ReadOnly = true; + this.txtlicenseagreement.Size = new System.Drawing.Size(326, 228); + this.txtlicenseagreement.TabIndex = 4; + this.txtlicenseagreement.Text = ""; + // + // label10 + // + this.label10.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 13F); + this.label10.Location = new System.Drawing.Point(16, 9); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(321, 26); + this.label10.TabIndex = 3; + this.label10.Text = "License Agreement"; + // + // FakeSetupScreen + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(490, 329); + this.Controls.Add(this.page3); + this.Controls.Add(this.page4); + this.Controls.Add(this.page2); + this.Controls.Add(this.page1); + this.Controls.Add(this.pnlheader); + this.Controls.Add(this.flbuttons); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "FakeSetupScreen"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "FakeSetupScreen"; + this.TopMost = true; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FakeSetupScreen_FormClosing); + this.flbuttons.ResumeLayout(false); + this.page1.ResumeLayout(false); + this.page2.ResumeLayout(false); + this.page2.PerformLayout(); + this.page3.ResumeLayout(false); + this.page3.PerformLayout(); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.page4.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Panel pnlheader; + private System.Windows.Forms.FlowLayoutPanel flbuttons; + private System.Windows.Forms.Button btnnext; + private System.Windows.Forms.Button btnback; + private System.Windows.Forms.Panel page1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Panel page2; + private System.Windows.Forms.Label lbformattitle; + private System.Windows.Forms.Label lbbyteszeroed; + private System.Windows.Forms.ProgressBar pgformatprogress; + private System.Windows.Forms.Panel page3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtnewusername; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtnewpassword; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtnewsysname; + private System.Windows.Forms.Panel page4; + private System.Windows.Forms.RichTextBox txtlicenseagreement; + private System.Windows.Forms.Label label10; + } +} \ No newline at end of file diff --git a/ShiftOS.WinForms/FakeSetupScreen.cs b/ShiftOS.WinForms/FakeSetupScreen.cs new file mode 100644 index 0000000..b223cb2 --- /dev/null +++ b/ShiftOS.WinForms/FakeSetupScreen.cs @@ -0,0 +1,206 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using ShiftOS.Engine; + +namespace ShiftOS.WinForms +{ + public partial class FakeSetupScreen : Form + { + private Oobe oobe = null; + + public Action MUDUserFound = null; + + public FakeSetupScreen(Oobe _oobe) + { + oobe = _oobe; + InitializeComponent(); + SetupUI(); + ServerManager.MessageReceived += (msg) => + { + if (msg.Name == "mud_notfound") + this.Invoke(new Action(() => { MUDUserFound?.Invoke(false); })); + else if (msg.Name == "mud_found") + this.Invoke(new Action(() => { MUDUserFound?.Invoke(true); })); + }; + } + + public event Action TextSent; + bool isTyping = false; + + private int currentPage = 0; + + public void SetupUI() + { + btnback.Show(); + pnlheader.Dock = DockStyle.Top; + pnlheader.Height = 50; + switch (currentPage) + { + case 0: + page1.BringToFront(); + pnlheader.Dock = DockStyle.Left; + pnlheader.Width = 100; + btnback.Hide(); + break; + case 1: + btnnext.Hide(); + btnback.Hide(); + page2.BringToFront(); + pgformatprogress.Value = 0; + var dinf = new System.IO.DriveInfo("C:"); + StartWipingInBackground(((dinf.TotalSize / 1024) / 1024) / 1024); + TextType($@"So I see you're progressing through. +I really hope you aren't one of those newbies who just next-next-next-finish their way through these things. +I see you've named your drive " + dinf.VolumeLabel + $@" +And it can contain up to {dinf.TotalSize} bytes of information. +And you've formatted this drive with a partition of type " + dinf.DriveFormat + $@". +Interesting... +Very interesting..."); + break; + case 2: + btnnext.Show(); + btnback.Hide(); + TextType(@"Now it's all gone. Now I need some user input so I can install ShiftOS. +Firstly, please enter a username, password, and system name. +Make the username and system name unique so I can identify exactly who you are. You're not the only one here. +Also, make sure the password is secure... There have been people known to breach users' accounts in ShiftOS and steal their stuff. +So make sure your password is secure enough that it can't be guessed, but easy for you to remember, and don't put any personal information in your account."); + page3.BringToFront(); + break; + case 3: + if (string.IsNullOrEmpty(txtnewusername.Text)) + { + TextType("You must specify a valid username!"); + currentPage--; + SetupUI(); + break; + } + + if (string.IsNullOrEmpty(txtnewpassword.Text)) + { + TextType("A password would seriously be recommended."); + currentPage--; + SetupUI(); + break; + } + + if (string.IsNullOrEmpty(txtnewsysname.Text)) + { + TextType("You must name your computer."); + currentPage--; + SetupUI(); + break; + } + + + MUDUserFound = (val) => + { + if(val == true) + { + TextType("I have just verified that your username and password already exists on my end. Please choose another."); + currentPage--; + SetupUI(); + + } + else + { + TextType("I am going to keep that info on my checklist for installing ShiftOS on your system. Now, onto some legal stuff. I highly suggest you read this."); + currentPage++; + oobe.MySave.Username = txtnewusername.Text; + oobe.MySave.Password = txtnewpassword.Text; + oobe.MySave.SystemName = txtnewsysname.Text; + SetupUI(); + } + }; + ServerManager.SendMessage("mud_checkuserexists", $@"{{ + username: ""{txtnewusername.Text}"", + password: ""{txtnewpassword.Text}"" +}}"); + break; + case 4: + page4.BringToFront(); + txtlicenseagreement.Rtf = Properties.Resources.ShiftOS; + break; + case 5: + CanClose = true; + this.Close(); + break; + } + } + + public void StartWipingInBackground(long arbitraryAmountOfBytes) + { + pgformatprogress.Maximum = (int)arbitraryAmountOfBytes; + var t = new Thread(() => + { + for(long i = 0; i <= arbitraryAmountOfBytes; i++) + { + Thread.Sleep(250); + this.Invoke(new Action(() => + { + pgformatprogress.Value = (int)i; + lbbyteszeroed.Text = $"Gigabytes zeroed: {i}/{arbitraryAmountOfBytes}"; + })); + } + this.Invoke(new Action(() => + { + currentPage++; + SetupUI(); + })); + }); + t.IsBackground = true; + t.Start(); + } + + + + private void TextType(string text) + { + new Thread(() => + { + while(isTyping == true) + { + + } + isTyping = true; + TextSent?.Invoke(text); + isTyping = false; + }).Start(); + } + + bool CanClose = false; + + private void FakeSetupScreen_FormClosing(object sender, FormClosingEventArgs e) + { + if (CanClose) + { + + } + else + { + e.Cancel = true; + TextType("Don't try to close the dialog. It's a futile attempt."); + } + } + + private void btnback_Click(object sender, EventArgs e) + { + currentPage--; + SetupUI(); + } + + private void btnnext_Click(object sender, EventArgs e) + { + currentPage++; + SetupUI(); + } + } +} diff --git a/ShiftOS.WinForms/FakeSetupScreen.resx b/ShiftOS.WinForms/FakeSetupScreen.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/ShiftOS.WinForms/FakeSetupScreen.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/ShiftOS.WinForms/Oobe.Designer.cs b/ShiftOS.WinForms/Oobe.Designer.cs index 4ff7c11..cca1522 100644 --- a/ShiftOS.WinForms/Oobe.Designer.cs +++ b/ShiftOS.WinForms/Oobe.Designer.cs @@ -54,924 +54,69 @@ namespace ShiftOS.WinForms /// private void InitializeComponent() { - this.pnlshadow = new System.Windows.Forms.Panel(); - this.pnllanguage = new System.Windows.Forms.Panel(); - this.btnselectlang = new System.Windows.Forms.Button(); - this.lblanguage = new System.Windows.Forms.ListBox(); - this.label1 = new System.Windows.Forms.Label(); - this.pnluserinfo = new System.Windows.Forms.Panel(); - this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); - this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel(); - this.label5 = new System.Windows.Forms.Label(); - this.txtusername = new System.Windows.Forms.TextBox(); - this.flowLayoutPanel3 = new System.Windows.Forms.FlowLayoutPanel(); - this.label4 = new System.Windows.Forms.Label(); - this.txtpassword = new System.Windows.Forms.TextBox(); - this.flowLayoutPanel2 = new System.Windows.Forms.FlowLayoutPanel(); - this.label3 = new System.Windows.Forms.Label(); - this.txtsysname = new System.Windows.Forms.TextBox(); - this.btnsetuserinfo = new System.Windows.Forms.Button(); - this.label2 = new System.Windows.Forms.Label(); - this.pnldiscourse = new System.Windows.Forms.Panel(); - this.flowLayoutPanel5 = new System.Windows.Forms.FlowLayoutPanel(); - this.flowLayoutPanel6 = new System.Windows.Forms.FlowLayoutPanel(); - this.label6 = new System.Windows.Forms.Label(); - this.txtdiscoursename = new System.Windows.Forms.TextBox(); - this.flowLayoutPanel7 = new System.Windows.Forms.FlowLayoutPanel(); - this.label7 = new System.Windows.Forms.Label(); - this.txtdiscoursepass = new System.Windows.Forms.TextBox(); - this.button1 = new System.Windows.Forms.Button(); - this.label9 = new System.Windows.Forms.Label(); - this.pnlterminaltutorial = new System.Windows.Forms.Panel(); - this.pgsystemstatus = new ShiftOS.WinForms.Controls.ShiftedProgressBar(); - this.txtterm = new ShiftOS.WinForms.Controls.TerminalBox(); - this.pnlreenteruserinfo = new System.Windows.Forms.Panel(); - this.flowLayoutPanel8 = new System.Windows.Forms.FlowLayoutPanel(); - this.flowLayoutPanel9 = new System.Windows.Forms.FlowLayoutPanel(); - this.label8 = new System.Windows.Forms.Label(); - this.txtruser = new System.Windows.Forms.TextBox(); - this.flowLayoutPanel10 = new System.Windows.Forms.FlowLayoutPanel(); - this.label10 = new System.Windows.Forms.Label(); - this.txtrpass = new System.Windows.Forms.TextBox(); - this.button2 = new System.Windows.Forms.Button(); - this.label11 = new System.Windows.Forms.Label(); - this.pnlauthfail = new System.Windows.Forms.Panel(); - this.button3 = new System.Windows.Forms.Button(); - this.label14 = new System.Windows.Forms.Label(); - this.pnlauthdone = new System.Windows.Forms.Panel(); - this.button4 = new System.Windows.Forms.Button(); - this.label12 = new System.Windows.Forms.Label(); - this.pnlrelogin = new System.Windows.Forms.Panel(); - this.flowLayoutPanel11 = new System.Windows.Forms.FlowLayoutPanel(); - this.flowLayoutPanel12 = new System.Windows.Forms.FlowLayoutPanel(); - this.label13 = new System.Windows.Forms.Label(); - this.txtluser = new System.Windows.Forms.TextBox(); - this.flowLayoutPanel13 = new System.Windows.Forms.FlowLayoutPanel(); - this.label15 = new System.Windows.Forms.Label(); - this.txtlpass = new System.Windows.Forms.TextBox(); - this.button5 = new System.Windows.Forms.Button(); - this.label16 = new System.Windows.Forms.Label(); - this.pnlrelogerror = new System.Windows.Forms.Panel(); - this.button6 = new System.Windows.Forms.Button(); - this.label17 = new System.Windows.Forms.Label(); - this.pnllanguage.SuspendLayout(); - this.pnluserinfo.SuspendLayout(); - this.flowLayoutPanel1.SuspendLayout(); - this.flowLayoutPanel4.SuspendLayout(); - this.flowLayoutPanel3.SuspendLayout(); - this.flowLayoutPanel2.SuspendLayout(); - this.pnldiscourse.SuspendLayout(); - this.flowLayoutPanel5.SuspendLayout(); - this.flowLayoutPanel6.SuspendLayout(); - this.flowLayoutPanel7.SuspendLayout(); - this.pnlterminaltutorial.SuspendLayout(); - this.pnlreenteruserinfo.SuspendLayout(); - this.flowLayoutPanel8.SuspendLayout(); - this.flowLayoutPanel9.SuspendLayout(); - this.flowLayoutPanel10.SuspendLayout(); - this.pnlauthfail.SuspendLayout(); - this.pnlauthdone.SuspendLayout(); - this.pnlrelogin.SuspendLayout(); - this.flowLayoutPanel11.SuspendLayout(); - this.flowLayoutPanel12.SuspendLayout(); - this.flowLayoutPanel13.SuspendLayout(); - this.pnlrelogerror.SuspendLayout(); + this.components = new System.ComponentModel.Container(); + this.lblHijack = new System.Windows.Forms.Label(); + this.conversationtimer = new System.Windows.Forms.Timer(this.components); + this.textgen = new System.Windows.Forms.Timer(this.components); + this.lblhackwords = new System.Windows.Forms.Label(); + this.hackeffecttimer = new System.Windows.Forms.Timer(this.components); + this.BackgroundWorker1 = new System.ComponentModel.BackgroundWorker(); this.SuspendLayout(); // - // pnlshadow + // lblHijack // - this.pnlshadow.BackColor = System.Drawing.Color.Black; - this.pnlshadow.Location = new System.Drawing.Point(900, 460); - this.pnlshadow.Name = "pnlshadow"; - this.pnlshadow.Size = new System.Drawing.Size(794, 318); - this.pnlshadow.TabIndex = 0; + this.lblHijack.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lblHijack.AutoSize = true; + this.lblHijack.BackColor = System.Drawing.Color.WhiteSmoke; + this.lblHijack.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblHijack.ForeColor = System.Drawing.Color.DimGray; + this.lblHijack.Location = new System.Drawing.Point(143, 193); + this.lblHijack.Name = "lblHijack"; + this.lblHijack.Size = new System.Drawing.Size(18, 25); + this.lblHijack.TabIndex = 0; + this.lblHijack.Text = "\\"; // - // pnllanguage + // textgen // - this.pnllanguage.BackColor = System.Drawing.Color.DarkGray; - this.pnllanguage.Controls.Add(this.btnselectlang); - this.pnllanguage.Controls.Add(this.lblanguage); - this.pnllanguage.Controls.Add(this.label1); - this.pnllanguage.Location = new System.Drawing.Point(43, 75); - this.pnllanguage.Name = "pnllanguage"; - this.pnllanguage.Size = new System.Drawing.Size(542, 321); - this.pnllanguage.TabIndex = 1; + this.textgen.Interval = 20; // - // btnselectlang + // lblhackwords // - this.btnselectlang.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.btnselectlang.AutoSize = true; - this.btnselectlang.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.btnselectlang.FlatAppearance.BorderSize = 0; - this.btnselectlang.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.btnselectlang.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.btnselectlang.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnselectlang.ForeColor = System.Drawing.Color.White; - this.btnselectlang.Location = new System.Drawing.Point(230, 281); - this.btnselectlang.Name = "btnselectlang"; - this.btnselectlang.Size = new System.Drawing.Size(106, 22); - this.btnselectlang.TabIndex = 2; - this.btnselectlang.Text = "{SELECT_LANG}"; - this.btnselectlang.UseVisualStyleBackColor = true; - this.btnselectlang.Click += new System.EventHandler(this.btnselectlang_Click); + this.lblhackwords.AutoSize = true; + this.lblhackwords.Dock = System.Windows.Forms.DockStyle.Fill; + this.lblhackwords.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblhackwords.ForeColor = System.Drawing.SystemColors.ButtonFace; + this.lblhackwords.Location = new System.Drawing.Point(0, 0); + this.lblhackwords.Name = "lblhackwords"; + this.lblhackwords.Size = new System.Drawing.Size(127, 18); + this.lblhackwords.TabIndex = 1; + this.lblhackwords.Text = "Hijack in progress"; // - // lblanguage + // hackeffecttimer // - this.lblanguage.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.lblanguage.BackColor = System.Drawing.Color.DarkGray; - this.lblanguage.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.lblanguage.FormattingEnabled = true; - this.lblanguage.ItemHeight = 12; - this.lblanguage.Location = new System.Drawing.Point(14, 83); - this.lblanguage.Name = "lblanguage"; - this.lblanguage.Size = new System.Drawing.Size(514, 192); - this.lblanguage.TabIndex = 1; + this.hackeffecttimer.Interval = 50; // - // label1 + // HijackScreen // - this.label1.Dock = System.Windows.Forms.DockStyle.Top; - this.label1.Location = new System.Drawing.Point(0, 0); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(542, 70); - this.label1.TabIndex = 0; - this.label1.Text = "{WELCOME_TO_SHIFTOS}\r\n\r\n{PLEASE_CHOOSE_A_SYSTEM_LANGUAGE}"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnluserinfo - // - this.pnluserinfo.BackColor = System.Drawing.Color.DarkGray; - this.pnluserinfo.Controls.Add(this.flowLayoutPanel1); - this.pnluserinfo.Controls.Add(this.btnsetuserinfo); - this.pnluserinfo.Controls.Add(this.label2); - this.pnluserinfo.Location = new System.Drawing.Point(653, 94); - this.pnluserinfo.Name = "pnluserinfo"; - this.pnluserinfo.Size = new System.Drawing.Size(334, 233); - this.pnluserinfo.TabIndex = 2; - // - // flowLayoutPanel1 - // - this.flowLayoutPanel1.AutoSize = true; - this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel1.Controls.Add(this.flowLayoutPanel4); - this.flowLayoutPanel1.Controls.Add(this.flowLayoutPanel3); - this.flowLayoutPanel1.Controls.Add(this.flowLayoutPanel2); - this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel1.Location = new System.Drawing.Point(18, 73); - this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Size = new System.Drawing.Size(308, 96); - this.flowLayoutPanel1.TabIndex = 3; - this.flowLayoutPanel1.WrapContents = false; - // - // flowLayoutPanel4 - // - this.flowLayoutPanel4.AutoSize = true; - this.flowLayoutPanel4.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel4.Controls.Add(this.label5); - this.flowLayoutPanel4.Controls.Add(this.txtusername); - this.flowLayoutPanel4.Location = new System.Drawing.Point(3, 3); - this.flowLayoutPanel4.Name = "flowLayoutPanel4"; - this.flowLayoutPanel4.Size = new System.Drawing.Size(302, 28); - this.flowLayoutPanel4.TabIndex = 2; - // - // label5 - // - this.label5.Location = new System.Drawing.Point(3, 0); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(108, 28); - this.label5.TabIndex = 0; - this.label5.Text = "{USER_NAME}:"; - this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtusername - // - this.txtusername.BackColor = System.Drawing.Color.Black; - this.txtusername.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtusername.ForeColor = System.Drawing.Color.Gray; - this.txtusername.Location = new System.Drawing.Point(117, 3); - this.txtusername.Name = "txtusername"; - this.txtusername.Size = new System.Drawing.Size(182, 19); - this.txtusername.TabIndex = 1; - // - // flowLayoutPanel3 - // - this.flowLayoutPanel3.AutoSize = true; - this.flowLayoutPanel3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel3.Controls.Add(this.label4); - this.flowLayoutPanel3.Controls.Add(this.txtpassword); - this.flowLayoutPanel3.Location = new System.Drawing.Point(3, 37); - this.flowLayoutPanel3.Name = "flowLayoutPanel3"; - this.flowLayoutPanel3.Size = new System.Drawing.Size(302, 25); - this.flowLayoutPanel3.TabIndex = 2; - // - // label4 - // - this.label4.Location = new System.Drawing.Point(3, 0); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(108, 22); - this.label4.TabIndex = 0; - this.label4.Text = "{PASSWORD}: "; - this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtpassword - // - this.txtpassword.BackColor = System.Drawing.Color.Black; - this.txtpassword.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtpassword.ForeColor = System.Drawing.Color.Gray; - this.txtpassword.Location = new System.Drawing.Point(117, 3); - this.txtpassword.Name = "txtpassword"; - this.txtpassword.PasswordChar = '*'; - this.txtpassword.Size = new System.Drawing.Size(182, 19); - this.txtpassword.TabIndex = 1; - // - // flowLayoutPanel2 - // - this.flowLayoutPanel2.AutoSize = true; - this.flowLayoutPanel2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel2.Controls.Add(this.label3); - this.flowLayoutPanel2.Controls.Add(this.txtsysname); - this.flowLayoutPanel2.Location = new System.Drawing.Point(3, 68); - this.flowLayoutPanel2.Name = "flowLayoutPanel2"; - this.flowLayoutPanel2.Size = new System.Drawing.Size(302, 25); - this.flowLayoutPanel2.TabIndex = 0; - // - // label3 - // - this.label3.Location = new System.Drawing.Point(3, 0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(108, 22); - this.label3.TabIndex = 0; - this.label3.Text = "{SYSTEM_NAME}:"; - this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtsysname - // - this.txtsysname.BackColor = System.Drawing.Color.Black; - this.txtsysname.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtsysname.ForeColor = System.Drawing.Color.Gray; - this.txtsysname.Location = new System.Drawing.Point(117, 3); - this.txtsysname.Name = "txtsysname"; - this.txtsysname.Size = new System.Drawing.Size(182, 19); - this.txtsysname.TabIndex = 1; - // - // btnsetuserinfo - // - this.btnsetuserinfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.btnsetuserinfo.AutoSize = true; - this.btnsetuserinfo.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.btnsetuserinfo.FlatAppearance.BorderSize = 0; - this.btnsetuserinfo.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.btnsetuserinfo.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.btnsetuserinfo.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnsetuserinfo.ForeColor = System.Drawing.Color.White; - this.btnsetuserinfo.Location = new System.Drawing.Point(138, 192); - this.btnsetuserinfo.Name = "btnsetuserinfo"; - this.btnsetuserinfo.Size = new System.Drawing.Size(71, 22); - this.btnsetuserinfo.TabIndex = 2; - this.btnsetuserinfo.Text = "{SUBMIT}"; - this.btnsetuserinfo.UseVisualStyleBackColor = true; - this.btnsetuserinfo.Click += new System.EventHandler(this.btnsetuserinfo_Click); - // - // label2 - // - this.label2.Dock = System.Windows.Forms.DockStyle.Top; - this.label2.Location = new System.Drawing.Point(0, 0); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(334, 70); - this.label2.TabIndex = 0; - this.label2.Text = "{USER_INFO}\r\n\r\n{USER_INFO_EXP}"; - this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnldiscourse - // - this.pnldiscourse.BackColor = System.Drawing.Color.DarkGray; - this.pnldiscourse.Controls.Add(this.flowLayoutPanel5); - this.pnldiscourse.Controls.Add(this.button1); - this.pnldiscourse.Controls.Add(this.label9); - this.pnldiscourse.Location = new System.Drawing.Point(1050, 104); - this.pnldiscourse.Name = "pnldiscourse"; - this.pnldiscourse.Size = new System.Drawing.Size(334, 233); - this.pnldiscourse.TabIndex = 4; - // - // flowLayoutPanel5 - // - this.flowLayoutPanel5.AutoSize = true; - this.flowLayoutPanel5.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel5.Controls.Add(this.flowLayoutPanel6); - this.flowLayoutPanel5.Controls.Add(this.flowLayoutPanel7); - this.flowLayoutPanel5.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel5.Location = new System.Drawing.Point(14, 121); - this.flowLayoutPanel5.Name = "flowLayoutPanel5"; - this.flowLayoutPanel5.Size = new System.Drawing.Size(308, 65); - this.flowLayoutPanel5.TabIndex = 3; - this.flowLayoutPanel5.WrapContents = false; - // - // flowLayoutPanel6 - // - this.flowLayoutPanel6.AutoSize = true; - this.flowLayoutPanel6.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel6.Controls.Add(this.label6); - this.flowLayoutPanel6.Controls.Add(this.txtdiscoursename); - this.flowLayoutPanel6.Location = new System.Drawing.Point(3, 3); - this.flowLayoutPanel6.Name = "flowLayoutPanel6"; - this.flowLayoutPanel6.Size = new System.Drawing.Size(302, 28); - this.flowLayoutPanel6.TabIndex = 2; - // - // label6 - // - this.label6.Location = new System.Drawing.Point(3, 0); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(108, 28); - this.label6.TabIndex = 0; - this.label6.Text = "{USER_NAME}:"; - this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtdiscoursename - // - this.txtdiscoursename.BackColor = System.Drawing.Color.Black; - this.txtdiscoursename.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtdiscoursename.ForeColor = System.Drawing.Color.Gray; - this.txtdiscoursename.Location = new System.Drawing.Point(117, 3); - this.txtdiscoursename.Name = "txtdiscoursename"; - this.txtdiscoursename.Size = new System.Drawing.Size(182, 19); - this.txtdiscoursename.TabIndex = 1; - // - // flowLayoutPanel7 - // - this.flowLayoutPanel7.AutoSize = true; - this.flowLayoutPanel7.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel7.Controls.Add(this.label7); - this.flowLayoutPanel7.Controls.Add(this.txtdiscoursepass); - this.flowLayoutPanel7.Location = new System.Drawing.Point(3, 37); - this.flowLayoutPanel7.Name = "flowLayoutPanel7"; - this.flowLayoutPanel7.Size = new System.Drawing.Size(302, 25); - this.flowLayoutPanel7.TabIndex = 2; - // - // label7 - // - this.label7.Location = new System.Drawing.Point(3, 0); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(108, 22); - this.label7.TabIndex = 0; - this.label7.Text = "{PASSWORD}: "; - this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtdiscoursepass - // - this.txtdiscoursepass.BackColor = System.Drawing.Color.Black; - this.txtdiscoursepass.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtdiscoursepass.ForeColor = System.Drawing.Color.Gray; - this.txtdiscoursepass.Location = new System.Drawing.Point(117, 3); - this.txtdiscoursepass.Name = "txtdiscoursepass"; - this.txtdiscoursepass.PasswordChar = '*'; - this.txtdiscoursepass.Size = new System.Drawing.Size(182, 19); - this.txtdiscoursepass.TabIndex = 1; - // - // button1 - // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button1.AutoSize = true; - this.button1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.button1.FlatAppearance.BorderSize = 0; - this.button1.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.button1.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.button1.ForeColor = System.Drawing.Color.White; - this.button1.Location = new System.Drawing.Point(138, 192); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(71, 22); - this.button1.TabIndex = 2; - this.button1.Text = "{SUBMIT}"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); - // - // label9 - // - this.label9.Dock = System.Windows.Forms.DockStyle.Top; - this.label9.Location = new System.Drawing.Point(0, 0); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(334, 88); - this.label9.TabIndex = 0; - this.label9.Text = "{DISCOURSE_INTEGRATION}\r\n\r\n{DISCOURSE_INTEGRATION_EXP}"; - this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnlterminaltutorial - // - this.pnlterminaltutorial.BackColor = System.Drawing.Color.DarkGray; - this.pnlterminaltutorial.Controls.Add(this.pgsystemstatus); - this.pnlterminaltutorial.Controls.Add(this.txtterm); - this.pnlterminaltutorial.Location = new System.Drawing.Point(622, 384); - this.pnlterminaltutorial.Name = "pnlterminaltutorial"; - this.pnlterminaltutorial.Size = new System.Drawing.Size(940, 604); - this.pnlterminaltutorial.TabIndex = 5; - // - // pgsystemstatus - // - this.pgsystemstatus.BackColor = System.Drawing.Color.Black; - this.pgsystemstatus.BlockSize = 5; - this.pgsystemstatus.Location = new System.Drawing.Point(4, 578); - this.pgsystemstatus.Maximum = 100; - this.pgsystemstatus.Name = "pgsystemstatus"; - this.pgsystemstatus.Size = new System.Drawing.Size(933, 23); - this.pgsystemstatus.Style = System.Windows.Forms.ProgressBarStyle.Continuous; - this.pgsystemstatus.TabIndex = 2; - this.pgsystemstatus.Text = "shiftedProgressBar1"; - this.pgsystemstatus.Value = 0; - this.pgsystemstatus.Visible = false; - // - // txtterm - // - this.txtterm.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.txtterm.Location = new System.Drawing.Point(4, 3); - this.txtterm.Name = "txtterm"; - this.txtterm.Size = new System.Drawing.Size(933, 598); - this.txtterm.TabIndex = 1; - this.txtterm.Text = ""; - // - // pnlreenteruserinfo - // - this.pnlreenteruserinfo.BackColor = System.Drawing.Color.DarkGray; - this.pnlreenteruserinfo.Controls.Add(this.flowLayoutPanel8); - this.pnlreenteruserinfo.Controls.Add(this.button2); - this.pnlreenteruserinfo.Controls.Add(this.label11); - this.pnlreenteruserinfo.Location = new System.Drawing.Point(791, 384); - this.pnlreenteruserinfo.Name = "pnlreenteruserinfo"; - this.pnlreenteruserinfo.Size = new System.Drawing.Size(334, 233); - this.pnlreenteruserinfo.TabIndex = 6; - // - // flowLayoutPanel8 - // - this.flowLayoutPanel8.AutoSize = true; - this.flowLayoutPanel8.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel8.Controls.Add(this.flowLayoutPanel9); - this.flowLayoutPanel8.Controls.Add(this.flowLayoutPanel10); - this.flowLayoutPanel8.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel8.Location = new System.Drawing.Point(14, 121); - this.flowLayoutPanel8.Name = "flowLayoutPanel8"; - this.flowLayoutPanel8.Size = new System.Drawing.Size(308, 65); - this.flowLayoutPanel8.TabIndex = 3; - this.flowLayoutPanel8.WrapContents = false; - // - // flowLayoutPanel9 - // - this.flowLayoutPanel9.AutoSize = true; - this.flowLayoutPanel9.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel9.Controls.Add(this.label8); - this.flowLayoutPanel9.Controls.Add(this.txtruser); - this.flowLayoutPanel9.Location = new System.Drawing.Point(3, 3); - this.flowLayoutPanel9.Name = "flowLayoutPanel9"; - this.flowLayoutPanel9.Size = new System.Drawing.Size(302, 28); - this.flowLayoutPanel9.TabIndex = 2; - // - // label8 - // - this.label8.Location = new System.Drawing.Point(3, 0); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(108, 28); - this.label8.TabIndex = 0; - this.label8.Text = "{USER_NAME}:"; - this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtruser - // - this.txtruser.BackColor = System.Drawing.Color.Black; - this.txtruser.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtruser.ForeColor = System.Drawing.Color.Gray; - this.txtruser.Location = new System.Drawing.Point(117, 3); - this.txtruser.Name = "txtruser"; - this.txtruser.Size = new System.Drawing.Size(182, 19); - this.txtruser.TabIndex = 1; - // - // flowLayoutPanel10 - // - this.flowLayoutPanel10.AutoSize = true; - this.flowLayoutPanel10.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel10.Controls.Add(this.label10); - this.flowLayoutPanel10.Controls.Add(this.txtrpass); - this.flowLayoutPanel10.Location = new System.Drawing.Point(3, 37); - this.flowLayoutPanel10.Name = "flowLayoutPanel10"; - this.flowLayoutPanel10.Size = new System.Drawing.Size(302, 25); - this.flowLayoutPanel10.TabIndex = 2; - // - // label10 - // - this.label10.Location = new System.Drawing.Point(3, 0); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(108, 22); - this.label10.TabIndex = 0; - this.label10.Text = "{PASSWORD}: "; - this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtrpass - // - this.txtrpass.BackColor = System.Drawing.Color.Black; - this.txtrpass.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtrpass.ForeColor = System.Drawing.Color.Gray; - this.txtrpass.Location = new System.Drawing.Point(117, 3); - this.txtrpass.Name = "txtrpass"; - this.txtrpass.PasswordChar = '*'; - this.txtrpass.Size = new System.Drawing.Size(182, 19); - this.txtrpass.TabIndex = 1; - // - // button2 - // - this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button2.AutoSize = true; - this.button2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.button2.FlatAppearance.BorderSize = 0; - this.button2.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.button2.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.button2.ForeColor = System.Drawing.Color.White; - this.button2.Location = new System.Drawing.Point(138, 192); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(71, 22); - this.button2.TabIndex = 2; - this.button2.Text = "{SUBMIT}"; - this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.button2_Click); - // - // label11 - // - this.label11.Dock = System.Windows.Forms.DockStyle.Top; - this.label11.Location = new System.Drawing.Point(0, 0); - this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(334, 88); - this.label11.TabIndex = 0; - this.label11.Text = "Enter new username and password\r\n\r\nAs per recent changes within the multi-user do" + - "main, you must re-enter your username and password to re-complete registration w" + - "ith the multi-user domain."; - this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnlauthfail - // - this.pnlauthfail.BackColor = System.Drawing.Color.DarkGray; - this.pnlauthfail.Controls.Add(this.button3); - this.pnlauthfail.Controls.Add(this.label14); - this.pnlauthfail.Location = new System.Drawing.Point(161, 460); - this.pnlauthfail.Name = "pnlauthfail"; - this.pnlauthfail.Size = new System.Drawing.Size(334, 138); - this.pnlauthfail.TabIndex = 7; - // - // button3 - // - this.button3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button3.AutoSize = true; - this.button3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.button3.FlatAppearance.BorderSize = 0; - this.button3.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.button3.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.button3.ForeColor = System.Drawing.Color.White; - this.button3.Location = new System.Drawing.Point(138, 97); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(71, 22); - this.button3.TabIndex = 2; - this.button3.Text = "{SUBMIT}"; - this.button3.UseVisualStyleBackColor = true; - this.button3.Click += new System.EventHandler(this.button3_Click); - // - // label14 - // - this.label14.Dock = System.Windows.Forms.DockStyle.Top; - this.label14.Location = new System.Drawing.Point(0, 0); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(334, 88); - this.label14.TabIndex = 0; - this.label14.Text = "Registration Failure\r\n\r\nThat account already exists."; - this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnlauthdone - // - this.pnlauthdone.BackColor = System.Drawing.Color.DarkGray; - this.pnlauthdone.Controls.Add(this.button4); - this.pnlauthdone.Controls.Add(this.label12); - this.pnlauthdone.Location = new System.Drawing.Point(122, 640); - this.pnlauthdone.Name = "pnlauthdone"; - this.pnlauthdone.Size = new System.Drawing.Size(334, 138); - this.pnlauthdone.TabIndex = 8; - // - // button4 - // - this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button4.AutoSize = true; - this.button4.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.button4.FlatAppearance.BorderSize = 0; - this.button4.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.button4.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.button4.ForeColor = System.Drawing.Color.White; - this.button4.Location = new System.Drawing.Point(138, 97); - this.button4.Name = "button4"; - this.button4.Size = new System.Drawing.Size(71, 22); - this.button4.TabIndex = 2; - this.button4.Text = "{SUBMIT}"; - this.button4.UseVisualStyleBackColor = true; - this.button4.Click += new System.EventHandler(this.button4_Click); - // - // label12 - // - this.label12.Dock = System.Windows.Forms.DockStyle.Top; - this.label12.Location = new System.Drawing.Point(0, 0); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(334, 88); - this.label12.TabIndex = 0; - this.label12.Text = "Registration Failure\r\n\r\nYou may proceed on with your regular day."; - this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnlrelogin - // - this.pnlrelogin.BackColor = System.Drawing.Color.DarkGray; - this.pnlrelogin.Controls.Add(this.flowLayoutPanel11); - this.pnlrelogin.Controls.Add(this.button5); - this.pnlrelogin.Controls.Add(this.label16); - this.pnlrelogin.Location = new System.Drawing.Point(513, 445); - this.pnlrelogin.Name = "pnlrelogin"; - this.pnlrelogin.Size = new System.Drawing.Size(334, 233); - this.pnlrelogin.TabIndex = 7; - // - // flowLayoutPanel11 - // - this.flowLayoutPanel11.AutoSize = true; - this.flowLayoutPanel11.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel11.Controls.Add(this.flowLayoutPanel12); - this.flowLayoutPanel11.Controls.Add(this.flowLayoutPanel13); - this.flowLayoutPanel11.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel11.Location = new System.Drawing.Point(14, 121); - this.flowLayoutPanel11.Name = "flowLayoutPanel11"; - this.flowLayoutPanel11.Size = new System.Drawing.Size(308, 65); - this.flowLayoutPanel11.TabIndex = 3; - this.flowLayoutPanel11.WrapContents = false; - // - // flowLayoutPanel12 - // - this.flowLayoutPanel12.AutoSize = true; - this.flowLayoutPanel12.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel12.Controls.Add(this.label13); - this.flowLayoutPanel12.Controls.Add(this.txtluser); - this.flowLayoutPanel12.Location = new System.Drawing.Point(3, 3); - this.flowLayoutPanel12.Name = "flowLayoutPanel12"; - this.flowLayoutPanel12.Size = new System.Drawing.Size(302, 28); - this.flowLayoutPanel12.TabIndex = 2; - // - // label13 - // - this.label13.Location = new System.Drawing.Point(3, 0); - this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(108, 28); - this.label13.TabIndex = 0; - this.label13.Text = "{USER_NAME}:"; - this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtluser - // - this.txtluser.BackColor = System.Drawing.Color.Black; - this.txtluser.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtluser.ForeColor = System.Drawing.Color.Gray; - this.txtluser.Location = new System.Drawing.Point(117, 3); - this.txtluser.Name = "txtluser"; - this.txtluser.Size = new System.Drawing.Size(182, 19); - this.txtluser.TabIndex = 1; - // - // flowLayoutPanel13 - // - this.flowLayoutPanel13.AutoSize = true; - this.flowLayoutPanel13.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flowLayoutPanel13.Controls.Add(this.label15); - this.flowLayoutPanel13.Controls.Add(this.txtlpass); - this.flowLayoutPanel13.Location = new System.Drawing.Point(3, 37); - this.flowLayoutPanel13.Name = "flowLayoutPanel13"; - this.flowLayoutPanel13.Size = new System.Drawing.Size(302, 25); - this.flowLayoutPanel13.TabIndex = 2; - // - // label15 - // - this.label15.Location = new System.Drawing.Point(3, 0); - this.label15.Name = "label15"; - this.label15.Size = new System.Drawing.Size(108, 22); - this.label15.TabIndex = 0; - this.label15.Text = "{PASSWORD}: "; - this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // - // txtlpass - // - this.txtlpass.BackColor = System.Drawing.Color.Black; - this.txtlpass.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtlpass.ForeColor = System.Drawing.Color.Gray; - this.txtlpass.Location = new System.Drawing.Point(117, 3); - this.txtlpass.Name = "txtlpass"; - this.txtlpass.PasswordChar = '*'; - this.txtlpass.Size = new System.Drawing.Size(182, 19); - this.txtlpass.TabIndex = 1; - // - // button5 - // - this.button5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button5.AutoSize = true; - this.button5.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.button5.FlatAppearance.BorderSize = 0; - this.button5.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.button5.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.button5.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.button5.ForeColor = System.Drawing.Color.White; - this.button5.Location = new System.Drawing.Point(138, 192); - this.button5.Name = "button5"; - this.button5.Size = new System.Drawing.Size(71, 22); - this.button5.TabIndex = 2; - this.button5.Text = "{SUBMIT}"; - this.button5.UseVisualStyleBackColor = true; - this.button5.Click += new System.EventHandler(this.button5_Click); - // - // label16 - // - this.label16.Dock = System.Windows.Forms.DockStyle.Top; - this.label16.Location = new System.Drawing.Point(0, 0); - this.label16.Name = "label16"; - this.label16.Size = new System.Drawing.Size(334, 88); - this.label16.TabIndex = 0; - this.label16.Text = "Re-enter User Login\r\n\r\nThe auto-login attempt for your current user account did n" + - "ot work on this multi-user domain. Please enter the correct username and passwor" + - "d for this MUD."; - this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // pnlrelogerror - // - this.pnlrelogerror.BackColor = System.Drawing.Color.DarkGray; - this.pnlrelogerror.Controls.Add(this.button6); - this.pnlrelogerror.Controls.Add(this.label17); - this.pnlrelogerror.Location = new System.Drawing.Point(124, 816); - this.pnlrelogerror.Name = "pnlrelogerror"; - this.pnlrelogerror.Size = new System.Drawing.Size(334, 138); - this.pnlrelogerror.TabIndex = 9; - // - // button6 - // - this.button6.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.button6.AutoSize = true; - this.button6.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.button6.FlatAppearance.BorderSize = 0; - this.button6.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Black; - this.button6.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Red; - this.button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.button6.ForeColor = System.Drawing.Color.White; - this.button6.Location = new System.Drawing.Point(138, 97); - this.button6.Name = "button6"; - this.button6.Size = new System.Drawing.Size(71, 22); - this.button6.TabIndex = 2; - this.button6.Text = "{SUBMIT}"; - this.button6.UseVisualStyleBackColor = true; - this.button6.Click += new System.EventHandler(this.button6_Click); - // - // label17 - // - this.label17.Dock = System.Windows.Forms.DockStyle.Top; - this.label17.Location = new System.Drawing.Point(0, 0); - this.label17.Name = "label17"; - this.label17.Size = new System.Drawing.Size(334, 88); - this.label17.TabIndex = 0; - this.label17.Text = "Access denied.\r\n\r\nEither you entered details for an account that doesn\'t exist or" + - " you attempted to break into an existing account with the incorrect password."; - this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // - // Oobe - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.DarkBlue; - this.ClientSize = new System.Drawing.Size(1354, 733); - this.Controls.Add(this.pnlrelogerror); - this.Controls.Add(this.pnlrelogin); - this.Controls.Add(this.pnlauthdone); - this.Controls.Add(this.pnlauthfail); - this.Controls.Add(this.pnlreenteruserinfo); - this.Controls.Add(this.pnlterminaltutorial); - this.Controls.Add(this.pnldiscourse); - this.Controls.Add(this.pnluserinfo); - this.Controls.Add(this.pnllanguage); - this.Controls.Add(this.pnlshadow); - this.Font = new System.Drawing.Font("Lucida Console", 9F); - this.Name = "Oobe"; - this.Text = "OutOfBoxExperience"; - this.Load += new System.EventHandler(this.Oobe_Load); - this.pnllanguage.ResumeLayout(false); - this.pnllanguage.PerformLayout(); - this.pnluserinfo.ResumeLayout(false); - this.pnluserinfo.PerformLayout(); - this.flowLayoutPanel1.ResumeLayout(false); - this.flowLayoutPanel1.PerformLayout(); - this.flowLayoutPanel4.ResumeLayout(false); - this.flowLayoutPanel4.PerformLayout(); - this.flowLayoutPanel3.ResumeLayout(false); - this.flowLayoutPanel3.PerformLayout(); - this.flowLayoutPanel2.ResumeLayout(false); - this.flowLayoutPanel2.PerformLayout(); - this.pnldiscourse.ResumeLayout(false); - this.pnldiscourse.PerformLayout(); - this.flowLayoutPanel5.ResumeLayout(false); - this.flowLayoutPanel5.PerformLayout(); - this.flowLayoutPanel6.ResumeLayout(false); - this.flowLayoutPanel6.PerformLayout(); - this.flowLayoutPanel7.ResumeLayout(false); - this.flowLayoutPanel7.PerformLayout(); - this.pnlterminaltutorial.ResumeLayout(false); - this.pnlreenteruserinfo.ResumeLayout(false); - this.pnlreenteruserinfo.PerformLayout(); - this.flowLayoutPanel8.ResumeLayout(false); - this.flowLayoutPanel8.PerformLayout(); - this.flowLayoutPanel9.ResumeLayout(false); - this.flowLayoutPanel9.PerformLayout(); - this.flowLayoutPanel10.ResumeLayout(false); - this.flowLayoutPanel10.PerformLayout(); - this.pnlauthfail.ResumeLayout(false); - this.pnlauthfail.PerformLayout(); - this.pnlauthdone.ResumeLayout(false); - this.pnlauthdone.PerformLayout(); - this.pnlrelogin.ResumeLayout(false); - this.pnlrelogin.PerformLayout(); - this.flowLayoutPanel11.ResumeLayout(false); - this.flowLayoutPanel11.PerformLayout(); - this.flowLayoutPanel12.ResumeLayout(false); - this.flowLayoutPanel12.PerformLayout(); - this.flowLayoutPanel13.ResumeLayout(false); - this.flowLayoutPanel13.PerformLayout(); - this.pnlrelogerror.ResumeLayout(false); - this.pnlrelogerror.PerformLayout(); + this.BackColor = System.Drawing.Color.Silver; + this.ClientSize = new System.Drawing.Size(653, 457); + this.Controls.Add(this.lblhackwords); + this.Controls.Add(this.lblHijack); + this.Name = "HijackScreen"; + this.Text = "ShiftOS"; + this.TransparencyKey = System.Drawing.Color.White; this.ResumeLayout(false); + this.PerformLayout(); } - + internal System.Windows.Forms.Label lblHijack; + internal System.Windows.Forms.Timer conversationtimer; + internal System.Windows.Forms.Timer textgen; + internal System.Windows.Forms.Label lblhackwords; + internal System.Windows.Forms.Timer hackeffecttimer; + internal System.ComponentModel.BackgroundWorker BackgroundWorker1; #endregion - - private System.Windows.Forms.Panel pnlshadow; - private System.Windows.Forms.Panel pnllanguage; - private System.Windows.Forms.Button btnselectlang; - private System.Windows.Forms.ListBox lblanguage; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Panel pnluserinfo; - private System.Windows.Forms.Button btnsetuserinfo; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.TextBox txtusername; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel3; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.TextBox txtpassword; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel2; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.TextBox txtsysname; - private System.Windows.Forms.Panel pnldiscourse; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel5; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel6; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.TextBox txtdiscoursename; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel7; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.TextBox txtdiscoursepass; - private System.Windows.Forms.Button button1; - private System.Windows.Forms.Label label9; - private System.Windows.Forms.Panel pnlterminaltutorial; - private Controls.TerminalBox txtterm; - private ShiftedProgressBar pgsystemstatus; - private System.Windows.Forms.Panel pnlreenteruserinfo; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel8; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel9; - private System.Windows.Forms.Label label8; - private System.Windows.Forms.TextBox txtruser; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel10; - private System.Windows.Forms.Label label10; - private System.Windows.Forms.TextBox txtrpass; - private System.Windows.Forms.Button button2; - private System.Windows.Forms.Label label11; - private System.Windows.Forms.Panel pnlauthfail; - private System.Windows.Forms.Button button3; - private System.Windows.Forms.Label label14; - private System.Windows.Forms.Panel pnlauthdone; - private System.Windows.Forms.Button button4; - private System.Windows.Forms.Label label12; - private System.Windows.Forms.Panel pnlrelogin; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel11; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel12; - private System.Windows.Forms.Label label13; - private System.Windows.Forms.TextBox txtluser; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel13; - private System.Windows.Forms.Label label15; - private System.Windows.Forms.TextBox txtlpass; - private System.Windows.Forms.Button button5; - private System.Windows.Forms.Label label16; - private System.Windows.Forms.Panel pnlrelogerror; - private System.Windows.Forms.Button button6; - private System.Windows.Forms.Label label17; } } \ No newline at end of file diff --git a/ShiftOS.WinForms/Oobe.cs b/ShiftOS.WinForms/Oobe.cs index 52a0c05..20d8ab5 100644 --- a/ShiftOS.WinForms/Oobe.cs +++ b/ShiftOS.WinForms/Oobe.cs @@ -41,396 +41,167 @@ namespace ShiftOS.WinForms { public partial class Oobe : Form, IOobe { - public Save MySave { get; private set; } - - public bool IsTransferMode = false; - public Oobe() { InitializeComponent(); - } - - public void HideAll() - { - foreach (Control ctrl in this.Controls) - { - if (ctrl != this.pnlshadow) - { - ctrl.Hide(); - } - } - } - - public void SetupUI() - { - HideAll(); - Panel shown = null; - if (IsTransferMode == false) - { - switch (MySave.StoryPosition) - { - case 0: - shown = pnllanguage; - SetupLanguages(); - break; - case 1: - shown = pnluserinfo; - break; - case 2: - shown = pnldiscourse; - break; - default: - shown = pnlterminaltutorial; - SetupTerminal(); - break; - } - } - else - { - switch (TransferProgress) - { - case 0: - shown = pnlreenteruserinfo; - break; - case 1: - shown = pnlauthfail; - break; - case 2: - shown = pnlauthdone; - break; - case 4: - shown = pnlrelogin; - break; - case 5: - shown = pnlrelogerror; - break; - } - } - - if (shown != null) - { - shown.Location = new Point((int)(shown.Parent?.Width - shown.Width) / 2, (int)(shown?.Parent.Height - shown.Height) / 2); - pnlshadow.Size = (Size)shown.Size; - pnlshadow.Location = new Point((int)shown.Left + 15, (int)shown.Top + 15); - shown.Show(); - } - } - - private int TransferProgress = 0; - - public void SetupTerminal() - { - //just so that the terminal can access our save - SaveSystem.CurrentSave = MySave; - - Applications.Terminal.MakeWidget(txtterm); - TerminalBackend.InStory = false; - TerminalBackend.PrefixEnabled = true; - Console.WriteLine("{TERMINAL_TUTORIAL_1}"); - SaveSystem.TransferCodepointsFrom("oobe", 50); - - Shiftorium.Installed += () => - { - if (SaveSystem.CurrentSave.StoryPosition < 5) - { - if (Shiftorium.UpgradeInstalled("mud_fundamentals")) - { - Console.WriteLine("{TERMINAL_TUTORIAL_2}"); - txtterm.Height -= pgsystemstatus.Height - 4; - pgsystemstatus.Show(); - - StartInstall(); - - } - } - }; + this.FormBorderStyle = FormBorderStyle.None; + this.WindowState = FormWindowState.Maximized; + this.BackColor = Color.Black; } - public int thingsDone + + string rtext; + string gtexttotype; + int charcount; + int currentletter; + int slashcount; + int conversationcount = 0; + Label textgeninput; + bool needtoclose = false; + public bool upgraded = false; + int hackeffect; + int percentcount; + + + public void TextType(string texttotype) { - get - { - return pgsystemstatus.Value; - } - set + charcount = texttotype.Length; + gtexttotype = texttotype; + currentletter = 0; + slashcount = 1; + foreach (var c in gtexttotype) { + rtext += c; this.Invoke(new Action(() => { - pgsystemstatus.Value = value; + textgeninput.Text = rtext + "|"; })); + Console.Beep(750, 50); + slashcount++; + if (slashcount == 5) + slashcount = 1; } + rtext += Environment.NewLine; } - public int thingsToDo - { - get - { - return pgsystemstatus.Maximum; - } - set - { - this.Invoke(new Action(() => - { - pgsystemstatus.Maximum = value; - })); - } - } - - public void StartInstall() - { - Dictionary Aliases = new Dictionary(); - Aliases.Add("help", "sos.help"); - Aliases.Add("save", "sos.save"); - Aliases.Add("shutdown", "sys.shutdown"); - Aliases.Add("status", "sos.status"); - Aliases.Add("pong", "win.open{app:\"pong\"}"); - Aliases.Add("programs", "sos.help{topic:\"programs\"}"); - - foreach (var path in Paths.GetAll()) - { - Console.WriteLine("{CREATE}: " + path); - thingsDone += 1; - Thread.Sleep(500); - } - thingsToDo = Aliases.Count + Paths.GetAll().Length + 2; - - Console.WriteLine("{INSTALL}: {PONG}"); - thingsDone++; - Thread.Sleep(200); - - Console.WriteLine("{INSTALL}: {TERMINAL}"); - thingsDone++; - Thread.Sleep(200); - - foreach (var kv in Aliases) - { - Console.WriteLine($"{{ALIAS}}: {kv.Key} => {kv.Value}"); - thingsDone++; - Thread.Sleep(450); - } - - SaveSystem.CurrentSave.StoryPosition = 5; - SaveSystem.SaveGame(); - } - - List supportedLangs - { - get - { - //return JsonConvert.DeserializeObject>(Properties.Resources.languages); - - return new List(new[] { "english" }); - } - } - - public void SetupLanguages() - { - lblanguage.Items.Clear(); - - foreach (var supportedLang in supportedLangs) - { - lblanguage.Items.Add(supportedLang); - } - } - - public void SetupAllControls() - { - foreach (Control ctrl in this.Controls) - { - SetupControl(ctrl); - } - } - - public void SetupControl(Control ctrl) - { - if (!string.IsNullOrWhiteSpace(ctrl.Text)) - ctrl.Text = Localization.Parse(ctrl.Text); - try - { - foreach (Control child in ctrl.Controls) - { - SetupControl(child); - } - } - catch - { - } - - } - - private void btnselectlang_Click(object sender, EventArgs e) - { - if (lblanguage.SelectedItem != null) - { - string l = lblanguage.SelectedItem as string; - MySave.Language = l; - MySave.StoryPosition = 1; - SetupUI(); - } - } - - private void btnsetuserinfo_Click(object sender, EventArgs e) - { - if (!string.IsNullOrWhiteSpace(txtusername.Text)) - { - MySave.Username = txtusername.Text; - - MySave.Password = txtpassword.Text; - - MySave.SystemName = (string.IsNullOrWhiteSpace(txtsysname.Text)) ? "shiftos" : txtsysname.Text; - - MySave.StoryPosition = 2; - - SetupUI(); - } - } - - private void button1_Click(object sender, EventArgs e) - { - if (!string.IsNullOrWhiteSpace(txtdiscoursename.Text)) - { - MySave.DiscourseName = txtdiscoursename.Text; - MySave.DiscoursePass = txtdiscoursepass.Text; - } - MySave.StoryPosition = 3; - SetupUI(); - } + public Save MySave = null; public void StartShowing(Save save) { - IsTransferMode = false; - MySave = save; - SetupAllControls(); - this.FormBorderStyle = FormBorderStyle.None; - this.WindowState = FormWindowState.Maximized; - this.TopMost = true; + var t = new Thread(new ThreadStart(() => + { + textgeninput = this.lblHijack; + TextType("Your system is now being hijacked."); + rtext = ""; + Thread.Sleep(1000); + textgeninput = this.lblhackwords; + this.Invoke(new Action(() => + { + lblHijack.Hide(); + })); + TextType("Hello, and welcome to ShiftOS."); + Thread.Sleep(500); + TextType("You have been cordially and involuntarily selected to participate in the development and testing of this operating system."); + Thread.Sleep(500); + TextType("My identity shall remain secret, but if you've been through this before, you'll know exactly who I am."); + Thread.Sleep(500); + TextType("But that doesn't matter."); + Thread.Sleep(500); + TextType("I will now begin to prepare your system for the installation of ShiftOS."); + Thread.Sleep(1000); + FakeSetupScreen fakeForm = null; + this.Invoke(new Action(() => + { + fakeForm = new FakeSetupScreen(this); + fakeForm.Show(); + MySave = save; + lblhackwords.GotFocus += (o, a) => + { + try + { + fakeForm.Invoke(new Action(() => + { + fakeForm.Focus(); + fakeForm.BringToFront(); + })); + } + catch { } + }; + fakeForm.TextSent += (txt) => + { + TextType(txt); + }; + })); + while(fakeForm?.Visible == true) + { - this.Load += (o, a) => - { - SetupUI(); - }; - SaveSystem.GameReady += () => - { + } + TextType("That's all the information I need for now."); + Thread.Sleep(2000); + TextType("Beginning installation of ShiftOS on " + MySave.SystemName + "."); + Thread.Sleep(500); + TextType("Creating new user: " + MySave.Username); + TextType("...with 0 Codepoints, 0 installed upgrades, no legion, and no user shops..."); + MySave.Codepoints = 0; + MySave.Upgrades = new Dictionary(); + MySave.CurrentLegions = new List(); + MySave.MyShop = ""; + TextType("User created successfully."); + Thread.Sleep(450); + TextType("You may be wondering what all that meant... You see, in ShiftOS, your user account holds everything I need to know about you."); + Thread.Sleep(640); + TextType("It holds the amount of Codepoints you have - Codepoints are a special currency you can get by doing various tasks in ShiftOS."); + Thread.Sleep(500); + TextType("It also holds all the upgrades you've installed onto ShiftOS - features, applications, enhancements, patches, all that stuff."); + Thread.Sleep(500); + TextType("As for the legions and the shop thing, I'll reveal that to you when it becomes necessary."); + Thread.Sleep(500); + TextType("Your user account is stored on a server of mine called the multi-user domain. It holds every single user account, every script, every application, every thing within ShiftOS."); + Thread.Sleep(600); + TextType("Every time you boot ShiftOS, if you are connected to the Internet, you will immediately connect to the multi-user domain and ShiftOS will attempt to authenticate using the last successful username and password pair."); + Thread.Sleep(500); + TextType("When you are in the MUD, you are in the middle of a free-for-all. I don't want it to be this way, it just is. I've employed you to help me develop and test the MUD and ShiftOS, but you have a secondary task if you choose to accept it."); + Thread.Sleep(500); + TextType("There have been a few rebelious groups in the MUD - who have cracked ShiftOS's security barriers - and they're using these exploits to steal others' Codepoints, upgrades, and even spread damaging viruses."); + Thread.Sleep(500); + TextType("I want you to stop them."); + Thread.Sleep(500); + TextType("Whoever can stop these hackers will gain eternal control over the multi-user domain. They will be given the ability to do as they please, so long as it doesn't interfere with my experiments."); + Thread.Sleep(500); + TextType("I have been installing ShiftOS on your system in the background as I was talking with you. Before I can set you free, I need to give you a tutorial on how to use the system."); + Thread.Sleep(500); + TextType("I will reboot your system in Tutorial Mode now. Complete the tutorial, and you shall be on your way."); + SaveSystem.CurrentSave = MySave; + SaveSystem.SaveGame(); this.Invoke(new Action(() => { this.Close(); - (AppearanceManager.OpenForms[0] as WindowBorder).BringToFront(); - Console.Write($"{SaveSystem.CurrentSave.Username}@{SaveSystem.CurrentSave.SystemName}:~$ "); })); - - }; + })); this.Show(); + this.BringToFront(); + this.TopMost = true; + t.IsBackground = true; + t.Start(); + } + + public void Clear() + { + this.Invoke(new Action(() => + { + textgeninput.Text = ""; + })); } public void ShowSaveTransfer(Save save) { - MySave = save; - ServerManager.MessageReceived += (msg) => - { - if(msg.Name == "mud_notfound") - { - TransferProgress = 2; - this.Invoke(new Action(() => { SetupUI(); })); - } - else if(msg.Name == "mud_found") - { - TransferProgress = 1; - this.Invoke(new Action(() => { SetupUI(); })); - } - else if(msg.Name == "mud_saved") - { - try - { - this.Invoke(new Action(() => - { - SaveSystem.CurrentSave = MySave; - this.Close(); - Utils.Delete(Paths.SaveFileInner); - })); - } - catch { } - } - }; - IsTransferMode = true; - this.FormBorderStyle = FormBorderStyle.None; - this.WindowState = FormWindowState.Maximized; - this.TopMost = true; - this.Show(); - SetupUI(); - } - - private void button2_Click(object sender, EventArgs e) - { - pnlreenteruserinfo.Hide(); - pnlshadow.Size = new Size(0, 0); - ServerManager.SendMessage("mud_checkuserexists", $@"{{ - username: ""{txtruser.Text}"", - password: ""{txtrpass.Text}"" -}}"); - MySave.Username = txtruser.Text; - MySave.Password = txtrpass.Text; - } - - private void button3_Click(object sender, EventArgs e) - { - TransferProgress = 0; - SetupUI(); - } - - private void button4_Click(object sender, EventArgs e) - { - ServerManager.SendMessage("mud_save", JsonConvert.SerializeObject(MySave)); + throw new NotImplementedException(); } public void PromptForLogin() { - ServerManager.MessageReceived += (msg) => - { - if (msg.Name == "mud_notfound") - { - TransferProgress = 5; - this.Invoke(new Action(() => { SetupUI(); })); - } - else if (msg.Name == "mud_found") - { - this.Invoke(new Action(() => - { - Utils.WriteAllText(Paths.GetPath("user.dat"), $@"{{ - username: ""{txtluser.Text}"", - password: ""{txtlpass.Text}"" -}}"); - SaveSystem.ReadSave(); - this.Close(); - })); - } - }; - IsTransferMode = true; - TransferProgress = 4; - this.FormBorderStyle = FormBorderStyle.None; - this.WindowState = FormWindowState.Maximized; - this.TopMost = true; - this.Show(); - SetupUI(); - } - - private void button6_Click(object sender, EventArgs e) - { - TransferProgress = 4; - SetupUI(); - } - - private void button5_Click(object sender, EventArgs e) - { - ServerManager.SendMessage("mud_checkuserexists", $@"{{ - username: ""{txtluser.Text}"", - password: ""{txtlpass.Text}"" -}}"); - } - - private void Oobe_Load(object sender, EventArgs e) - { - + throw new NotImplementedException(); } } } diff --git a/ShiftOS.WinForms/Program.cs b/ShiftOS.WinForms/Program.cs index 18971b9..7db25b9 100644 --- a/ShiftOS.WinForms/Program.cs +++ b/ShiftOS.WinForms/Program.cs @@ -108,6 +108,50 @@ namespace ShiftOS.WinForms AppearanceManager.SetupDialog(frm); } + + public void PromptText(string title, string msg, Action callback) + { + Dialog frm = new Dialog(); + frm.Text = title; + var pnl = new Panel(); + var flow = new FlowLayoutPanel(); + var btnok = new Button(); + btnok.AutoSize = true; + btnok.AutoSizeMode = AutoSizeMode.GrowAndShrink; + flow.Height = btnok.Height + 4; + btnok.Text = "ok"; + flow.Dock = DockStyle.Bottom; + flow.Controls.Add(btnok); + var txtinput = new TextBox(); + btnok.Show(); btnok.Click += (o, a) => + { + callback?.Invoke(txtinput.Text); + frm.Close(); + }; + txtinput.Dock = DockStyle.Bottom; + txtinput.KeyDown += (o, a) => + { + if(a.KeyCode == Keys.Enter) + { + a.SuppressKeyPress = true; + callback?.Invoke(txtinput.Text); + frm.Close(); + } + }; + pnl.Controls.Add(flow); + pnl.Controls.Add(txtinput);txtinput.Show(); + flow.Show(); + var lbl = new Label(); + lbl.Text = msg; + lbl.TextAlign = ContentAlignment.MiddleCenter; + lbl.Dock = DockStyle.Fill; + lbl.AutoSize = false; + pnl.Controls.Add(lbl); lbl.Show(); + frm.Controls.Add(pnl); + pnl.Dock = DockStyle.Fill; + frm.Size = new Size(320, 200); + AppearanceManager.SetupDialog(frm); + } } public class WinformsFSFrontend : IFileSkimmer diff --git a/ShiftOS.WinForms/Properties/Resources.Designer.cs b/ShiftOS.WinForms/Properties/Resources.Designer.cs index ba5d881..1d949f8 100644 --- a/ShiftOS.WinForms/Properties/Resources.Designer.cs +++ b/ShiftOS.WinForms/Properties/Resources.Designer.cs @@ -1,28 +1,4 @@ -/* - * MIT License - * - * Copyright (c) 2017 Michael VanOverbeek and ShiftOS devs - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.42000 @@ -524,15 +500,9 @@ namespace ShiftOS.WinForms.Properties { /// Dependencies: null /// }, /// { - /// Name: "WM 4 Windows", - /// Cost: 150, - /// Description: "Display up to 4 simultaneous windows on-screen in a 2x2 grid.", - /// Dependencies: "window_manager" - /// }, - /// { - /// Name: "Virus Scanner", - /// Cost: 2000, - /// Description: "Being inside the multi-user domain comes with many risks, one of which being viruses. The Virus Scanner can m [rest of string was truncated]";. + /// Name: "Color Depth Dithering", + /// Cost: 1000, + /// Description: "Right now, if you try to display images on the screen, with a low color depth like we have, the image will be totally unrecognizable! With this upgrade, we can adapt a simple 1-dimensional dithering algorithm into the video driver to hopefully smooth out the trans [rest of string was truncated]";. /// internal static string Shiftorium { get { @@ -540,6 +510,16 @@ namespace ShiftOS.WinForms.Properties { } } + /// + /// Looks up a localized string similar to {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} + ///{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\fl [rest of string was truncated]";. + /// + internal static string ShiftOS { + get { + return ResourceManager.GetString("ShiftOS", resourceCulture); + } + } + /// /// Looks up a localized string similar to [ /// "http://downloads.michaeltheshifter.me/music/blockride.mp3", diff --git a/ShiftOS.WinForms/Properties/Resources.resx b/ShiftOS.WinForms/Properties/Resources.resx index 279a944..72532bb 100644 --- a/ShiftOS.WinForms/Properties/Resources.resx +++ b/ShiftOS.WinForms/Properties/Resources.resx @@ -262,4 +262,7 @@ ..\Resources\sys_shiftoriumstory.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + ..\Resources\ShiftOS.rtf;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/ShiftOS.WinForms/Resources/ShiftOS.rtf b/ShiftOS.WinForms/Resources/ShiftOS.rtf new file mode 100644 index 0000000..2d04d49 --- /dev/null +++ b/ShiftOS.WinForms/Resources/ShiftOS.rtf @@ -0,0 +1,267 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f38\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light;} +{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} +{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} +{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f44\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f45\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f47\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f48\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f49\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f50\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f51\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f52\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f414\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f415\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;} +{\f417\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f418\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f419\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\f420\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);} +{\f421\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f422\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f424\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\f425\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;} +{\f427\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;}{\f428\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\f429\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\f430\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);} +{\f431\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\f432\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fhimajor\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE;}{\fhimajor\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr;}{\fhimajor\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek;} +{\fhimajor\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur;}{\fhimajor\f31533\fbidi \fswiss\fcharset177\fprq2 Calibri Light (Hebrew);}{\fhimajor\f31534\fbidi \fswiss\fcharset178\fprq2 Calibri Light (Arabic);} +{\fhimajor\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic;}{\fhimajor\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} +{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} +{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);} +{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;} +{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;} +{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;} +{\fhiminor\f31573\fbidi \fswiss\fcharset177\fprq2 Calibri (Hebrew);}{\fhiminor\f31574\fbidi \fswiss\fcharset178\fprq2 Calibri (Arabic);}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;} +{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);} +{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\ctextone\ctint165\cshade255\red90\green90\blue90;\chyperlink\ctint255\cshade255\red5\green99\blue193;}{\*\defchp +\fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{ +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\snext0 \sqformat \spriority0 \styrsid13057548 Normal;}{\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0 +\b\fs32\lang1033\langfe1033\kerning32\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink15 \sqformat \spriority9 \styrsid13057548 heading 1;}{ +\s2\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af0\afs28\alang1025 \ltrch\fcs0 +\b\i\fs28\lang1033\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink16 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 2;}{ +\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs26\alang1025 \ltrch\fcs0 +\b\fs26\lang1033\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink17 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 3;}{ +\s4\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel3\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs28\alang1025 \ltrch\fcs0 +\b\fs28\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink18 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 4;}{ +\s5\ql \li0\ri0\sb240\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel4\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af0\afs26\alang1025 \ltrch\fcs0 +\b\i\fs26\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink19 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 5;}{ +\s6\ql \li0\ri0\sb240\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel5\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 +\b\fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink20 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 6;}{ +\s7\ql \li0\ri0\sb240\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel6\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext0 \slink21 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 7;}{\s8\ql \li0\ri0\sb240\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel7\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ai\af0\afs24\alang1025 +\ltrch\fcs0 \i\fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink22 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 8;}{ +\s9\ql \li0\ri0\sb240\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel8\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext0 \slink23 \ssemihidden \sunhideused \sqformat \spriority9 \styrsid13057548 heading 9;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\* +\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 \styrsid13057548 Heading 1 Char;}{\*\cs16 \additive +\rtlch\fcs1 \ab\ai\af0\afs28 \ltrch\fcs0 \b\i\fs28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink2 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 2 Char;}{\*\cs17 \additive \rtlch\fcs1 \ab\af0\afs26 \ltrch\fcs0 +\b\fs26\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink3 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 3 Char;}{\*\cs18 \additive \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\fs28 +\sbasedon10 \slink4 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 4 Char;}{\*\cs19 \additive \rtlch\fcs1 \ab\ai\af0\afs26 \ltrch\fcs0 \b\i\fs26 \sbasedon10 \slink5 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 5 Char;}{\*\cs20 +\additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \sbasedon10 \slink6 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 6 Char;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24 +\sbasedon10 \slink7 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 7 Char;}{\*\cs22 \additive \rtlch\fcs1 \ai\af0\afs24 \ltrch\fcs0 \i\fs24 \sbasedon10 \slink8 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 8 Char;}{\*\cs23 +\additive \rtlch\fcs1 \af0 \ltrch\fcs0 \loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink9 \slocked \ssemihidden \spriority9 \styrsid13057548 Heading 9 Char;}{ +\s24\qc \li0\ri0\sb240\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0 +\b\fs32\lang1033\langfe1033\kerning28\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink25 \sqformat \spriority10 \styrsid13057548 Title;}{\*\cs25 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 +\b\fs32\kerning28\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink24 \slocked \spriority10 \styrsid13057548 Title Char;}{\s26\qc \li0\ri0\sa60\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel1\adjustright\rin0\lin0\itap0 \rtlch\fcs1 +\af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink27 \sqformat \spriority11 \styrsid13057548 Subtitle;}{\*\cs27 \additive \rtlch\fcs1 \af0\afs24 +\ltrch\fcs0 \fs24\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink26 \slocked \spriority11 \styrsid13057548 Subtitle Char;}{\*\cs28 \additive \rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b \sbasedon10 \sqformat \spriority22 \styrsid13057548 Strong;}{\*\cs29 +\additive \rtlch\fcs1 \ai\af0 \ltrch\fcs0 \b\i\f31506 \sbasedon10 \sqformat \spriority20 \styrsid13057548 Emphasis;}{\s30\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs32\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext30 \sqformat \spriority1 \styrsid13057548 No Spacing;}{ +\s31\ql \li720\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 +\sbasedon0 \snext31 \sqformat \spriority34 \styrsid13057548 List Paragraph;}{\s32\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\i\fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink33 \sqformat \spriority29 \styrsid13057548 Quote;}{\*\cs33 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \i\fs24 +\sbasedon10 \slink32 \slocked \spriority29 \styrsid13057548 Quote Char;}{\s34\ql \li720\ri720\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin720\lin720\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 +\b\i\fs24\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink35 \sqformat \spriority30 \styrsid13057548 Intense Quote;}{\*\cs35 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \b\i\fs24 +\sbasedon10 \slink34 \slocked \spriority30 \styrsid13057548 Intense Quote Char;}{\*\cs36 \additive \i\cf17 \sqformat \spriority19 \styrsid13057548 Subtle Emphasis;}{\*\cs37 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \b\i\fs24\ul +\sbasedon10 \sqformat \spriority21 \styrsid13057548 Intense Emphasis;}{\*\cs38 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \fs24\ul \sbasedon10 \sqformat \spriority31 \styrsid13057548 Subtle Reference;}{\*\cs39 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 +\b\fs24\ul \sbasedon10 \sqformat \spriority32 \styrsid13057548 Intense Reference;}{\*\cs40 \additive \rtlch\fcs1 \af0\afs24 \ltrch\fcs0 \b\i\fs24\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \sqformat \spriority33 \styrsid13057548 Book Title;}{ +\s41\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0 +\b\fs32\lang1033\langfe1033\kerning32\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 \sbasedon1 \snext0 \ssemihidden \sunhideused \sqformat \spriority39 \styrsid13057548 TOC Heading;}{\*\cs42 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 +\ul\cf18 \sbasedon10 \sunhideused \styrsid13057548 Hyperlink;}}{\*\rsidtbl \rsid2966778\rsid7108795\rsid13057548\rsid13897275}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1} +{\info{\author Michael}{\operator Michael}{\creatim\yr2017\mo1\dy17\hr12\min42}{\revtim\yr2017\mo1\dy17\hr12\min42}{\version2}{\edmins1}{\nofpages1}{\nofwords98}{\nofchars563}{\nofcharsws660}{\vern23}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/off +ice/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen +\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1 +\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct +\asianbrkrule\rsidroot13057548\newtblstyruls\nogrowautofit\viewbksp1\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0 +{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0{\*\background {\shp{\*\shpinst\shpleft0\shptop0\shpright0\shpbottom0\shpfhdr0\shpbxmargin\shpbxignore\shpbymargin\shpbyignore\shpwr0\shpwrk0\shpfblwtxt1\shpz0\shplid1025 +{\sp{\sn shapeType}{\sv 1}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn fillColor}{\sv 0}}{\sp{\sn fFilled}{\sv 1}}{\sp{\sn lineWidth}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\sp{\sn bWMode}{\sv 9}}{\sp{\sn fBackground}{\sv 1}} +{\sp{\sn fLayoutInCell}{\sv 1}}}}}\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3 +\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}} +{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar +\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid13057548 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0 +\b\fs32\lang1033\langfe1033\kerning32\loch\af31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13057548 \hich\af31502\dbch\af31501\loch\f31502 ShiftOS - This is an early version of the game!}{\rtlch\fcs1 +\af0 \ltrch\fcs0 \insrsid2966778 +\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid13057548 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13057548 \hich\af31506\dbch\af31505\loch\f31506 Hey there. This isn\loch\af31506\dbch\af31505\hich\f31506 \rquote +\hich\af31506\dbch\af31505\loch\f31506 +t really a license agreement. I am Michael, the lead developer of ShiftOS. I just wanted to take the time to let you know that you are playing an UNSTABLE release of the game, and therefore there will be lots of caveats. +\par +\par \hich\af31506\dbch\af31505\loch\f31506 For example, \hich\af31506\dbch\af31505\loch\f31506 not all the planned features may work or even be implemented. This may be false \hich\af31506\dbch\af31505\loch\f31506 later\hich\af31506\dbch\af31505\loch\f31506 + in development, but I\loch\af31506\dbch\af31505\hich\f31506 \rquote \hich\af31506\dbch\af31505\loch\f31506 m just letting you know that ShiftOS is unfinished and \hich\af31506\dbch\af31505\loch\f31506 in active development. Expect changes! +\par +\par \hich\af31506\dbch\af31505\loch\f31506 If you \hich\af31506\dbch\af31505\loch\f31506 have any problems, you may visit t\hich\af31506\dbch\af31505\loch\f31506 he forum at }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13057548 +\hich\af31506\dbch\af31505\loch\f31506 \hich\af31506\dbch\af31505\loch\f31506 HYPERLINK\hich\af31506\dbch\af31505\loch\f31506 \hich\af31506\dbch\af31505\loch\f31506 "\hich\af31506\dbch\af31505\loch\f31506 http://shiftos.michaeltheshifter.me/ +\hich\af31506\dbch\af31505\loch\f31506 "\hich\af31506\dbch\af31505\loch\f31506 }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cs42\ul\cf18\insrsid13057548\charrsid6629899 \hich\af31506\dbch\af31505\loch\f31506 http://shiftos.michaeltheshifter.me/}}} +\sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13057548 \hich\af31506\dbch\af31505\loch\f31506 . Have fun!}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13057548\charrsid13057548 +\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a +9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad +5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6 +b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0 +0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6 +a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f +c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512 +0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462 +a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865 +6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b +4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b +4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100ec7f4c3895070000c9200000160000007468656d652f7468656d652f +7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd +ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d +7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b +d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52 +fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71 +31758683ee6014e65803943d3a748fdaa366ddc21bfa9b7b9cfba1fa58780dcaf4077bf8c9640856b4f01a94e1c33d7c10b41bc3c0c26b50866fede1dbb5fe28 +685b780d8a2949cff7d0b5b0d51c6e575b40968c1e3be1dd3098b41bb9f21205d15044979a62c9527928d612f482f1090014902249524f6e567889e610c54344 +c91927de09896208bc154a9980e15aa336a935e1bffa04fa495b041d6164482b5ec044ec0d293e9e9873b2923dff0168f50dc8db9f7f7ef3fac737af7f7af3d5 +576f5eff3d9f5babb2e48e511a9972bf7cf787ff7cf35befdf3f7cfbcbd77fcca6dec50b13ffee6fbf7bf78f7fbe4f3dacb834c5db3f7dffeec7efdffef9f7ff +faebd70eed7d8ece4cf88c2458788ff0a5f79425b040077f7cc6af27318b113125fa6924508ad42c0efd63195be8471b44910337c0b61d9f7348352ee0fdf50b +8bf034e66b491c1a1fc689053c658c0e18775ae1a19acb30f36c9d46eec9f9dac43d45e8c235f710a59697c7eb15e458e252398cb145f30945a944114eb1f4d4 +77ec1c63c7eabe20c4b2eb29997326d8527a5f106f8088d324337266455329744c12f0cbc64510fc6dd9e6f4b93760d4b5ea11beb091b0371075909f616a99f1 +3e5a4b94b854ce50424d839f2019bb484e377c6ee2c64282a7234c99375e60215c328f39acd770fa4348336eb79fd24d6223b924e72e9d278831133962e7c318 +252b17764ad2d8c47e2ece214491f7844917fc94d93b44bd831f507ad0ddcf09b6dcfde16cf00c32ac49a90c10f5cd9a3b7c791f332b7ea71bba44d8956afa3c +b1526c9f1367740cd69115da271853748916187bcf3e773018b09565f392f48318b2ca317605d60364c7aa7a4fb1805e493537fb79f284082b64a7386207f89c +6e7612cf06a509e287343f02af9b361f43a94b5c01f098cecf4de023023d20c48bd3288f05e83082fba0d62731b20a987a17ee78dd70cb7f57d963b02f5f5834 +aeb02f41065f5b0612bb29f35edbcc10b52628036686a0cb70a55b10b1dc5f8aa8e2aac5d64eb9a5bd694b37407764353d09493fd801edf43ee1ffaef7810ee3 +ed5fbe71ec838fd3efb8155bc9ea9a9dcea16472bcd3df1cc2ed763543c617e4d36f6a46689d3ec15047f633d66d4f73dbd3f8fff73dcda1fd7cdbc91cea376e +3b191f3a8cdb4e263f5cf9389d4cd9bc405fa30e3cb2831e7dec931c3cf559124aa77243f189d0073f027ecf2c2630a8e4f489272e4e0157313caa32071358b8 +88232de371267f43643c8dd10a4e87eabe5212895c7524bc15137068a4879dba159eae9353b6c80e3beb7575b09955568164395e0b8b7138a89219bad52e0ff0 +0af59a6da40f5ab70494ec75481893d9249a0e12ededa032923ed605a33948e8957d14165d078b8e52bf75d51e0ba05678057e707bf033bde787018880109cc7 +4173be507eca5cbdf5ae76e6c7f4f421635a11000df636024a4f7715d783cb53abcb42ed0a9eb64818e16693d096d10d9e88e167701e9d6af42a34aeebeb6ee9 +528b9e32859e0f42aba4d1eebc8fc54d7d0d72bbb981a666a6a0a977d9f35bcd1042668e563d7f0987c6f098ac207684facd856804372f73c9b30d7f93ccb2e2 +428e90883383eba49365838448cc3d4a929eaf965fb881a63a87686ef50624844f965c17d2caa7460e9c6e3b192f97782e4db71b23cad2d92b64f82c5738bfd5 +e237072b49b606774fe3c5a57746d7fc2982100bdb7565c00511707750cfacb92070195624b232fe760a539e76cddb281d43d938a2ab18e515c54ce6195ca7f2 +828e7e2b6c60bce56b06831a26c90be159a40aac6954ab9a165523e370b0ea7e584859ce489a65cdb4b28aaa9aee2c66cdb02d033bb6bc599137586d4d0c39cd +acf059eade4db9dd6daedbe9138a2a01062fece7a8ba57280806b572328b9a62bc9f8655cece47eddab15de007a85da5481859bfb555bb63b7a24638a783c11b +557e90db8d5a185a6efb4a6d697d6b6e5e6cb3b317903c46d0e5aea914da9570b2cb11344453dd93646903b6c84b996f0d78f2d69cf4fc2f6b613f1836c261a5 +d609c795a019d42a9db0dfacf4c3b0591f87f5da68d078058545c6493dcc6eec2770814137f9bdbd1edfbbbb4fb6773477e62ca9327d375fd5c4f5dd7dbd71f8 +eede239074be6c3526dd6677d0aa749bfd4925180d3a95eeb035a88c5ac3f668321a869deee495ef5d6870d06f0e83d6b85369d587c34ad0aa29fa9d6ea51d34 +1afda0ddef8c83feabbc8d819567e923b7059857f3baf75f000000ffff0300504b0304140006000800000021000dd1909fb60000001b01000027000000746865 +6d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e435 +0d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452 +282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173 +d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c02000013000000000000000000 +00000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000 +0000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001902 +00007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100ec7f4c3895070000c9200000160000000000 +0000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700 +0000000000000000000000009f0a00007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009a0b00000000} +{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d +617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169 +6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363 +656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e} +{\*\latentstyles\lsdstimax374\lsdlockeddef0\lsdsemihiddendef0\lsdunhideuseddef0\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 7;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index 9; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 1;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 2;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 3; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 4;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 5;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 6; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 7;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 8;\lsdsemihidden1 \lsdunhideused1 \lsdpriority39 \lsdlocked0 toc 9;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Indent; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 header;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footer; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 index heading;\lsdsemihidden1 \lsdunhideused1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of figures;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope address; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 envelope return;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 footnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 line number; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 page number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote reference;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 endnote text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 table of authorities; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 macro;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 toa heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Bullet 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Number 5;\lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Closing;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Signature; +\lsdsemihidden1 \lsdunhideused1 \lsdpriority1 \lsdlocked0 Default Paragraph Font;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 List Continue 5; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Message Header;\lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Salutation;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Date; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text First Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Note Heading;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 2; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Body Text Indent 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Block Text; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 FollowedHyperlink;\lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Document Map;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Plain Text;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 E-mail Signature;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Top of Form; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Bottom of Form;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal (Web);\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Acronym;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Address; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Cite;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Code;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Definition;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Keyboard; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Preformatted;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Sample;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Typewriter;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 HTML Variable; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Normal Table;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 annotation subject;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 No List;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Outline List 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 2; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Simple 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Classic 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Colorful 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 3;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 4; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Columns 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 7; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Grid 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 4;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 5;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 7; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table List 8;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table 3D effects 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Contemporary;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Elegant;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Professional;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 1; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Subtle 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 1;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 2;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Web 3; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Balloon Text;\lsdpriority39 \lsdlocked0 Table Grid;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Table Theme;\lsdsemihidden1 \lsdlocked0 Placeholder Text;\lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing; +\lsdpriority60 \lsdlocked0 Light Shading;\lsdpriority61 \lsdlocked0 Light List;\lsdpriority62 \lsdlocked0 Light Grid;\lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdpriority65 \lsdlocked0 Medium List 1; +\lsdpriority66 \lsdlocked0 Medium List 2;\lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdpriority70 \lsdlocked0 Dark List;\lsdpriority71 \lsdlocked0 Colorful Shading; +\lsdpriority72 \lsdlocked0 Colorful List;\lsdpriority73 \lsdlocked0 Colorful Grid;\lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdpriority62 \lsdlocked0 Light Grid Accent 1; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdsemihidden1 \lsdlocked0 Revision;\lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph; +\lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1; +\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 1; +\lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2; +\lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2; +\lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdpriority60 \lsdlocked0 Light Shading Accent 3; +\lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 3; +\lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdpriority70 \lsdlocked0 Dark List Accent 3; +\lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdpriority61 \lsdlocked0 Light List Accent 4; +\lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 4; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 4; +\lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdpriority62 \lsdlocked0 Light Grid Accent 5; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 5; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 5; +\lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdpriority62 \lsdlocked0 Light Grid Accent 6; +\lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdpriority66 \lsdlocked0 Medium List 2 Accent 6; +\lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdpriority71 \lsdlocked0 Colorful Shading Accent 6; +\lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis; +\lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdsemihidden1 \lsdunhideused1 \lsdpriority37 \lsdlocked0 Bibliography; +\lsdsemihidden1 \lsdunhideused1 \lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;\lsdpriority41 \lsdlocked0 Plain Table 1;\lsdpriority42 \lsdlocked0 Plain Table 2;\lsdpriority43 \lsdlocked0 Plain Table 3;\lsdpriority44 \lsdlocked0 Plain Table 4; +\lsdpriority45 \lsdlocked0 Plain Table 5;\lsdpriority40 \lsdlocked0 Grid Table Light;\lsdpriority46 \lsdlocked0 Grid Table 1 Light;\lsdpriority47 \lsdlocked0 Grid Table 2;\lsdpriority48 \lsdlocked0 Grid Table 3;\lsdpriority49 \lsdlocked0 Grid Table 4; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 1; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 1;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 1;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 1; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 1;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 2;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 2; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 2;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 2; +\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 3;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 3;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 3;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 3; +\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 3;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 4; +\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 4;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 4;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 4;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 4; +\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 4;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 5; +\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 5;\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 5;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 5; +\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 5;\lsdpriority46 \lsdlocked0 Grid Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 Grid Table 2 Accent 6;\lsdpriority48 \lsdlocked0 Grid Table 3 Accent 6; +\lsdpriority49 \lsdlocked0 Grid Table 4 Accent 6;\lsdpriority50 \lsdlocked0 Grid Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 Grid Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 Grid Table 7 Colorful Accent 6; +\lsdpriority46 \lsdlocked0 List Table 1 Light;\lsdpriority47 \lsdlocked0 List Table 2;\lsdpriority48 \lsdlocked0 List Table 3;\lsdpriority49 \lsdlocked0 List Table 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful;\lsdpriority52 \lsdlocked0 List Table 7 Colorful;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 1;\lsdpriority47 \lsdlocked0 List Table 2 Accent 1;\lsdpriority48 \lsdlocked0 List Table 3 Accent 1; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 1;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 1;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 1;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 1; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 2;\lsdpriority47 \lsdlocked0 List Table 2 Accent 2;\lsdpriority48 \lsdlocked0 List Table 3 Accent 2;\lsdpriority49 \lsdlocked0 List Table 4 Accent 2; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 2;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 2;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 2;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 3; +\lsdpriority47 \lsdlocked0 List Table 2 Accent 3;\lsdpriority48 \lsdlocked0 List Table 3 Accent 3;\lsdpriority49 \lsdlocked0 List Table 4 Accent 3;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 3; +\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 3;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 3;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 4;\lsdpriority47 \lsdlocked0 List Table 2 Accent 4; +\lsdpriority48 \lsdlocked0 List Table 3 Accent 4;\lsdpriority49 \lsdlocked0 List Table 4 Accent 4;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 4;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 4; +\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 4;\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 5;\lsdpriority47 \lsdlocked0 List Table 2 Accent 5;\lsdpriority48 \lsdlocked0 List Table 3 Accent 5; +\lsdpriority49 \lsdlocked0 List Table 4 Accent 5;\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 5;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 5;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 5; +\lsdpriority46 \lsdlocked0 List Table 1 Light Accent 6;\lsdpriority47 \lsdlocked0 List Table 2 Accent 6;\lsdpriority48 \lsdlocked0 List Table 3 Accent 6;\lsdpriority49 \lsdlocked0 List Table 4 Accent 6; +\lsdpriority50 \lsdlocked0 List Table 5 Dark Accent 6;\lsdpriority51 \lsdlocked0 List Table 6 Colorful Accent 6;\lsdpriority52 \lsdlocked0 List Table 7 Colorful Accent 6;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Mention; +\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Smart Hyperlink;\lsdsemihidden1 \lsdunhideused1 \lsdlocked0 Hashtag;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000 +d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000b0ff +b90de970d201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000105000000000000}} \ No newline at end of file diff --git a/ShiftOS.WinForms/ShiftOS.WinForms.csproj b/ShiftOS.WinForms/ShiftOS.WinForms.csproj index b456796..1c782d1 100644 --- a/ShiftOS.WinForms/ShiftOS.WinForms.csproj +++ b/ShiftOS.WinForms/ShiftOS.WinForms.csproj @@ -186,6 +186,12 @@ Component + + Form + + + FakeSetupScreen.cs + Form @@ -266,6 +272,9 @@ Terminal.cs + + FakeSetupScreen.cs + Oobe.cs @@ -439,6 +448,7 @@ + diff --git a/ShiftOS_TheReturn/Infobox.cs b/ShiftOS_TheReturn/Infobox.cs index 4e7a87b..dfc72c2 100644 --- a/ShiftOS_TheReturn/Infobox.cs +++ b/ShiftOS_TheReturn/Infobox.cs @@ -60,6 +60,11 @@ namespace ShiftOS.Engine _infobox.Open(title, message); } + public static void PromptText(string title, string message, Action callback) + { + _infobox.PromptText(title, message, callback); + } + /// /// Inits an infobox /// @@ -74,5 +79,6 @@ namespace ShiftOS.Engine public interface IInfobox { void Open(string title, string msg); + void PromptText(string title, string message, Action callback); } }