aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS
diff options
context:
space:
mode:
authorwilliam1008 <[email protected]>2015-03-23 12:57:33 +1300
committerwilliam1008 <[email protected]>2015-03-23 12:57:33 +1300
commit965207dac55e9e1cfbfcab7d229eca417d41d118 (patch)
treecfdb8c1f32e5acf59ce22e665dab9e3d44eade6c /ShiftOS
parenta276b027fb14540aaae66b1e0f42706174b77938 (diff)
downloadshiftos-pr/18.tar.gz
shiftos-pr/18.tar.bz2
shiftos-pr/18.zip
Mod workpr/18
Improved SRIP mod communication system and tested with mod, will soon release mod template files and documentation. Currently only has 4 commands, please add more. This is a starter.
Diffstat (limited to 'ShiftOS')
-rw-r--r--ShiftOS/Audio Player.Designer.vb4
-rw-r--r--ShiftOS/Audio Player.vb4
-rw-r--r--ShiftOS/Colour Picker.vb12
-rw-r--r--ShiftOS/File Skimmer.vb5
-rw-r--r--ShiftOS/NewAPI.vb100
5 files changed, 79 insertions, 46 deletions
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 = <your message> to customise it."
+ Dim modInfoTitle As String = "Info from Mod, customise it with infobox.title = <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
- 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
+ ElseIf Command Like "getcolour.title = *" 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