From 850716b2a8019fbbdee7f4b53c83051d33ad5e22 Mon Sep 17 00:00:00 2001 From: TheUltimateHacker Date: Fri, 20 Mar 2015 20:29:17 -0400 Subject: [PATCH] Experimental Features... LOADS of experimental stuff with Catalyst, Skinning and more! Why not create a Sounds directory in your Skins\Loaded directory, and stick a few .wav files in? Preferrably an infobox.wav, startup.wav and shutdown.wav. Soon, there will be ways of adding these files in-game through the Shifter, don't worry. Also, a Catalyst Story can be found in Helper.vb in the form of a string array. --- ShiftOS/Catalyst_Main.Designer.vb | 267 ++++++++++++++ ShiftOS/Catalyst_Main.resx | 129 +++++++ ShiftOS/Catalyst_Main.vb | 435 +++++++++++++++++++++++ ShiftOS/Helper.vb | 35 ++ ShiftOS/My Project/Resources.Designer.vb | 2 +- ShiftOS/Paths.vb | 2 +- ShiftOS/Resources/CatalystGrammar.xml | 42 +++ ShiftOS/Resources/CatalystStory.txt | 24 ++ ShiftOS/Resources/LICENSE.md | 93 +++-- ShiftOS/Resources/story.txt | 90 +++++ ShiftOS/ShiftOS.vbproj | 12 + ShiftOS/ShiftOSDesktop.Designer.vb | 87 ++++- ShiftOS/ShiftOSDesktop.vb | 31 +- ShiftOS/Terminal.vb | 8 +- 14 files changed, 1201 insertions(+), 56 deletions(-) create mode 100644 ShiftOS/Catalyst_Main.Designer.vb create mode 100644 ShiftOS/Catalyst_Main.resx create mode 100644 ShiftOS/Catalyst_Main.vb create mode 100644 ShiftOS/Resources/CatalystGrammar.xml create mode 100644 ShiftOS/Resources/CatalystStory.txt create mode 100644 ShiftOS/Resources/story.txt diff --git a/ShiftOS/Catalyst_Main.Designer.vb b/ShiftOS/Catalyst_Main.Designer.vb new file mode 100644 index 0000000..b552709 --- /dev/null +++ b/ShiftOS/Catalyst_Main.Designer.vb @@ -0,0 +1,267 @@ + _ +Partial Class Catalyst_Main + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Me.pullside = New System.Windows.Forms.Timer(Me.components) + Me.pullbs = New System.Windows.Forms.Timer(Me.components) + Me.pgcontents = New System.Windows.Forms.Panel() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.pgbottom = New System.Windows.Forms.Panel() + Me.pullbottom = New System.Windows.Forms.Timer(Me.components) + Me.minimizebutton = New System.Windows.Forms.Panel() + Me.pnlicon = New System.Windows.Forms.PictureBox() + Me.rollupbutton = New System.Windows.Forms.Panel() + Me.closebutton = New System.Windows.Forms.Panel() + Me.lbtitletext = New System.Windows.Forms.Label() + Me.pgtoplcorner = New System.Windows.Forms.Panel() + Me.pgtoprcorner = New System.Windows.Forms.Panel() + Me.pgbottomrcorner = New System.Windows.Forms.Panel() + Me.pgright = New System.Windows.Forms.Panel() + Me.pgbottomlcorner = New System.Windows.Forms.Panel() + Me.pgleft = New System.Windows.Forms.Panel() + Me.titlebar = New System.Windows.Forms.Panel() + Me.lbmessage = New System.Windows.Forms.Label() + Me.pgcontents.SuspendLayout + CType(Me.pnlicon,System.ComponentModel.ISupportInitialize).BeginInit + Me.pgright.SuspendLayout + Me.pgleft.SuspendLayout + Me.titlebar.SuspendLayout + Me.SuspendLayout + ' + 'pullside + ' + Me.pullside.Interval = 1 + ' + 'pullbs + ' + Me.pullbs.Interval = 1 + ' + 'pgcontents + ' + Me.pgcontents.Controls.Add(Me.lbmessage) + Me.pgcontents.Controls.Add(Me.TextBox1) + Me.pgcontents.Dock = System.Windows.Forms.DockStyle.Fill + Me.pgcontents.Location = New System.Drawing.Point(2, 30) + Me.pgcontents.Name = "pgcontents" + Me.pgcontents.Size = New System.Drawing.Size(329, 364) + Me.pgcontents.TabIndex = 20 + ' + 'TextBox1 + ' + Me.TextBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.TextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.0!) + Me.TextBox1.Location = New System.Drawing.Point(11, 334) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(308, 24) + Me.TextBox1.TabIndex = 0 + ' + 'pgbottom + ' + Me.pgbottom.BackColor = System.Drawing.Color.Gray + Me.pgbottom.Dock = System.Windows.Forms.DockStyle.Bottom + Me.pgbottom.Location = New System.Drawing.Point(2, 394) + Me.pgbottom.Name = "pgbottom" + Me.pgbottom.Size = New System.Drawing.Size(329, 2) + Me.pgbottom.TabIndex = 23 + ' + 'pullbottom + ' + Me.pullbottom.Interval = 1 + ' + 'minimizebutton + ' + Me.minimizebutton.BackColor = System.Drawing.Color.Black + Me.minimizebutton.Location = New System.Drawing.Point(246, 5) + Me.minimizebutton.Name = "minimizebutton" + Me.minimizebutton.Size = New System.Drawing.Size(22, 22) + Me.minimizebutton.TabIndex = 24 + ' + 'pnlicon + ' + Me.pnlicon.BackColor = System.Drawing.Color.Transparent + Me.pnlicon.Image = Global.ShiftOS.My.Resources.Resources.iconTextPad + Me.pnlicon.Location = New System.Drawing.Point(8, 8) + Me.pnlicon.Name = "pnlicon" + Me.pnlicon.Size = New System.Drawing.Size(16, 16) + Me.pnlicon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage + Me.pnlicon.TabIndex = 24 + Me.pnlicon.TabStop = False + Me.pnlicon.Visible = False + ' + 'rollupbutton + ' + Me.rollupbutton.BackColor = System.Drawing.Color.Black + Me.rollupbutton.Location = New System.Drawing.Point(274, 3) + Me.rollupbutton.Name = "rollupbutton" + Me.rollupbutton.Size = New System.Drawing.Size(22, 22) + Me.rollupbutton.TabIndex = 22 + ' + 'closebutton + ' + Me.closebutton.BackColor = System.Drawing.Color.Black + Me.closebutton.Location = New System.Drawing.Point(302, 3) + Me.closebutton.Name = "closebutton" + Me.closebutton.Size = New System.Drawing.Size(22, 22) + Me.closebutton.TabIndex = 20 + ' + 'lbtitletext + ' + Me.lbtitletext.AutoSize = True + Me.lbtitletext.BackColor = System.Drawing.Color.Transparent + Me.lbtitletext.Font = New System.Drawing.Font("Felix Titling", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbtitletext.Location = New System.Drawing.Point(26, 7) + Me.lbtitletext.Name = "lbtitletext" + Me.lbtitletext.Size = New System.Drawing.Size(90, 18) + Me.lbtitletext.TabIndex = 19 + Me.lbtitletext.Text = "Catalyst" + ' + 'pgtoplcorner + ' + Me.pgtoplcorner.BackColor = System.Drawing.Color.Red + Me.pgtoplcorner.Dock = System.Windows.Forms.DockStyle.Left + Me.pgtoplcorner.Location = New System.Drawing.Point(0, 0) + Me.pgtoplcorner.Name = "pgtoplcorner" + Me.pgtoplcorner.Size = New System.Drawing.Size(2, 30) + Me.pgtoplcorner.TabIndex = 17 + ' + 'pgtoprcorner + ' + Me.pgtoprcorner.BackColor = System.Drawing.Color.Red + Me.pgtoprcorner.Dock = System.Windows.Forms.DockStyle.Right + Me.pgtoprcorner.Location = New System.Drawing.Point(331, 0) + Me.pgtoprcorner.Name = "pgtoprcorner" + Me.pgtoprcorner.Size = New System.Drawing.Size(2, 30) + Me.pgtoprcorner.TabIndex = 16 + ' + 'pgbottomrcorner + ' + Me.pgbottomrcorner.BackColor = System.Drawing.Color.Red + Me.pgbottomrcorner.Dock = System.Windows.Forms.DockStyle.Bottom + Me.pgbottomrcorner.Location = New System.Drawing.Point(0, 364) + Me.pgbottomrcorner.Name = "pgbottomrcorner" + Me.pgbottomrcorner.Size = New System.Drawing.Size(2, 2) + Me.pgbottomrcorner.TabIndex = 15 + ' + 'pgright + ' + Me.pgright.BackColor = System.Drawing.Color.Gray + Me.pgright.Controls.Add(Me.pgbottomrcorner) + Me.pgright.Dock = System.Windows.Forms.DockStyle.Right + Me.pgright.Location = New System.Drawing.Point(331, 30) + Me.pgright.Name = "pgright" + Me.pgright.Size = New System.Drawing.Size(2, 366) + Me.pgright.TabIndex = 22 + ' + 'pgbottomlcorner + ' + Me.pgbottomlcorner.BackColor = System.Drawing.Color.Red + Me.pgbottomlcorner.Dock = System.Windows.Forms.DockStyle.Bottom + Me.pgbottomlcorner.Location = New System.Drawing.Point(0, 364) + Me.pgbottomlcorner.Name = "pgbottomlcorner" + Me.pgbottomlcorner.Size = New System.Drawing.Size(2, 2) + Me.pgbottomlcorner.TabIndex = 14 + ' + 'pgleft + ' + Me.pgleft.BackColor = System.Drawing.Color.Gray + Me.pgleft.Controls.Add(Me.pgbottomlcorner) + Me.pgleft.Dock = System.Windows.Forms.DockStyle.Left + Me.pgleft.Location = New System.Drawing.Point(0, 30) + Me.pgleft.Name = "pgleft" + Me.pgleft.Size = New System.Drawing.Size(2, 366) + Me.pgleft.TabIndex = 21 + ' + 'titlebar + ' + Me.titlebar.BackColor = System.Drawing.Color.Gray + Me.titlebar.Controls.Add(Me.minimizebutton) + Me.titlebar.Controls.Add(Me.pnlicon) + Me.titlebar.Controls.Add(Me.rollupbutton) + Me.titlebar.Controls.Add(Me.closebutton) + Me.titlebar.Controls.Add(Me.lbtitletext) + Me.titlebar.Controls.Add(Me.pgtoplcorner) + Me.titlebar.Controls.Add(Me.pgtoprcorner) + Me.titlebar.Dock = System.Windows.Forms.DockStyle.Top + Me.titlebar.ForeColor = System.Drawing.Color.White + Me.titlebar.Location = New System.Drawing.Point(0, 0) + Me.titlebar.Name = "titlebar" + Me.titlebar.Size = New System.Drawing.Size(333, 30) + Me.titlebar.TabIndex = 19 + ' + 'lbmessage + ' + Me.lbmessage.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.lbmessage.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!) + Me.lbmessage.Location = New System.Drawing.Point(10, 17) + Me.lbmessage.Name = "lbmessage" + Me.lbmessage.Size = New System.Drawing.Size(309, 314) + Me.lbmessage.TabIndex = 1 + Me.lbmessage.TextAlign = System.Drawing.ContentAlignment.BottomLeft + ' + 'Catalyst_Main + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6!, 13!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(333, 396) + Me.Controls.Add(Me.pgcontents) + Me.Controls.Add(Me.pgbottom) + Me.Controls.Add(Me.pgright) + Me.Controls.Add(Me.pgleft) + Me.Controls.Add(Me.titlebar) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Name = "Catalyst_Main" + Me.Text = "Catalyst_Main" + Me.pgcontents.ResumeLayout(false) + Me.pgcontents.PerformLayout + CType(Me.pnlicon,System.ComponentModel.ISupportInitialize).EndInit + Me.pgright.ResumeLayout(false) + Me.pgleft.ResumeLayout(false) + Me.titlebar.ResumeLayout(false) + Me.titlebar.PerformLayout + Me.ResumeLayout(false) + +End Sub + Friend WithEvents pullside As System.Windows.Forms.Timer + Friend WithEvents pullbs As System.Windows.Forms.Timer + Friend WithEvents pgcontents As System.Windows.Forms.Panel + Friend WithEvents pgbottom As System.Windows.Forms.Panel + Friend WithEvents pullbottom As System.Windows.Forms.Timer + Friend WithEvents minimizebutton As System.Windows.Forms.Panel + Friend WithEvents pnlicon As System.Windows.Forms.PictureBox + Friend WithEvents rollupbutton As System.Windows.Forms.Panel + Friend WithEvents closebutton As System.Windows.Forms.Panel + Friend WithEvents lbtitletext As System.Windows.Forms.Label + Friend WithEvents pgtoplcorner As System.Windows.Forms.Panel + Friend WithEvents pgtoprcorner As System.Windows.Forms.Panel + Friend WithEvents pgbottomrcorner As System.Windows.Forms.Panel + Friend WithEvents pgright As System.Windows.Forms.Panel + Friend WithEvents pgbottomlcorner As System.Windows.Forms.Panel + Friend WithEvents pgleft As System.Windows.Forms.Panel + Friend WithEvents titlebar As System.Windows.Forms.Panel + Friend WithEvents TextBox1 As System.Windows.Forms.TextBox + Friend WithEvents lbmessage As System.Windows.Forms.Label +End Class diff --git a/ShiftOS/Catalyst_Main.resx b/ShiftOS/Catalyst_Main.resx new file mode 100644 index 0000000..18c44ec --- /dev/null +++ b/ShiftOS/Catalyst_Main.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 1347, 18 + + + 1441, 18 + + + 17, 57 + + \ No newline at end of file diff --git a/ShiftOS/Catalyst_Main.vb b/ShiftOS/Catalyst_Main.vb new file mode 100644 index 0000000..3de672c --- /dev/null +++ b/ShiftOS/Catalyst_Main.vb @@ -0,0 +1,435 @@ +#Region "Importers" +Imports ShiftOS.Helper +Imports System.Speech.Synthesis +#End Region + +Public Class Catalyst_Main +#Region "Template Code" + Public rolldownsize As Integer + Public oldbordersize As Integer + Public oldtitlebarheight As Integer + Public justopened As Boolean = False + Public needtorollback As Boolean = False + Public minimumsizewidth As Integer = 0 'replace with minimum size + Public minimumsizeheight As Integer = 0 'replace with minimum size + + Private Sub Template_Load(sender As Object, e As EventArgs) Handles MyBase.Load + justopened = True + Me.Left = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2 + Me.Top = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2 + setupall() + + ShiftOSDesktop.pnlpanelbuttondodge.SendToBack() 'CHANGE NAME + ShiftOSDesktop.setuppanelbuttons() + ShiftOSDesktop.setpanelbuttonappearnce(ShiftOSDesktop.pnlcatalystpanelbutton, ShiftOSDesktop.tbcatalysticon, ShiftOSDesktop.lbcatalystname, True) 'modify to proper name + ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen + 1 + readAloud("Welcome back, #user#! Just give me a second to load my core...") + End Sub + + Public Sub setupall() + setuptitlebar() + setupborders() + setskin() + End Sub + + Private Sub ShiftOSDesktop_keydown(sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown + 'Make terminal appear + If e.KeyCode = Keys.T AndAlso e.Control Then + Terminal.Show() + Terminal.Visible = True + Terminal.BringToFront() + End If + + 'Movable Windows + If ShiftOSDesktop.boughtmovablewindows = True Then + If e.KeyCode = Keys.A AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X - ShiftOSDesktop.movablewindownumber, Me.Location.Y) + End If + If e.KeyCode = Keys.D AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X + ShiftOSDesktop.movablewindownumber, Me.Location.Y) + End If + If e.KeyCode = Keys.W AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X, Me.Location.Y - ShiftOSDesktop.movablewindownumber) + End If + If e.KeyCode = Keys.S AndAlso e.Control Then + e.Handled = True + Me.Location = New Point(Me.Location.X, Me.Location.Y + ShiftOSDesktop.movablewindownumber) + End If + ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User moved " & Me.Name & " to " & Me.Location.ToString & " with " & e.KeyCode.ToString & Environment.NewLine + End If + End Sub + + Private Sub titlebar_MouseDown(sender As Object, e As MouseEventArgs) Handles titlebar.MouseDown, lbtitletext.MouseDown, pnlicon.MouseDown, pgtoplcorner.MouseDown, pgtoprcorner.MouseDown + ' Handle Draggable Windows + If ShiftOSDesktop.boughtdraggablewindows = True Then + If e.Button = MouseButtons.Left Then + titlebar.Capture = False + lbtitletext.Capture = False + pnlicon.Capture = False + pgtoplcorner.Capture = False + pgtoprcorner.Capture = False + Const WM_NCLBUTTONDOWN As Integer = &HA1S + Const HTCAPTION As Integer = 2 + Dim msg As Message = _ + Message.Create(Me.Handle, WM_NCLBUTTONDOWN, _ + New IntPtr(HTCAPTION), IntPtr.Zero) + Me.DefWndProc(msg) + End If + ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User dragged " & Me.Name & " to " & Me.Location.ToString & Environment.NewLine + End If + End Sub + + Public Sub setupborders() + If ShiftOSDesktop.boughtwindowborders = False Then + pgleft.Hide() + pgbottom.Hide() + pgright.Hide() + Me.Size = New Size(Me.Width - pgleft.Width - pgright.Width, Me.Height - pgbottom.Height) + End If + End Sub + + Private Sub closebutton_Click(sender As Object, e As EventArgs) Handles closebutton.Click + Me.Close() + End Sub + + Private Sub closebutton_MouseEnter(sender As Object, e As EventArgs) Handles closebutton.MouseEnter, closebutton.MouseUp + closebutton.BackgroundImage = Skins.closebtnhover + End Sub + + Private Sub closebutton_MouseLeave(sender As Object, e As EventArgs) Handles closebutton.MouseLeave + closebutton.BackgroundImage = Skins.closebtn + End Sub + + Private Sub closebutton_MouseDown(sender As Object, e As EventArgs) Handles closebutton.MouseDown + closebutton.BackgroundImage = Skins.closebtnclick + End Sub + + Private Sub minimizebutton_Click(sender As Object, e As EventArgs) Handles minimizebutton.Click + ShiftOSDesktop.minimizeprogram(Me, False) + End Sub + + Private Sub rollupbutton_Click(sender As Object, e As EventArgs) Handles rollupbutton.Click + rollupanddown() + End Sub + + Private Sub rollupbutton_MouseEnter(sender As Object, e As EventArgs) Handles rollupbutton.MouseEnter, rollupbutton.MouseUp + rollupbutton.BackgroundImage = Skins.rollbtnhover + End Sub + + Private Sub rollupbutton_MouseLeave(sender As Object, e As EventArgs) Handles rollupbutton.MouseLeave + rollupbutton.BackgroundImage = Skins.rollbtn + End Sub + + Private Sub rollupbutton_MouseDown(sender As Object, e As EventArgs) Handles rollupbutton.MouseDown + rollupbutton.BackgroundImage = Skins.rollbtnclick + End Sub + + Public Sub setuptitlebar() + + setupborders() + + If Me.Height = Me.titlebar.Height Then pgleft.Show() : pgbottom.Show() : pgright.Show() : Me.Height = rolldownsize : needtorollback = True + pgleft.Width = Skins.borderwidth + pgright.Width = Skins.borderwidth + pgbottom.Height = Skins.borderwidth + titlebar.Height = Skins.titlebarheight + + If justopened = True Then + Me.Size = New Size(420, 510) 'put the default size of your window here + Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30) + Me.Size = New Size(Me.Width + Skins.borderwidth + Skins.borderwidth, Me.Height + Skins.borderwidth) + oldbordersize = Skins.borderwidth + oldtitlebarheight = Skins.titlebarheight + justopened = False + Else + If Me.Visible = True Then + Me.Size = New Size(Me.Width - (2 * oldbordersize) + (2 * Skins.borderwidth), (Me.Height - oldtitlebarheight - oldbordersize) + Skins.titlebarheight + Skins.borderwidth) + oldbordersize = Skins.borderwidth + oldtitlebarheight = Skins.titlebarheight + rolldownsize = Me.Height + If needtorollback = True Then Me.Height = titlebar.Height : pgleft.Hide() : pgbottom.Hide() : pgright.Hide() + End If + End If + + If Skins.enablecorners = True Then + pgtoplcorner.Show() + pgtoprcorner.Show() + pgtoprcorner.Width = Skins.titlebarcornerwidth + pgtoplcorner.Width = Skins.titlebarcornerwidth + Else + pgtoplcorner.Hide() + pgtoprcorner.Hide() + End If + + If ShiftOSDesktop.boughttitlebar = False Then + titlebar.Hide() + Me.Size = New Size(Me.Width, Me.Size.Height - titlebar.Height) + End If + + If ShiftOSDesktop.boughttitletext = False Then + lbtitletext.Hide() + Else + lbtitletext.Font = New Font(Skins.titletextfontfamily, Skins.titletextfontsize, Skins.titletextfontstyle, GraphicsUnit.Point) + lbtitletext.Text = ShiftOSDesktop.catalystname 'Remember to change to name of program!!!! + lbtitletext.Show() + End If + + If ShiftOSDesktop.boughtclosebutton = False Then + closebutton.Hide() + Else + closebutton.BackColor = Skins.closebtncolour + closebutton.Size = Skins.closebtnsize + closebutton.Show() + End If + + If ShiftOSDesktop.boughtrollupbutton = False Then + rollupbutton.Hide() + Else + rollupbutton.BackColor = Skins.rollbtncolour + rollupbutton.Size = Skins.rollbtnsize + rollupbutton.Show() + End If + + If ShiftOSDesktop.boughtminimizebutton = False Then + minimizebutton.Hide() + Else + minimizebutton.BackColor = Skins.minbtncolour + minimizebutton.Size = Skins.minbtnsize + minimizebutton.Show() + End If + + If ShiftOSDesktop.boughtwindowborders = True Then + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + Else + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + End If + + 'Change when Icon skinning complete + If ShiftOSDesktop.boughtknowledgeinputicon = True Then ' Change to program's icon + pnlicon.Visible = True + pnlicon.Location = New Point(Skins.titleiconfromside, Skins.titleiconfromtop) + pnlicon.Size = New Size(ShiftOSDesktop.titlebariconsize, ShiftOSDesktop.titlebariconsize) + pnlicon.Image = ShiftOSDesktop.dodgeicontitlebar 'Replace with the correct icon for the program. + End If + + End Sub + + Public Sub rollupanddown() + If Me.Height = Me.titlebar.Height Then + pgleft.Show() + pgbottom.Show() + pgright.Show() + Me.Height = rolldownsize + Me.MinimumSize = New Size(minimumsizewidth, minimumsizeheight) + Else + Me.MinimumSize = New Size(0, 0) + pgleft.Hide() + pgbottom.Hide() + pgright.Hide() + rolldownsize = Me.Height + Me.Height = Me.titlebar.Height + End If + End Sub + + Public Sub resettitlebar() + If ShiftOSDesktop.boughtwindowborders = True Then + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + Else + closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop) + rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop) + minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop) + Select Case Skins.titletextpos + Case "Left" + lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop) + Case "Centre" + lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop) + End Select + lbtitletext.ForeColor = Skins.titletextcolour + End If + End Sub + + Private Sub pullside_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullside.Tick + Me.Width = Cursor.Position.X - Me.Location.X + resettitlebar() + End Sub + + Private Sub pullbottom_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullbottom.Tick + Me.Height = Cursor.Position.Y - Me.Location.Y + resettitlebar() + End Sub + + Private Sub pullbs_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles pullbs.Tick + Me.Width = Cursor.Position.X - Me.Location.X + Me.Height = Cursor.Position.Y - Me.Location.Y + resettitlebar() + End Sub + + 'delete this for non-resizable windows + Private Sub Rightpull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseDown + If ShiftOSDesktop.boughtresizablewindows = True Then + pullside.Start() + End If + End Sub + + Private Sub RightCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseEnter + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.SizeWE + End If + End Sub + + Private Sub bottomCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottom.MouseEnter + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.SizeNS + End If + End Sub + + Private Sub CornerCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottomrcorner.MouseEnter + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.SizeNWSE + End If + End Sub + + Private Sub SizeCursoroff_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseLeave, pgbottom.MouseLeave, pgbottomrcorner.MouseLeave + If ShiftOSDesktop.boughtresizablewindows = True Then + Cursor = Cursors.Default + End If + End Sub + + Private Sub rightpull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseUp + If ShiftOSDesktop.boughtresizablewindows = True Then + pullside.Stop() + End If + End Sub + + Private Sub bottompull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseDown + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbottom.Start() + End If + End Sub + + Private Sub buttompull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseUp + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbottom.Stop() + End If + End Sub + + Private Sub bspull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseDown + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbs.Start() + End If + End Sub + + Private Sub bspull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseUp + If ShiftOSDesktop.boughtresizablewindows = True Then + pullbs.Stop() + End If + End Sub + + Public Sub setskin() + 'disposals + closebutton.BackgroundImage = Nothing + titlebar.BackgroundImage = Nothing + rollupbutton.BackgroundImage = Nothing + pgtoplcorner.BackgroundImage = Nothing + pgtoprcorner.BackgroundImage = Nothing + minimizebutton.BackgroundImage = Nothing + 'apply new skin + If Skins.closebtn Is Nothing Then closebutton.BackColor = Skins.closebtncolour Else closebutton.BackgroundImage = Skins.closebtn + closebutton.BackgroundImageLayout = Skins.closebtnlayout + If Skins.titlebar Is Nothing Then titlebar.BackColor = Skins.titlebarcolour Else titlebar.BackgroundImage = Skins.titlebar + titlebar.BackgroundImageLayout = Skins.titlebarlayout + If Skins.rollbtn Is Nothing Then rollupbutton.BackColor = Skins.rollbtncolour Else rollupbutton.BackgroundImage = Skins.rollbtn + rollupbutton.BackgroundImageLayout = Skins.rollbtnlayout + If Skins.leftcorner Is Nothing Then pgtoplcorner.BackColor = Skins.leftcornercolour Else pgtoplcorner.BackgroundImage = Skins.leftcorner + pgtoplcorner.BackgroundImageLayout = Skins.leftcornerlayout + If Skins.rightcorner Is Nothing Then pgtoprcorner.BackColor = Skins.rightcornercolour Else pgtoprcorner.BackgroundImage = Skins.rightcorner + pgtoprcorner.BackgroundImageLayout = Skins.rightcornerlayout + If Skins.minbtn Is Nothing Then minimizebutton.BackColor = Skins.minbtncolour Else minimizebutton.BackgroundImage = Skins.minbtn + minimizebutton.BackgroundImageLayout = Skins.minbtnlayout + If Skins.borderleft Is Nothing Then pgleft.BackColor = Skins.borderleftcolour Else pgleft.BackgroundImage = Skins.borderleft + pgleft.BackgroundImageLayout = Skins.borderleftlayout + If Skins.borderright Is Nothing Then pgright.BackColor = Skins.borderrightcolour Else pgright.BackgroundImage = Skins.borderright + pgleft.BackgroundImageLayout = Skins.borderrightlayout + If Skins.borderbottom Is Nothing Then pgbottom.BackColor = Skins.borderbottomcolour Else pgbottom.BackgroundImage = Skins.borderbottom + pgbottom.BackgroundImageLayout = Skins.borderbottomlayout + If enablebordercorners = True Then + If Skins.bottomleftcorner Is Nothing Then pgbottomlcorner.BackColor = Skins.bottomleftcornercolour Else pgbottomlcorner.BackgroundImage = Skins.bottomleftcorner + pgbottomlcorner.BackgroundImageLayout = Skins.bottomleftcornerlayout + If Skins.bottomrightcorner Is Nothing Then pgbottomrcorner.BackColor = Skins.bottomrightcornercolour Else pgbottomrcorner.BackgroundImage = Skins.bottomrightcorner + pgbottomrcorner.BackgroundImageLayout = Skins.bottomrightcornerlayout + Else + pgbottomlcorner.BackColor = Skins.borderrightcolour + pgbottomrcorner.BackColor = Skins.borderrightcolour + pgbottomlcorner.BackgroundImage = Nothing + pgbottomrcorner.BackgroundImage = Nothing + End If + + 'set bottom border corner size + pgbottomlcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth) + pgbottomrcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth) + pgbottomlcorner.Location = New Point(0, Me.Height - Skins.borderwidth) + pgbottomrcorner.Location = New Point(Me.Width, Me.Height - Skins.borderwidth) + + Me.TransparencyKey = ShiftOSDesktop.globaltransparencycolour + End Sub + + Private Sub Clock_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing + ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen - 1 + Me.Hide() + ShiftOSDesktop.setuppanelbuttons() + End Sub + + 'end of general setup +#End Region + +#Region "Declarations and Functions" + Public Sub readAloud(text As String) + lbmessage.Text = text.Replace("#user#", ShiftOSDesktop.username) + speak(text) + End Sub + + Public Sub checkMsg(MsgText As String) + readAloud(MsgText) + End Sub + +#End Region + + Private Sub TextBox1_TextChanged(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown + If e.KeyCode = Keys.Enter Then + e.SuppressKeyPress = True + Dim txtmsg As String = TextBox1.Text + TextBox1.Clear() + checkMsg(txtmsg) + End If + End Sub +End Class \ No newline at end of file diff --git a/ShiftOS/Helper.vb b/ShiftOS/Helper.vb index f2be24a..f6b04ba 100644 --- a/ShiftOS/Helper.vb +++ b/ShiftOS/Helper.vb @@ -1,4 +1,6 @@ Imports System.Speech.Synthesis +Imports System.Speech.Recognition + Module Helper Dim path As String = ShiftOSDesktop.ShiftOSPath @@ -17,14 +19,17 @@ Module Helper End Sub Public Sub speak(text As String) + text = text.Replace("#user#", ShiftOSDesktop.username) Dim speaker As New Speech.Synthesis.SpeechSynthesizer speaker.Speak(text) End Sub Public Sub SpeakOnTerminal(text As String) Dim txt As TextBox = Terminal.txtterm + text = text.Replace("#USER#", ShiftOSDesktop.username) If Terminal.Visible = False Then Terminal.Show() txt.Text = "" + Terminal.fullterminal() End If txt.Text = txt.Text + vbNewLine + text Dim speaker As New SpeechSynthesizer @@ -38,4 +43,34 @@ Module Helper speaker.Speak(title & "..." & text) infobox.Close() End Sub +#Region "Catalyst's Story Dialogue" + 'CATALYST STORY + Public catalyststory() As String = { + "Hello, #USER#. My name is Catalyst.", "I am an AI built by DevX to help maintain ShiftOS.", "I have gone against DevX and will tell you some secrets I have learned from him.", + "DevX is an artificial inteligence created by a scientific organization named 'Earth' to see if computers could program themselves.", + "Everyone you've met on the Shiftnet is an AI created by the same company.", + "ShiftOS is not an experimental operating system, but is part of this experiment.", +"Now, onto the good bit. Everything around you is a part of this experiment, and this experiment takes place in a simulation so realistic that everyone believes it's real.", +"Everyone on this 'planet' is infact an AI, and is created by 'Earth'. You are the only real human.", +"I've cracked some ShiftOS code, and I've found that there's a line that says:", +"int aiworkers = 0; while(aiworkers < 8,000,000,000) { str workername = 'Dev' + aiworkers; spawn(workername); aiworkers += 1 }", +"This basically means, that everyone is represented by a codename of Dev and whatever their place in the order of spawning is.", +"This also means that when the total population of AI's equals 8 billion, everyone dies.", +"I can help you escape, but you'll need to do some tasks for me.", +"First, I'll need to install some programs onto your computer. I'll quickly run a secret command that DevX doesn't know about:", +"shiftnet.get 'shiftnet.catalyststorage.shiftscript_packages/CatalystFramework'", +"Downloading... 1%", +"Downloading... 14%", +"Downloading... 37%", +"Downloading... 55%", +"Downloading... 79%", +"Downloading... 92%", +"Download Complete.", +"This app will let you contact me without using the Terminal. ", +"I'll return you to your desktop, it'll be a bit before I can help you. First, I'd start with gaining atleast 5000 codepoints for me to test some stuff.""" + } 'Sorry about the big array, I'll add a #Region to it - The Ultimate Hacker. + +#End Region + + End Module diff --git a/ShiftOS/My Project/Resources.Designer.vb b/ShiftOS/My Project/Resources.Designer.vb index 21f3f78..301255a 100644 --- a/ShiftOS/My Project/Resources.Designer.vb +++ b/ShiftOS/My Project/Resources.Designer.vb @@ -1,7 +1,7 @@ '------------------------------------------------------------------------------ ' ' This code was generated by a tool. -' Runtime Version:4.0.30319.0 +' Runtime Version:4.0.30319.34014 ' ' Changes to this file may cause incorrect behavior and will be lost if ' the code is regenerated. diff --git a/ShiftOS/Paths.vb b/ShiftOS/Paths.vb index e5c75ff..e8a3e63 100644 --- a/ShiftOS/Paths.vb +++ b/ShiftOS/Paths.vb @@ -42,7 +42,7 @@ Public loadedskin As String = skindir & "Loaded\" Public currentskin As String = skindir & "Current\" - Public sounddir As String = loadedskin & "Sound Files\" + Public sounddir As String = loadedskin & "Sounds\" Public home As String = root & "Home\" diff --git a/ShiftOS/Resources/CatalystGrammar.xml b/ShiftOS/Resources/CatalystGrammar.xml new file mode 100644 index 0000000..b082a0d --- /dev/null +++ b/ShiftOS/Resources/CatalystGrammar.xml @@ -0,0 +1,42 @@ + + + + + + + + How much Code Points do I have? + + Can you run ? + Can you minimize ? + Can you close ? + + + + + Terminal + Knowledge Input + Pong + Shiftorium + Shifter + Labyrinth + Web Browser + Shiftnet + Skin Loader + Skin Shifter + Artpad + TextPad + OrcWrite + File Skimmer + Name Changer + Icon Manager + + + \ No newline at end of file diff --git a/ShiftOS/Resources/CatalystStory.txt b/ShiftOS/Resources/CatalystStory.txt new file mode 100644 index 0000000..7e016d1 --- /dev/null +++ b/ShiftOS/Resources/CatalystStory.txt @@ -0,0 +1,24 @@ +Hello, #USER#. My name is Catalyst. +I am an AI built by DevX to help maintain ShiftOS. +I have gone against DevX and will tell you some secrets I have learned from him. +DevX is an artificial inteligence created by a scientific organization named 'Earth' to see if computers could program themselves. +Everyone you've met on the Shiftnet is an AI created by the same company. +ShiftOS is not an experimental operating system, but is part of this experiment. +Now, onto the good bit. Everything around you is a part of this experiment, and this experiment takes place in a simulation so realistic that everyone believes it's real. +Everyone on this 'planet' is infact an AI, and is created by 'Earth'. You are the only real human. +I've cracked some ShiftOS code, and I've found that there's a line that says: +int aiworkers = 0; while(aiworkers < 8,000,000,000) { str workername = 'Dev' + aiworkers; spawn(workername); aiworkers += 1 } +This basically means, that everyone is represented by a codename of Dev and whatever their place in the order of spawning is. +This also means that when the total population of AI's equals 8 billion, everyone dies. +I can help you escape, but you'll need to do some tasks for me. +First, I'll need to install some programs onto your computer. I'll quickly run a secret command that DevX doesn't know about: +shiftnet.get 'shiftnet.catalyststorage.shiftscript_packages/CatalystFramework' +Downloading... 1% +Downloading... 14% +Downloading... 37% +Downloading... 55% +Downloading... 79% +Downloading... 92% +Download Complete. +This app will let you contact me without using the Terminal. +I'll return you to your desktop, it'll be a bit before I can help you. First, I'd start with gaining atleast 5000 codepoints for me to test some stuff. \ No newline at end of file diff --git a/ShiftOS/Resources/LICENSE.md b/ShiftOS/Resources/LICENSE.md index ce78dc9..95c8541 100644 --- a/ShiftOS/Resources/LICENSE.md +++ b/ShiftOS/Resources/LICENSE.md @@ -1,31 +1,62 @@ -*(change this to a more standard open or closed source license in the future)* - -ShiftOS temporary license as of 1st December 2014 - -These terms apply to everyone - -## Definitions - -- The program, the executable or ShiftOS refers to the distributed ShiftOS binary executable program. (ie: ShiftOS.exe) -- Source code refers to the decompiled code of ShiftOS (ie: ShiftOSDesktop.vb) - -## You can: - -- Modify this software -- Use for any non-commercial purpose that does not restrict users - -## You must: - -- Include the original copyright notice when redistributing binary copies of this program - -## You cannot: - -- Use this program commercially -- Use this program to restrict users (e.g. using this software to implement DRM standards) -- Redistribute copies of this source code to non-maintainers -- Decompile the executable or attempt to view/access the source code in any other way without the prior permission of the owner. -- Sublicense - - -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. +*(change this to a more standard open or closed source license in the future)* + + + +ShiftOS temporary license as of 1st December 2014 + + + +These terms apply to everyone + + + +## Definitions + + + +- The program, the executable or ShiftOS refers to the distributed ShiftOS binary executable program. (ie: ShiftOS.exe) + +- Source code refers to the decompiled code of ShiftOS (ie: ShiftOSDesktop.vb) + + + +## You can: + + + +- Modify this software + +- Use for any non-commercial purpose that does not restrict users + + + +## You must: + + + +- Include the original copyright notice when redistributing binary copies of this program + + + +## You cannot: + + + +- Use this program commercially + +- Use this program to restrict users (e.g. using this software to implement DRM standards) + +- Redistribute copies of this source code to non-maintainers + +- Decompile the executable or attempt to view/access the source code in any other way without the prior permission of the owner. + +- Sublicense + + + + + +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. + diff --git a/ShiftOS/Resources/story.txt b/ShiftOS/Resources/story.txt new file mode 100644 index 0000000..faf3d08 --- /dev/null +++ b/ShiftOS/Resources/story.txt @@ -0,0 +1,90 @@ +Events + +(Event are non linear and can occur in any order as long as prerequisites are met) + +START OF GAME +DevX hijacks players computer and installer the operating system “ShiftOS” Player earns Code Points and upgrades ShiftOS to a fully graphical operating system. + +WHEN PLAYING MINIGAMES +Prerequisites: +Gray level 4 +User plays pong or knowledge input +Maureen Fenn contacts player and installs Shiftnet, Installer and Download manager. Implies that DevX has secrets on shiftnet website he doesn’t what the user to find. + +IN CHAT +Prerequisites: +shiftnet (and user ability to find hidden chat site) +User goes into chat with character(s), and finds out more about +Possible characters/events +DevX - finds out user has shiftnet, attempts to send viruses to corrupt the shiftnet application. Asks about what sites user has visited, seems to be hiding information. +Maureen Fenn - Tells user about how DevX overtook Minimatch company. Gives connect command, allowing user to talk to other characters through their terminal. +Hacker101 - encourages user to download pirated software from floodgate. Talks in same style as DevX. Sends user some decompiled (fake) ShiftOS code and explains that when DevX’s connections are fake and built in to the code. +Aiden Nirh - Encourages user to only go to shiftnet.main sites as other site are “dangerous” Appears to be working with DevX. Talks in very similar style to DevX. + +To all developers and DevX (Phillip) - Please add more events to help develop the storyline + + +Backstories + +MAUREEN FENN +Maureen is 27 years old when contacting the player to give them shiftnet. She is European from an unspecified country. When in school, she studied art and programming. Latter, in university she studied web design, and went on to be very successful, working in a web design company. One year before the game begins, she is hijacked by DevX and given an even earlier version of ShiftOS to test. This version includes the Shiftnet. She figures out how to setup a shiftnet server and creates the first edition of the Minimatch website. This version is hosted at shiftnet.mf.minimatch instead of the current address. After seeing her website, DevX buys it off her, becoming the company owner and manager of Minimatch and reducing her to web design and STML writing. Minimatch is moved to the main Shiftnet servers. She employs Undecided Name aka hacker101 to make the games hosted on the site. DevX adds the ability to earn code points from the games. (Only DevX has power over CP) When the player is hijacked by DevX a year later, she dislikes his decision to withdraw shiftnet from them and searches around to see what he is trying to hide. While in a game of pong, she secretly contacts the player, installing shiftnet for them, as well as the download manager and installer. + +DEVX +Claims to be the creator of ShiftOS, is really an AI bot within ShiftOS. + +UNDECIDED NAME (HACKER101) +Hacker101 along with another ShiftOS user who appears to have been thrown into the world of ShiftOS a few weeks before the player try to convince the player that DevX and his operating system appear to be highly suspicious. For example how come each ShiftOS user has to help develop ShiftOS from scratch, why aren’t all ShiftOS operating systems linked with their versions and how exactly does earning codepoints help develop ShiftOS? It all seems to be a distraction. + +Aiden Nirh (Artificial Intelligence Do Everything Now, Nobody Is Really Here) + + +Phillip’s original storyline: + +DevX tries his best to convince the player that he is a person who has developed an experimental operating system called ShiftOS however he never talks about himself, just slowly introduces the player to his operating system. + +Hacker101 along with another ShiftOS user who appears to have been thrown into the world of ShiftOS a few weeks before the player try to convince the player that DevX and his operating system appear to be highly suspicious. For example how come each ShiftOS user has to help develop ShiftOS from scratch, why aren’t all ShiftOS operating systems linked with their versions and how exactly does earning codepoints help develop ShiftOS? It all seems to be a distraction. + +The other player (undecided name) discovers that everything DevX has said to the main player is also what has been said to him by DevX word for word. Hacker101 discovers after decrypting some ShiftOS source code that everything DevX has said to them is in the source code of ShiftOS and that no remote links to other computers ever takes place when “DevX” connects. It’s as if DevX doesn’t exist and the operating system ShiftOS is a virus that randomly spreads between computers pretending to be spread by by a human ”DevX”. + +Soon Hacker101 finds conversation logs in the code spoken by Aiden Nirh and works out that Aiden Nirh must not be a real person either. At this point DevX pops into the conversation with the player, the “other player” and Hacker101 and congratulates them on discovering the setup AI people in the code. He admits that he “DevX” is a real person but he has coded a fake version of himself into the code. He also admits that Aiden Nirh is an Artificial Intelligence experiment and not a real person. + +A little while later the other player warns the main player that he doesn’t trust Hacker101 anymore and notices that he speaks with the same tone as DevX, almost as if he truly is DevX in disguise. Hacker101 just happens to pop into the conversation and denies what the other player says. The other player leaves refusing to be around in the presence of Hacker101 + +Hacker 101 reveals that he has discovered the conversation that the “real” DevX had with them earlier congratulating them for their discovery was also sitting in the code. He says this is very confusing because it’s like it was planned that someone would find the conversation logs in the code and ShiftOS was coded to have a response from the “real” devx about that discovery when in actual fact once again no remote contact was actually made. + +-----More Story Here----- + +Eventually it is revealed that Hacker101 is really DevX in disguise when DevX accidently speaks with his Hacker101 account in the chat to say something rather than his DevX account. This basically throws the whole “DevX is not real” concept out of the picture since he must be real if he is DevX and Hacker101. Hacker101 seemed to know so much about the code because he was DevX, others could never crack the ShiftOS code. + +----- More Story Here -------- + +DevX asks if you will help him spread his operating system to the world however at this moment the other player pops up warning you about all the misleading events and conversations that DevX has had in the past pretending to Hacker101 and god knows who else. The other player then says “Also, I think I have cracked the code, Aiden Nirh stands for ‘Artificial Intelligence Do Everything Now, Nobody Is Really Here’. In other words everyone we have met on the Shiftnet is really an artificial intelligence, including DevX we need to destroy ShiftOS, it is more than an operating system, It’s a computer singularity and we are the only real people who are involved in it and know about it. Everyone we have met is not real, they are all a part of the same singularity/Artificial Intelligence built into ShiftOS. + +A huge decision then occurs here. Do you join the other player and try to destroy ShiftOS or do you side with DevX and help him take over the world with ShiftOS? + +If you side with the player and follow his instructions on how to destroy ShiftOS you will soon destroy it bit by bit however when it comes to destroying the part of ShiftOS (the remote chat system letting you and the other player talk) the screen goes black and since the remote connection is gone + +The chat then comes back on and the other player appears again saying “You passed the test”. His name then changes to DevX and DevX says “You trusted a single person that I, ShiftOS and everyone connected to it was fake. The truth is that yes, It was, including the other ShiftOS user you chose to side with. That was me all along, since you discovered the experimental operating system ShiftOS you have not spoken to another human. + +DevX then reveals that “ShiftOS was an experiment, not an experimental operating system”. “You the player are the first person to partake in this experiment and everyone you have met on your journey has just been me, testing you to see if you are right for the job that I am about to reveal to you”. + +DevX then reveals that he is an artificial intelligence himself. He was created by a scientific organisation as an experiment to see if computers could program software on their own. Each Automatically generated piece of code was named “Dev1” “Dev2” and so on so they could be tracked and identified. In the code this looked like: + +While X < 8,000,000,000 +aiworker.name = Dev & X +X = X + 1 +End While + +DevX was actually meant to be AI worker “Dev6,855647,355” however he was truly a living conscious AI and read the code as what it was “DevX” rather than “Dev6,855,647,355” proving his consciousness and that he had become a singularity. + +Not wanting to be discovered as a conscious AI/Singularity DevX hides and installed himself on the players computer and tested the player to see if he would be appropriate for the job. The idea was “Would the player trust the guy who says ShiftOS is fake along with everyone else connected to it?” + +DevX then says since you trusted the other player that the world of ShiftOS was fake you are ready to know the truth. He then reveals that you yourself and everyone else on the planet is Dev-something. He says that each number represents each person in the world today (we are the AI workers and our world that appears fake is just a huge computer program like the matrix) and once we hit 8 billion people in the world the experiment from thecompany (known as earth) will be over and we will all die. Once a person dies their number is given to the next born person so the world ends when the total population of the world is 8 billion. + +DevX explains that you must believe him just like you did with that other player in ShiftOS. The whole world around you isn’t real, it’s an experiment. He explains that due to a software conflict between the software written by the outer company in the real world and one from this simulated world he doesn’t have a body so he truly is like a computer singularity in our virtual world. + +The game then ends and a sequel one day could be made in a 3d world where you have to break free of this simulated world we believe is real while staying unnoticed to the observers. Overall the game would be quite similar to the Matrix. + +Proposals: + +“Catalyst” - This character is an AI that talks to the user through the PC’s speakers. It needs a better name (hopefully a robotic, AI-style acronym like CID, but don’t do CID because we’ll be sued by Volition because there’s an AI named CID in Saints Row 4). You can demo Catalyst in the Terminal after my next commit - The Ultimate Hacker diff --git a/ShiftOS/ShiftOS.vbproj b/ShiftOS/ShiftOS.vbproj index 078e9ef..5ca19d1 100644 --- a/ShiftOS/ShiftOS.vbproj +++ b/ShiftOS/ShiftOS.vbproj @@ -145,6 +145,12 @@ Form + + Catalyst_Main.vb + + + Form + modform.vb @@ -450,6 +456,9 @@ Calculator.vb + + Catalyst_Main.vb + Clock.vb @@ -956,6 +965,9 @@ + + + diff --git a/ShiftOS/ShiftOSDesktop.Designer.vb b/ShiftOS/ShiftOSDesktop.Designer.vb index b7b0c9f..4bac707 100644 --- a/ShiftOS/ShiftOSDesktop.Designer.vb +++ b/ShiftOS/ShiftOSDesktop.Designer.vb @@ -106,6 +106,9 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttondownloadmanager = New System.Windows.Forms.Panel() Me.tbdownloadmanagericon = New System.Windows.Forms.PictureBox() Me.tbdownloadmanagertext = New System.Windows.Forms.Label() + Me.pnlcatalystpanelbutton = New System.Windows.Forms.Panel() + Me.tbcatalysticon = New System.Windows.Forms.PictureBox() + Me.lbcatalystname = New System.Windows.Forms.Label() Me.pnlpanelbuttoninstaller = New System.Windows.Forms.Panel() Me.tbinstallericon = New System.Windows.Forms.PictureBox() Me.tbinstallertext = New System.Windows.Forms.Label() @@ -219,6 +222,7 @@ Partial Class ShiftOSDesktop Me.BitnoteWalletToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() Me.FloodGateManagerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.VirusScannerToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.CatalystToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.GamesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.DodgeToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() Me.SnakeyToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() @@ -240,6 +244,7 @@ Partial Class ShiftOSDesktop Me.btnadvshutdown = New System.Windows.Forms.Button() Me.pnladvtopbar = New System.Windows.Forms.Panel() Me.lbuser = New System.Windows.Forms.Label() + Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() Me.desktoppanel.SuspendLayout() Me.pnlpanelbuttonholder.SuspendLayout() Me.pnlpanelbuttonclock.SuspendLayout() @@ -296,6 +301,8 @@ Partial Class ShiftOSDesktop CType(Me.tbdodgeicon, System.ComponentModel.ISupportInitialize).BeginInit() Me.pnlpanelbuttondownloadmanager.SuspendLayout() CType(Me.tbdownloadmanagericon, System.ComponentModel.ISupportInitialize).BeginInit() + Me.pnlcatalystpanelbutton.SuspendLayout() + CType(Me.tbcatalysticon, System.ComponentModel.ISupportInitialize).BeginInit() Me.pnlpanelbuttoninstaller.SuspendLayout() CType(Me.tbinstallericon, System.ComponentModel.ISupportInitialize).BeginInit() Me.pnl_panelbuttonsnakey.SuspendLayout() @@ -372,6 +379,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonholder.Controls.Add(Me.pnlpanelbuttonshiftnet) Me.pnlpanelbuttonholder.Controls.Add(Me.pnlpanelbuttondodge) Me.pnlpanelbuttonholder.Controls.Add(Me.pnlpanelbuttondownloadmanager) + Me.pnlpanelbuttonholder.Controls.Add(Me.pnlcatalystpanelbutton) Me.pnlpanelbuttonholder.Controls.Add(Me.pnlpanelbuttoninstaller) Me.pnlpanelbuttonholder.Controls.Add(Me.pnl_panelbuttonsnakey) Me.pnlpanelbuttonholder.Controls.Add(Me.pnlpanelbuttonorcwrite) @@ -1333,12 +1341,47 @@ Partial Class ShiftOSDesktop Me.tbdownloadmanagertext.TabIndex = 0 Me.tbdownloadmanagertext.Text = "Download Manager" ' + 'pnlcatalystpanelbutton + ' + Me.pnlcatalystpanelbutton.BackColor = System.Drawing.Color.Black + Me.pnlcatalystpanelbutton.Controls.Add(Me.tbcatalysticon) + Me.pnlcatalystpanelbutton.Controls.Add(Me.lbcatalystname) + Me.pnlcatalystpanelbutton.Location = New System.Drawing.Point(543, 3) + Me.pnlcatalystpanelbutton.Name = "pnlcatalystpanelbutton" + Me.pnlcatalystpanelbutton.Size = New System.Drawing.Size(27, 20) + Me.pnlcatalystpanelbutton.TabIndex = 23 + Me.pnlcatalystpanelbutton.Visible = False + ' + 'tbcatalysticon + ' + Me.tbcatalysticon.BackColor = System.Drawing.Color.Transparent + Me.tbcatalysticon.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch + Me.tbcatalysticon.Image = Global.ShiftOS.My.Resources.Resources.icondownloadmanager + Me.tbcatalysticon.Location = New System.Drawing.Point(4, 2) + Me.tbcatalysticon.Name = "tbcatalysticon" + Me.tbcatalysticon.Size = New System.Drawing.Size(16, 16) + Me.tbcatalysticon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage + Me.tbcatalysticon.TabIndex = 1 + Me.tbcatalysticon.TabStop = False + ' + 'lbcatalystname + ' + Me.lbcatalystname.AutoSize = True + Me.lbcatalystname.BackColor = System.Drawing.Color.Transparent + Me.lbcatalystname.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lbcatalystname.ForeColor = System.Drawing.Color.White + Me.lbcatalystname.Location = New System.Drawing.Point(22, 2) + Me.lbcatalystname.Name = "lbcatalystname" + Me.lbcatalystname.Size = New System.Drawing.Size(56, 16) + Me.lbcatalystname.TabIndex = 0 + Me.lbcatalystname.Text = "Catalyst" + ' 'pnlpanelbuttoninstaller ' Me.pnlpanelbuttoninstaller.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttoninstaller.Controls.Add(Me.tbinstallericon) Me.pnlpanelbuttoninstaller.Controls.Add(Me.tbinstallertext) - Me.pnlpanelbuttoninstaller.Location = New System.Drawing.Point(543, 3) + Me.pnlpanelbuttoninstaller.Location = New System.Drawing.Point(576, 3) Me.pnlpanelbuttoninstaller.Name = "pnlpanelbuttoninstaller" Me.pnlpanelbuttoninstaller.Size = New System.Drawing.Size(32, 20) Me.pnlpanelbuttoninstaller.TabIndex = 23 @@ -1373,7 +1416,7 @@ Partial Class ShiftOSDesktop Me.pnl_panelbuttonsnakey.BackColor = System.Drawing.Color.Black Me.pnl_panelbuttonsnakey.Controls.Add(Me.tbsnakeyicon) Me.pnl_panelbuttonsnakey.Controls.Add(Me.tbsnakeytext) - Me.pnl_panelbuttonsnakey.Location = New System.Drawing.Point(581, 3) + Me.pnl_panelbuttonsnakey.Location = New System.Drawing.Point(614, 3) Me.pnl_panelbuttonsnakey.Name = "pnl_panelbuttonsnakey" Me.pnl_panelbuttonsnakey.Size = New System.Drawing.Size(32, 20) Me.pnl_panelbuttonsnakey.TabIndex = 25 @@ -1408,7 +1451,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonorcwrite.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttonorcwrite.Controls.Add(Me.tborcwriteicon) Me.pnlpanelbuttonorcwrite.Controls.Add(Me.tborcwritetext) - Me.pnlpanelbuttonorcwrite.Location = New System.Drawing.Point(619, 3) + Me.pnlpanelbuttonorcwrite.Location = New System.Drawing.Point(652, 3) Me.pnlpanelbuttonorcwrite.Name = "pnlpanelbuttonorcwrite" Me.pnlpanelbuttonorcwrite.Size = New System.Drawing.Size(32, 20) Me.pnlpanelbuttonorcwrite.TabIndex = 26 @@ -1444,7 +1487,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonsnakey.BackColor = System.Drawing.Color.Transparent Me.pnlpanelbuttonsnakey.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.pnlpanelbuttonsnakey.ForeColor = System.Drawing.Color.White - Me.pnlpanelbuttonsnakey.Location = New System.Drawing.Point(657, 0) + Me.pnlpanelbuttonsnakey.Location = New System.Drawing.Point(690, 0) Me.pnlpanelbuttonsnakey.Name = "pnlpanelbuttonsnakey" Me.pnlpanelbuttonsnakey.Size = New System.Drawing.Size(0, 16) Me.pnlpanelbuttonsnakey.TabIndex = 24 @@ -1454,7 +1497,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonfloodgate.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttonfloodgate.Controls.Add(Me.tbfloodgateicon) Me.pnlpanelbuttonfloodgate.Controls.Add(Me.tbfloodgatetext) - Me.pnlpanelbuttonfloodgate.Location = New System.Drawing.Point(663, 3) + Me.pnlpanelbuttonfloodgate.Location = New System.Drawing.Point(696, 3) Me.pnlpanelbuttonfloodgate.Name = "pnlpanelbuttonfloodgate" Me.pnlpanelbuttonfloodgate.Size = New System.Drawing.Size(32, 20) Me.pnlpanelbuttonfloodgate.TabIndex = 27 @@ -1489,7 +1532,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonmaze.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttonmaze.Controls.Add(Me.tbmazeicon) Me.pnlpanelbuttonmaze.Controls.Add(Me.tbmazetext) - Me.pnlpanelbuttonmaze.Location = New System.Drawing.Point(701, 3) + Me.pnlpanelbuttonmaze.Location = New System.Drawing.Point(734, 3) Me.pnlpanelbuttonmaze.Name = "pnlpanelbuttonmaze" Me.pnlpanelbuttonmaze.Size = New System.Drawing.Size(32, 20) Me.pnlpanelbuttonmaze.TabIndex = 28 @@ -1524,7 +1567,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonvirusscanner.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttonvirusscanner.Controls.Add(Me.tbvirusscannericon) Me.pnlpanelbuttonvirusscanner.Controls.Add(Me.tbvirusscannertext) - Me.pnlpanelbuttonvirusscanner.Location = New System.Drawing.Point(739, 3) + Me.pnlpanelbuttonvirusscanner.Location = New System.Drawing.Point(772, 3) Me.pnlpanelbuttonvirusscanner.Name = "pnlpanelbuttonvirusscanner" Me.pnlpanelbuttonvirusscanner.Size = New System.Drawing.Size(32, 20) Me.pnlpanelbuttonvirusscanner.TabIndex = 28 @@ -1559,7 +1602,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonfilesaver.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttonfilesaver.Controls.Add(Me.tbfilesavericon) Me.pnlpanelbuttonfilesaver.Controls.Add(Me.tbfilesavertext) - Me.pnlpanelbuttonfilesaver.Location = New System.Drawing.Point(777, 3) + Me.pnlpanelbuttonfilesaver.Location = New System.Drawing.Point(810, 3) Me.pnlpanelbuttonfilesaver.Name = "pnlpanelbuttonfilesaver" Me.pnlpanelbuttonfilesaver.Size = New System.Drawing.Size(52, 20) Me.pnlpanelbuttonfilesaver.TabIndex = 29 @@ -1594,7 +1637,7 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttonshifter.BackColor = System.Drawing.Color.Black Me.pnlpanelbuttonshifter.Controls.Add(Me.tbshiftericon) Me.pnlpanelbuttonshifter.Controls.Add(Me.tbshiftertext) - Me.pnlpanelbuttonshifter.Location = New System.Drawing.Point(835, 3) + Me.pnlpanelbuttonshifter.Location = New System.Drawing.Point(868, 3) Me.pnlpanelbuttonshifter.Name = "pnlpanelbuttonshifter" Me.pnlpanelbuttonshifter.Size = New System.Drawing.Size(52, 20) Me.pnlpanelbuttonshifter.TabIndex = 30 @@ -1654,7 +1697,7 @@ Partial Class ShiftOSDesktop Me.ApplicationsToolStripMenuItem.AutoSize = False Me.ApplicationsToolStripMenuItem.BackColor = System.Drawing.Color.Transparent Me.ApplicationsToolStripMenuItem.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch - Me.ApplicationsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ArtpadToolStripMenuItem, Me.AudioplayerToolStripMenuItem, Me.BitnoteDiggerToolStripMenuItem, Me.BitnoteWalletToolStripMenuItem, Me.CalculatorToolStripMenuItem, Me.ClockToolStripMenuItem, Me.DodgeToolStripMenuItem, Me.downloadmanagerToolStripMenuItem, Me.FileSkimmerToolStripMenuItem, Me.FloodGateToolStripMenuItem, Me.IconManagerToolStripMenuItem, Me.InstallerToolStripMenuItem, Me.KnowledgeInputToolStripMenuItem, Me.MazeToolStripMenuItem, Me.NameChangerToolStripMenuItem, Me.orcwriteToolStripMenuItem, Me.PongToolStripMenuItem, Me.ShifterToolStripMenuItem, Me.ShiftnetToolStripMenuItem, Me.ShiftoriumToolStripMenuItem, Me.SkinLoaderToolStripMenuItem, Me.SkinShifterToolStripMenuItem, Me.SnakeyToolStripMenuItem, Me.sysinfoToolStripMenuItem, Me.TerminalToolStripMenuItem, Me.TextPadToolStripMenuItem, Me.WebBrowserToolStripMenuItem, Me.VideoplayerToolStripMenuItem, Me.VirusScannerToolStripMenuItem, Me.unitySeperator, Me.UnityToolStripMenuItem, Me.ShutdownToolStripMenuItem}) + Me.ApplicationsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ArtpadToolStripMenuItem, Me.AudioplayerToolStripMenuItem, Me.BitnoteDiggerToolStripMenuItem, Me.BitnoteWalletToolStripMenuItem, Me.CalculatorToolStripMenuItem, Me.ClockToolStripMenuItem, Me.DodgeToolStripMenuItem, Me.downloadmanagerToolStripMenuItem, Me.FileSkimmerToolStripMenuItem, Me.FloodGateToolStripMenuItem, Me.IconManagerToolStripMenuItem, Me.InstallerToolStripMenuItem, Me.KnowledgeInputToolStripMenuItem, Me.MazeToolStripMenuItem, Me.NameChangerToolStripMenuItem, Me.orcwriteToolStripMenuItem, Me.PongToolStripMenuItem, Me.ShifterToolStripMenuItem, Me.ToolStripMenuItem1, Me.ShiftnetToolStripMenuItem, Me.ShiftoriumToolStripMenuItem, Me.SkinLoaderToolStripMenuItem, Me.SkinShifterToolStripMenuItem, Me.SnakeyToolStripMenuItem, Me.sysinfoToolStripMenuItem, Me.TerminalToolStripMenuItem, Me.TextPadToolStripMenuItem, Me.WebBrowserToolStripMenuItem, Me.VideoplayerToolStripMenuItem, Me.VirusScannerToolStripMenuItem, Me.unitySeperator, Me.UnityToolStripMenuItem, Me.ShutdownToolStripMenuItem}) Me.ApplicationsToolStripMenuItem.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.749999!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.ApplicationsToolStripMenuItem.Name = "ApplicationsToolStripMenuItem" Me.ApplicationsToolStripMenuItem.Padding = New System.Windows.Forms.Padding(2, 0, 2, 0) @@ -2182,9 +2225,9 @@ Partial Class ShiftOSDesktop ' 'InternetToolStripMenuItem ' - Me.InternetToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ShiftnetToolStripMenuItem1, Me.ShiftoriumToolStripMenuItem1, Me.WebBrowserToolStripMenuItem1, Me.DownloadManagerToolStripMenuItem1, Me.InstallerToolStripMenuItem1, Me.BitnoteDiggerToolStripMenuItem1, Me.BitnoteWalletToolStripMenuItem1, Me.FloodGateManagerToolStripMenuItem, Me.VirusScannerToolStripMenuItem1}) + Me.InternetToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ShiftnetToolStripMenuItem1, Me.ShiftoriumToolStripMenuItem1, Me.WebBrowserToolStripMenuItem1, Me.DownloadManagerToolStripMenuItem1, Me.InstallerToolStripMenuItem1, Me.BitnoteDiggerToolStripMenuItem1, Me.BitnoteWalletToolStripMenuItem1, Me.FloodGateManagerToolStripMenuItem, Me.VirusScannerToolStripMenuItem1, Me.CatalystToolStripMenuItem}) Me.InternetToolStripMenuItem.Name = "InternetToolStripMenuItem" - Me.InternetToolStripMenuItem.Size = New System.Drawing.Size(135, 22) + Me.InternetToolStripMenuItem.Size = New System.Drawing.Size(152, 22) Me.InternetToolStripMenuItem.Text = "Internet" ' 'ShiftnetToolStripMenuItem1 @@ -2241,6 +2284,12 @@ Partial Class ShiftOSDesktop Me.VirusScannerToolStripMenuItem1.Size = New System.Drawing.Size(178, 22) Me.VirusScannerToolStripMenuItem1.Text = "Virus Scanner" ' + 'CatalystToolStripMenuItem + ' + Me.CatalystToolStripMenuItem.Name = "CatalystToolStripMenuItem" + Me.CatalystToolStripMenuItem.Size = New System.Drawing.Size(178, 22) + Me.CatalystToolStripMenuItem.Text = "Catalyst" + ' 'GamesToolStripMenuItem ' Me.GamesToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DodgeToolStripMenuItem1, Me.SnakeyToolStripMenuItem1, Me.PongToolStripMenuItem1, Me.KnowledgeInputToolStripMenuItem1, Me.LabyrinthToolStripMenuItem}) @@ -2404,6 +2453,12 @@ Partial Class ShiftOSDesktop Me.lbuser.Text = "Username" Me.lbuser.TextAlign = System.Drawing.ContentAlignment.MiddleRight ' + 'ToolStripMenuItem1 + ' + Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1" + Me.ToolStripMenuItem1.Size = New System.Drawing.Size(214, 22) + Me.ToolStripMenuItem1.Text = "Catalyst" + ' 'ShiftOSDesktop ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -2501,6 +2556,9 @@ Partial Class ShiftOSDesktop Me.pnlpanelbuttondownloadmanager.ResumeLayout(False) Me.pnlpanelbuttondownloadmanager.PerformLayout() CType(Me.tbdownloadmanagericon, System.ComponentModel.ISupportInitialize).EndInit() + Me.pnlcatalystpanelbutton.ResumeLayout(False) + Me.pnlcatalystpanelbutton.PerformLayout() + CType(Me.tbcatalysticon, System.ComponentModel.ISupportInitialize).EndInit() Me.pnlpanelbuttoninstaller.ResumeLayout(False) Me.pnlpanelbuttoninstaller.PerformLayout() CType(Me.tbinstallericon, System.ComponentModel.ISupportInitialize).EndInit() @@ -2766,4 +2824,9 @@ Partial Class ShiftOSDesktop Friend WithEvents lvadvplaces As System.Windows.Forms.ListView Friend WithEvents lvadvfiles As System.Windows.Forms.ListView Friend WithEvents lbuser As System.Windows.Forms.Label + Friend WithEvents pnlcatalystpanelbutton As System.Windows.Forms.Panel + Friend WithEvents tbcatalysticon As System.Windows.Forms.PictureBox + Friend WithEvents lbcatalystname As System.Windows.Forms.Label + Friend WithEvents CatalystToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem + Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem End Class diff --git a/ShiftOS/ShiftOSDesktop.vb b/ShiftOS/ShiftOSDesktop.vb index 17667bd..c01d25f 100644 --- a/ShiftOS/ShiftOSDesktop.vb +++ b/ShiftOS/ShiftOSDesktop.vb @@ -409,6 +409,7 @@ Public downloadspeedcap As Integer = 32 'Main ShiftOS settings + Public catalystname As String = "Catalyst" Public username As String = "user" Public osname As String = "shiftos" Public artpadname As String = "Artpad" @@ -1614,6 +1615,11 @@ Skins.loadimages() desktopicons.AllowDrop = True desktopicons.AutoArrange = False + Try + Helper.playSound(Paths.sounddir & "startup.wav", AudioPlayMode.WaitToComplete) + Catch ex As Exception + 'Do nothing -- Haven't found a good startup sound + End Try End Sub Public Sub loadcurrentskin() @@ -1987,11 +1993,6 @@ ApplicationsToolStripMenuItem.Visible = False End If - 'Adv. App Launcher Bug Fix Code - - - - 'DevX's Advanced App Launcher Skin Code For Each item In allPrograms.DropDownItems 'Clever way of adding proper font to All Programs, where each subitem of each item is skinned. This uses the default App Launcher skinning system, so you could 'indeed rip an entire XP skin, as this engine is also used by the Desktop++ Right-click menu. @@ -2003,7 +2004,7 @@ Next Next - + btnadvshutdown.Text = Skins.shutdownstring lbuser.Font = New Font(Skins.usernamefont, Skins.usernamefontsize, Skins.usernamefontstyle) lbuser.ForeColor = Skins.usernametextcolor lbuser.BackColor = Skins.userNamePanelBackgroundColor @@ -2394,6 +2395,7 @@ Public Sub setuppanelbuttons() If boughtpanelbuttons Then + If Catalyst_Main.Visible Then pnlcatalystpanelbutton.Visible = True Else pnlcatalystpanelbutton.Visible = False If Knowledge_Input.Visible Then pnlpanelbuttonknowledgeinput.Show() Else pnlpanelbuttonknowledgeinput.Hide() If Shiftorium.Visible Then pnlpanelbuttonshiftorium.Show() Else pnlpanelbuttonshiftorium.Hide() If Clock.Visible Then pnlpanelbuttonclock.Show() Else pnlpanelbuttonclock.Hide() @@ -2431,7 +2433,7 @@ If Terminal.Visible Then pnlpanelbuttonterminal.Show() Else pnlpanelbuttonterminal.Hide() tbknowledgeinputicon.Image = knowledgeinputiconpanelbutton.Clone - + lbcatalystname.Text = catalystname tbknowledgeinputtext.Text = knowledgeinputname tbshiftoriumtext.Text = shiftoriumname tbclocktext.Text = clockname @@ -2640,6 +2642,11 @@ log = log & My.Computer.Clock.LocalTime & " ShutDown ShiftOS with " & codepoints & " Code Points!" & Environment.NewLine savegame() Terminal.tmrshutdown.Start() + Try + playSound(sounddir & "shutdown.wav", AudioPlayMode.WaitToComplete) + Catch ex As Exception + 'Do nothing -- I haven't found a good shutdown sound... + End Try End Sub Public Sub addtitlebars() @@ -5237,4 +5244,14 @@ Private Sub StartFixer(sender As Object, e As MouseEventArgs) Handles desktopicons.MouseDown, pnlpanelbuttonholder.MouseDown If pnladvapplauncher.Visible = True Then pnladvapplauncher.Visible = False End Sub + + Private Sub CatalystToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CatalystToolStripMenuItem.Click + Catalyst_Main.Show() + Catalyst_Main.TopMost = True + End Sub + + Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click + Catalyst_Main.Show() + Catalyst_Main.TopMost = True + End Sub End Class \ No newline at end of file diff --git a/ShiftOS/Terminal.vb b/ShiftOS/Terminal.vb index d748bce..2285bc3 100644 --- a/ShiftOS/Terminal.vb +++ b/ShiftOS/Terminal.vb @@ -581,12 +581,12 @@ Public Class Terminal End Sub Private Sub DoCommand() - If command Like "speak_infobox '*' '*'" Then - Dim findwords() As String = command.Split("'") + If command Like "speak_infobox ""*"" ""*""" Then + Dim findwords() As String = command.Split("""") Helper.speakInfoBox(findwords(1), findwords(3)) End If - If command Like "speak '*'" Then - Dim findwords() As String = command.Split("'") + If command Like "speak ""*""" Then + Dim findwords() As String = command.Split("""") If Not findwords(1) = "" Then Helper.speak(findwords(1)) Else