summaryrefslogtreecommitdiff
path: root/shiftos_next/APIs/API.vb
blob: d3a70fe6208c4865f5abf557f8cf415f32c16902 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
Module API
    'Terminal

    Public debugmode As Boolean = False 'If this boolean value is set to True, any exceptions will be shown, rather than supressed.
    Public txtterm As TextBox = Terminal.terminaltext

    Public Function SetColorbasic(colorname As String)
        Dim element As Color
        Select Case colorname
            Case "black"
                AddLine("Error! Black and black don't go too well...")
            Case "white"
                element = Color.White
            Case "gray"
                If boughtgray Then
                    element = Color.Gray
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "red"
                If boughtred Then
                    element = Color.Red
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "green"
                If boughtgreen Then
                    element = Color.Green
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "blue"
                If boughtblue Then
                    element = Color.Blue
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "yellow"
                If boughtyellow Then
                    element = Color.Yellow
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "orange"
                If boughtorange Then
                    element = Color.Orange
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "pink"
                If boughtpink Then
                    element = Color.Pink
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "purple"
                If boughtpurple Then
                    element = Color.Purple
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case "brown"
                If boughtbrown Then
                    element = Color.Brown
                Else
                    AddLine("Error! Unsupported color.")
                End If
            Case Else
                AddLine("Error! Unsupported color, check 'colors' for a list of supported colors.")
        End Select
        Return element
    End Function

    Public Sub OpenProgram(progtoopen As String)
        Select Case progtoopen
            Case "shiftorium", "packages", "pacman", "code shop"
                shiftorium_cmd.Show()
            Case "files", "fileskimmer", "file skimmer", "fs", "file browser"
                If boughtfileskimmer = True Then
                    file_skimmer.Show()
                Else
                    AddLine("open: Invalid program """ & progtoopen & """.")
                End If
            Case "textpad", "text", "notepad"
                If boughttextpad = True Then
                    TextPad.Show()
                Else
                    AddLine("open: Invalid program """ & progtoopen & """.")
                End If
            Case Else
                AddLine("open: Invalid program """ & progtoopen & """.")
        End Select
    End Sub

    Public Sub closeprogram(progtoclose As String)
        Select Case progtoclose
            Case "shiftorium", "packages", "pacman", "code shop"
                shiftorium_cmd.Hide()
            Case "files", "fileskimmer", "file skimmer", "fs", "file browser"
                If boughtfileskimmer = True Then
                    file_skimmer.Hide()
                Else
                    AddLine("close: Invalid program """ & progtoclose & """.")
                End If
            Case "textpad", "text", "notepad"
                If boughttextpad = True Then
                    TextPad.Hide()
                Else
                    AddLine("close: Invalid program """ & progtoclose & """.")
                End If

            Case Else
                AddLine("close: Invalid program """ & progtoclose & """.")
        End Select
    End Sub

    Public Sub wrongcommand()
        AddLine("Invalid command! Type ""help"" for a list of commands.")
    End Sub

    Public Sub AddLine(text As String)
        txtterm.Text += vbNewLine + text
        SelectBottom()
    End Sub

    Public Sub openfile(file As String)
        Dim filinfo As New IO.FileInfo(file)
        Select Case filinfo.Extension
            Case ".txt"
                If boughttextpad = True Then
                    Dim sr As New IO.StreamReader(file)
                    TextPad.txtfilebody.Text = sr.ReadToEnd()
                    sr.Close()
                    TextPad.Show()
                Else
                    wrongcommand()
                End If
            Case Else
                wrongcommand()
        End Select
    End Sub


    Public Sub showterminalcolors()
        AddLine(" ==== SUPPORTED TERMINAL COLORS ==== " & vbNewLine)
        AddLine("Below is a list of values that you can specify in <colorname> arguments. Note that only certain colors are supported; and if the video driver can output a color but it isn't on this list, it is not supported by the Terminal display engine." & vbNewLine)
        If boughtgray Then AddLine("gray")
        AddLine("white")
        AddLine("black")
        If boughtred Then AddLine("red")
        If boughtgreen Then AddLine("green")
        If boughtblue Then AddLine("blue")
        If boughtyellow Then AddLine("yellow")
        If boughtorange Then AddLine("orange")
        If boughtpink Then AddLine("pink")
        If boughtpurple Then AddLine("purple")
        If boughtbrown Then AddLine("brown")
    End Sub

    Public Sub ShowHelp()
        AddLine("ShiftOS Help" & vbNewLine)
        AddLine("Usage tips: " & vbNewLine)
        AddLine(" - The terminal runs in full-screen.")
        If boughttextpad = True Then AddLine(" - Typing the path to a text file will open it in Textpad.")
        AddLine(" - There are no window managers or desktop environments.")
        If boughtbasicgui = True Then
            AddLine(" - Applications can use the GUI server to display a proper GUI.")
        Else
            AddLine(" - Applications are fully text-based.")
        End If
        AddLine(" - Terminal commands are case-insensitive." & vbNewLine)
        AddLine("Commands: " & vbNewLine)
        If boughtdirectorysurfing Then
            AddLine(" - cd: Change to the specified directory.")
            AddLine(" - mkdir: Create a directory inside the current directory (marked before the %)")
            AddLine(" - ls, dir: View the contents of the current directory.")
        End If
        If boughtbasicsettings Then
            AddLine(" - set <setting> <value>: Change some minimal settings in ShiftOS.")
            If boughtcustomusername Then
                AddLine("   Settings: ")
                AddLine("   username <string>: Set the username of the OS.")
            End If
            If boughtterminalsettextcolor = True Then
                AddLine("   textcolor <colorname>: Set the terminal text color.")
            End If
        End If
        AddLine(" - codepoints: Shows the current amount of codepoints.")
        AddLine(" - shutdown: Shuts the system down.")
        AddLine(" - colors: Shows the colors supported by both the Terminal display engine, and the video driver.")
        AddLine(" - help: Shows this screen." & vbNewLine)
        AddLine("Installed Programs:" & vbNewLine)
        AddLine("Below is a list of all the programs on your computer, followed by what they do. You can open one by typing ""open <name>""." & vbNewLine)
        AddLine(" - shiftorium: Upgrade the OS with Codepoints using this application.")
        If boughtfileskimmer Then AddLine(" - file skimmer: A handy little file browser.")
        If boughttextpad Then AddLine(" - textpad: An application that allows for creating and editing text files.")
        AddLine(" - MathQuiz: Earn Codepoints by solving math questions.")
        AddLine(" - Guess the Number: Earn Codepoints by guessing a random number between 1 and 100.")
    End Sub

    Public Sub SelectBottom()
        txtterm.Select(txtterm.Text.Length, 0)
        txtterm.ScrollToCaret()
    End Sub

End Module