diff --git a/ShiftOS/Audio Player.Designer.vb b/ShiftOS/Audio Player.Designer.vb index 524360e..8a0e2a4 100644 --- a/ShiftOS/Audio Player.Designer.vb +++ b/ShiftOS/Audio Player.Designer.vb @@ -288,10 +288,10 @@ Partial Class Audio_Player ' 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.Font = New System.Drawing.Font("Microsoft Sans Serif", 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(129, 18) + Me.lbtitletext.Size = New System.Drawing.Size(102, 18) Me.lbtitletext.TabIndex = 19 Me.lbtitletext.Text = "Audio Player" ' diff --git a/ShiftOS/Audio Player.vb b/ShiftOS/Audio Player.vb index deef0df..c208fdd 100644 --- a/ShiftOS/Audio Player.vb +++ b/ShiftOS/Audio Player.vb @@ -572,4 +572,8 @@ Private Sub picsongtrack_MouseUp(sender As Object, e As MouseEventArgs) Handles picsongtrack.MouseUp tmrsongtrack.Interval = 200 End Sub + + Private Sub lblintro_Click(sender As Object, e As EventArgs) Handles lblintro.Click + + End Sub End Class \ No newline at end of file diff --git a/ShiftOS/Colour Picker.vb b/ShiftOS/Colour Picker.vb index 238b719..78865e3 100644 --- a/ShiftOS/Colour Picker.vb +++ b/ShiftOS/Colour Picker.vb @@ -21,6 +21,8 @@ Public redlevel As Integer Public pinklevel As Integer + Public sendToMod = False ' If true will output the rgb value for use of mod + #Region "Template Code" Private Sub Template_Load(sender As Object, e As EventArgs) Handles MyBase.Load @@ -1648,6 +1650,12 @@ End Sub Private Sub pnlnewcolour_Click(sender As Object, e As EventArgs) Handles pnlnewcolour.Click + If sendToMod = True Then + If Not My.Computer.FileSystem.DirectoryExists(NewAPI.modOutputPath) Then My.Computer.FileSystem.CreateDirectory(NewAPI.modOutputPath) + Dim sw As System.IO.StreamWriter = New IO.StreamWriter(NewAPI.modOutputPath & "\givecolour.srip") ' ShiftOS Request/Receive* Information Protocol (SRIP) *Depends on the direction + sw.WriteLine(pnlnewcolour.BackColor.ToArgb()) + sw.Close() + End If Select Case colourtochange Case "Username Text Color" Shifter.usernametextcolor = pnlnewcolour.BackColor @@ -1906,10 +1914,6 @@ Case "OrcWrite highlight text colour dono" OrcWrite.Button7.BackColor = pnlnewcolour.BackColor OrcWrite.RichTextBox1.SelectionBackColor = pnlnewcolour.BackColor - Case "mod dono" - 'Dim sw As New System.IO.StreamWriter(NewAPI.varpath & "\colourpickeroutput") - 'sw.WriteLine(pnlnewcolour.BackColor.ToArgb) - 'sw.Close() Case "artpallet1" : ArtPad.colourpallet1.BackColor = pnlnewcolour.BackColor Case "artpallet2" : ArtPad.colourpallet2.BackColor = pnlnewcolour.BackColor Case "artpallet3" : ArtPad.colourpallet3.BackColor = pnlnewcolour.BackColor diff --git a/ShiftOS/File Skimmer.vb b/ShiftOS/File Skimmer.vb index 0cc9085..b3756c1 100644 --- a/ShiftOS/File Skimmer.vb +++ b/ShiftOS/File Skimmer.vb @@ -718,6 +718,9 @@ Public Class File_Skimmer infobox.showinfo("Application Not Found", "ShiftOS could not find an application able the open audio files.") End If + ElseIf path Like "*.smf" Then + NewAPI.OpenModFile(path) + ElseIf path Like "*.saa" Then File_Crypt.DecryptFile(path & "\" & path, ShiftOSDesktop.ShiftOSPath + "Shiftum42\Drivers\HDD.dri", ShiftOSDesktop.sSecretKey) Dim sr As StreamReader = New StreamReader(ShiftOSDesktop.ShiftOSPath + "Shiftum42\Drivers\HDD.dri") @@ -810,8 +813,6 @@ Public Class File_Skimmer ElseIf path Like "*.stp" Then Installer.Show() Installer.txtfilepath.Text = (path) - ElseIf path Like "*.smf" Then - NewAPI.UseCode(path) ElseIf path Like "*.trm" Then Terminal.Show() Terminal.runterminalfile(path) diff --git a/ShiftOS/NewAPI.vb b/ShiftOS/NewAPI.vb index 2a5b7fb..a4f13e6 100644 --- a/ShiftOS/NewAPI.vb +++ b/ShiftOS/NewAPI.vb @@ -2,12 +2,48 @@ Private Command As String Private NewModForm As New ModForm + ' This stores the message and title values for the infobox, since they are created with 2 commands. + Dim modInfoMessage As String = "ShiftOS has been modified to create this infobox, use infobox.message = to customise it." + Dim modInfoTitle As String = "Info from Mod, customise it with infobox.title = " + Dim isInfo As Integer = 0 + ' Tells other programs where to place output files + Public modOutputPath As String + Dim modInPath As String - Public Sub UseCode(ByVal Path As String) + Dim WithEvents trmReadModInput As New Timer + + Public Sub ReadModInput(ByVal sender As Object, ByVal e As EventArgs) Handles trmReadModInput.Tick + If My.Computer.FileSystem.FileExists(modInPath) Then + UseCode(modInPath, modOutputPath) + End If + End Sub + + Public Sub OpenModFile(path As String) + ' Mod files are zips containing "config.set" and application files. + My.Computer.FileSystem.DeleteDirectory(ShiftOSDesktop.ShiftOSPath & "\Shiftum42\Temp\ModLoader", FileIO.DeleteDirectoryOption.DeleteAllContents) + My.Computer.FileSystem.CreateDirectory(ShiftOSDesktop.ShiftOSPath & "\Shiftum42\Temp\ModLoader") + + System.IO.Compression.ZipFile.ExtractToDirectory(path, ShiftOSDesktop.ShiftOSPath & "\Shiftum42\Temp\ModLoader") + ' Config contents: line1 = what exe to launch, line2 = path mod with write to, line 3 = folder mod will read from, line4 = connection delay in milliseconds + Dim configdata(3) As String + configdata = System.IO.File.ReadAllLines(ShiftOSDesktop.ShiftOSPath & "\Shiftum42\Temp\ModLoader\config.set") + Try + Process.Start(ShiftOSDesktop.ShiftOSPath & "\Shiftum42\Temp\ModLoader\" & configdata(0)) + modOutputPath = configdata(2) + modInPath = configdata(1) + Catch ex As Exception + infobox.showinfo("Mod Error", "There is an error in the modification's config file. Please contact the developer of you mod. If you are the developer, remember: line1 = what exe to launch, line2 = path mod with write to, line 3 = folder mod will read from, line4 = connection delay in milliseconds") + End Try + trmReadModInput.Interval = configdata(3) + trmReadModInput.Start() + End Sub + + + Public Sub UseCode(ByVal InPath As String, ByVal OutPath As String) Dim sr As System.IO.StreamReader - sr = My.Computer.FileSystem.OpenTextFileReader(Path) - Dim linenum As Integer = IO.File.ReadAllLines(Path).Length + sr = My.Computer.FileSystem.OpenTextFileReader(InPath) + Dim linenum As Integer = IO.File.ReadAllLines(InPath).Length Dim i As Integer = 1 While i <= linenum Command = sr.ReadLine() @@ -15,13 +51,24 @@ i = i + 1 End While sr.Close() + My.Computer.FileSystem.DeleteFile(modInPath) + modOutputPath = OutPath End Sub Private Sub DoCommandAPI() - If Command Like "infobox = *" Then + If Command Like "infobox.title = *" Then Try - Dim Message As String = Command.Substring(10) - infobox.showinfo("Message from a ShiftOS Mod Files", Message) + Dim title As String = Command.Substring(16) + modInfoTitle = title + isInfo = isInfo + 1 + Catch ex As Exception + infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") + End Try + ElseIf Command Like "infobox.message = *" Then + Try + Dim Message As String = Command.Substring(18) + modInfoMessage = Message + isInfo = isInfo + 1 Catch ex As Exception infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") End Try @@ -39,42 +86,19 @@ Catch ex As Exception infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") End Try - ElseIf Command Like "window.create" Then + ElseIf Command Like "getcolour.title = *" Then Try - NewModForm.Show() - Catch ex As Exception - infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") - End Try - ElseIf Command Like "label.create = *" Then - Try - NewModForm.CreateLabel(Command.Substring(15)) - Catch ex As Exception - infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") - End Try - ElseIf Command Like "label.select = *" Then - Try - NewModForm.SelectLabel(Command.Substring(15)) - Catch ex As Exception - infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") - End Try - ElseIf Command Like "SelectedLabel.Location.X = *" Then - Try - NewModForm.MoveSelectedLabelLocationX(Command.Substring(27)) - Catch ex As Exception - infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") - End Try - ElseIf Command Like "SelectedLabel.Location.Y = *" Then - Try - NewModForm.MoveSelectedLabelLocationY(Command.Substring(27)) - Catch ex As Exception - infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") - End Try - ElseIf Command Like "SelectedLabel.Text = *" Then - Try - NewModForm.SelectedLabelText(Command.Substring(21)) + Dim title As String = Command.Substring(18) + Colour_Picker.colourtochange = title + Colour_Picker.Show() + Colour_Picker.sendToMod = True Catch ex As Exception infobox.showinfo("Critical Modification Application Error", "A critical error occured whilst trying to add to your codepoint value - please contact the developer of your mod") End Try End If + If isInfo > 2 Then + infobox.showinfo(modInfoTitle, modInfoMessage) + isInfo = 0 + End If End Sub End Module