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.
This commit is contained in:
TheUltimateHacker 2015-03-20 20:29:17 -04:00
parent 4db0241d88
commit 850716b2a8
14 changed files with 1201 additions and 56 deletions

267
ShiftOS/Catalyst_Main.Designer.vb generated Normal file
View file

@ -0,0 +1,267 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class Catalyst_Main
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
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.
<System.Diagnostics.DebuggerStepThrough()> _
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

129
ShiftOS/Catalyst_Main.resx Normal file
View file

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="pullside.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1347, 18</value>
</metadata>
<metadata name="pullbs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1441, 18</value>
</metadata>
<metadata name="pullbottom.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 57</value>
</metadata>
</root>

435
ShiftOS/Catalyst_Main.vb Normal file
View file

@ -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

View file

@ -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

View file

@ -1,7 +1,7 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 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.

View file

@ -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\"

View file

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="en-US"
xmlns="http://www.w3.org/2001/06/grammar"
tag-format="semantics/1.0" root="Main">
<!-- Catalyst Grammar File
This file gives Catalyst the ability to recognize
audio input and give a proper response.
-->
<rule id="Main">
<item>
How much Code Points do I have?
</item>
<item>Can you run <ruleref uri="#programs"/>?</item>
<item>Can you minimize <ruleref uri="#programs"/>?</item>
<item>Can you close <ruleref uri="#programs"/>?</item>
</rule>
<rule id="programs" scope="public">
<one-of>
<item> Terminal</item>
<item> Knowledge Input</item>
<item> Pong</item>
<item> Shiftorium</item>
<item> Shifter</item>
<item> Labyrinth</item>
<item> Web Browser</item>
<item> Shiftnet</item>
<item> Skin Loader</item>
<item> Skin Shifter</item>
<item> Artpad</item>
<item> TextPad</item>
<item> OrcWrite</item>
<item> File Skimmer</item>
<item> Name Changer</item>
<item> Icon Manager</item>
</one-of>
</rule>
</grammar>

View file

@ -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.

View file

@ -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.

View file

@ -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 doesnt what the user to find.
IN CHAT
Prerequisites:
shiftnet (and user ability to find hidden chat site)
User goes into chat with <randomly selected> character(s), and finds out more about <dynamically created events depending on characters selected>
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 DevXs 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 arent 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)
Phillips 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 arent 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. Its as if DevX doesnt 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 doesnt 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 its 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, Its 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 isnt real, its 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 doesnt 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 PCs speakers. It needs a better name (hopefully a robotic, AI-style acronym like CID, but dont do CID because well be sued by Volition because theres an AI named CID in Saints Row 4). You can demo Catalyst in the Terminal after my next commit - The Ultimate Hacker

View file

@ -145,6 +145,12 @@
<Compile Include="Calculator.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Catalyst_Main.Designer.vb">
<DependentUpon>Catalyst_Main.vb</DependentUpon>
</Compile>
<Compile Include="Catalyst_Main.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="modform.Designer.vb">
<DependentUpon>modform.vb</DependentUpon>
</Compile>
@ -450,6 +456,9 @@
<EmbeddedResource Include="Calculator.resx">
<DependentUpon>Calculator.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Catalyst_Main.resx">
<DependentUpon>Catalyst_Main.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Clock.resx">
<DependentUpon>Clock.vb</DependentUpon>
</EmbeddedResource>
@ -956,6 +965,9 @@
<None Include="Resources\appscapeinfoorcwritevisualpreview.png" />
<None Include="Resources\appscapeinfoorcwritetext.png" />
<None Include="Resources\DesktopPlusPlusAbout.txt" />
<None Include="Resources\story.txt" />
<None Include="Resources\CatalystStory.txt" />
<Content Include="Resources\CatalystGrammar.xml" />
<Content Include="ShiftOSLogo.ico" />
</ItemGroup>
<ItemGroup>

View file

@ -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

View file

@ -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

View file

@ -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