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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
|
Imports System.IO
Public Class Terminal
Public command As String
Public DefaultPrompt As String
Public TrackPos As Integer
Public AdvancedCommand As Boolean
Public BadCommand As Boolean
Public DisplayStory As Integer
Public StoryToTell As String
Private Sub Terminal_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FormBorderStyle = FormBorderStyle.None
WindowState = FormWindowState.Maximized
If Strings.IsFree = True Then
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 0
PrintPrompt()
AssignPrompt()
Else
If Strings.ComputerInfo(3) = "0" Then
TextBox1.ReadOnly = True
StoryOnlyTimer.Start()
Else
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 0
PrintPrompt()
AssignPrompt()
End If
End If
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub
Public Sub PrintPrompt()
If TextBox1.Text = Nothing Then
If Strings.OnceInfo(0) = "Yes" Then
TextBox1.Text = "root@" & Strings.ComputerInfo(0) & " #> "
Else
TextBox1.Text = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
Else
If Strings.OnceInfo(0) = "Yes" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "root@" & Strings.ComputerInfo(0) & " #> "
Else
TextBox1.Text = TextBox1.Text & Environment.NewLine & Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
End If
End Sub
Public Sub AssignPrompt()
If Strings.OnceInfo(0) = "Yes" Then
DefaultPrompt = "root@" & Strings.ComputerInfo(0) & " #> "
Else
DefaultPrompt = Strings.ComputerInfo(1) & "@" & Strings.ComputerInfo(0) & " $> "
End If
End Sub
Private Sub Undeveloped()
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Oopsie! It's only for newer version"
End Sub
Private Sub ReadCommand()
command = TextBox1.Lines(TextBox1.Lines.Length - 1)
command = command.Replace(DefaultPrompt, "")
command = command.ToLower()
End Sub
Private Sub DoCommand()
AdvancedCommand = True
BadCommand = True
Select Case command
Case ""
AdvancedCommand = False
BadCommand = False
Case "clear"
If Strings.AvailableFeature(1) = "1" Then
TextBox1.Text = Nothing
AdvancedCommand = False
BadCommand = False
End If
Case "codepoint"
TextBox1.Text = TextBox1.Text & Environment.NewLine & Strings.ComputerInfo(2) & " Codepoint(s) available in your wallet"
AdvancedCommand = False
BadCommand = False
Case "guess"
'AppHost("gtn")
Undeveloped()
Case "gimme"
Dim TempCP As Integer = Convert.ToInt32(Strings.ComputerInfo(2))
TempCP = TempCP + 50
Strings.ComputerInfo(2) = Convert.ToString(TempCP)
TextBox1.Text = TextBox1.Text & Environment.NewLine & "you cheater!"
Case "help"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual" & Environment.NewLine & Environment.NewLine & "You can type 'help' to get all available commands and its corresponding action."
If Strings.AvailableFeature(0) = 1 Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "To get help on each command, you can type 'man [command]'" & Environment.NewLine
Else
TextBox1.Text = TextBox1.Text & Environment.NewLine
End If
If Strings.AvailableFeature(1) = 1 Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "CLEAR Clear the terminal"
End If
TextBox1.Text = TextBox1.Text & Environment.NewLine & "CODEPOINT Display Codepoint(s) from your wallet"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "HELP Shows all commands available and its corresponding action"
If Strings.AvailableFeature(0) = 1 Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "MAN Shows a command, its corresponding action, and its example usage"
End If
TextBox1.Text = TextBox1.Text & Environment.NewLine & "SHIFTORIUM Terminate ShiftOS session"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "SHUTDOWN Terminate ShiftOS session"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "SU Runs terminal as super user"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "VER Printing current version of ShiftOS TheRevival"
TextBox1.Text = TextBox1.Text & Environment.NewLine
AdvancedCommand = False
BadCommand = False
Case "su"
If Strings.OnceInfo(0) = "Yes" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "You already in root mode!"
Else
Strings.OnceInfo(0) = "Yes"
AssignPrompt()
End If
AdvancedCommand = False
BadCommand = False
Case "shutdown", "shut down"
ShiftOSMenu.Show()
Close()
Case "ver"
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS TheRevival version 0.1.1"
AdvancedCommand = False
BadCommand = False
End Select
If AdvancedCommand = True Then
If command Like "man *" Then
If Strings.AvailableFeature(0) = "1" Then
'MAN command starts with this kinda format
'ShiftOS Help Manual
'
''command' Usage: [switch/value if needed]
'
'Summary of the command's action
'
'Example usage : command
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual" & Environment.NewLine
'TextBox1.Text = TextBox1.Text & Environment.NewLine & command.Substring(4)
Dim mancommand As String = command.Replace("man ", "")
Dim TempUsage As String = "'" & mancommand & "' Usage: "
Select Case mancommand
Case "clear"
TempUsage = TempUsage & "clear"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Clears all contents of the terminal" & Environment.NewLine
BadCommand = False
Case "codepoint"
TempUsage = TempUsage & "codepoint"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows the value of codepoint in your wallet" & Environment.NewLine
BadCommand = False
Case "help"
TempUsage = TempUsage & "help"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows all commands available in the terminal and its brief explanation of action" & Environment.NewLine
BadCommand = False
Case "man"
TempUsage = TempUsage & "man [command]"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Shows up a manual on each corresponding command and its example of action" & Environment.NewLine & Environment.NewLine & "[COMMAND] Any command that you want to get the manual for" & Environment.NewLine & Environment.NewLine & "Example: man help"
BadCommand = False
Case "shutdown"
TempUsage = TempUsage & "shutdown"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Terminate ShiftOS session" & Environment.NewLine
BadCommand = False
Case "ver"
TempUsage = TempUsage & "ver"
TextBox1.Text = TextBox1.Text & TempUsage & Environment.NewLine & Environment.NewLine & "Displays current version of ShiftOS TheRevival" & Environment.NewLine
BadCommand = False
Case Else
TextBox1.Text = TextBox1.Text & Environment.NewLine & "MAN : Invalid command"
End Select
End If
End If
If command Like "shiftorium *" Then
Dim prompt As String = command.Replace("shiftorium ", "")
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium ShiftOS Center"
If prompt Like "info *" Then
prompt = command.Replace("shiftorium info ", "")
'ManHeader is for the ShiftOS Help Manual header and the 'Cost' footer, kinda like template-ish
Dim ManHeader(1) As String
'ManHeader(0) = Insert any feature here for the Case prompt
ManHeader(1) = "Cost: "
Select Case prompt
Case "man"
ManHeader(0) = "ShiftOS Help Manual (command: man)"
ManHeader(1) = "20 CP"
TextBox1.Text = TextBox1.Text & Environment.NewLine & ManHeader(0) & Environment.NewLine & Environment.NewLine & "Shows up any further help instruction on each command, its corresponding action and its example if necessary" & Environment.NewLine & Environment.NewLine & ManHeader(1)
BadCommand = False
Case "clear"
ManHeader(0) = "Clear Terminal Screen (command: clear)"
ManHeader(1) = "25 CP"
TextBox1.Text = TextBox1.Text & Environment.NewLine & ManHeader(0) & Environment.NewLine & Environment.NewLine & "Clears the terminal screen" & Environment.NewLine & Environment.NewLine & ManHeader(1)
BadCommand = False
Case Else
BadCommand = False
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium: Bad command or not available"
End Select
End If
If prompt Like "install *" Then
prompt = command.Replace("shiftorium install ", "")
Select Case prompt
Case "man"
InstallFeature(True, "man", 20)
BadCommand = False
Case "clear"
InstallFeature(True, "clear", 25)
BadCommand = False
Case Else
BadCommand = False
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium: Bad command or not available"
End Select
End If
If prompt = "list" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Shiftorium Available Feature(s)" & Environment.NewLine
If Strings.AvailableFeature(0) = "0" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "ShiftOS Help Manual (20 CP)"
End If
If Strings.AvailableFeature(1) = "0" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Clear Terminal Screen (25 CP)"
End If
BadCommand = False
End If
End If
If command Like "print *" Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & command.Substring(6)
Dim printed As String = command.Replace("print ", "")
''It has the same issue, only displays in lowercase
'TextBox1.Text = TextBox1.Text & Environment.NewLine & printed
BadCommand = False
End If
AdvancedCommand = False
End If
If BadCommand = True Then
TextBox1.Text = TextBox1.Text & Environment.NewLine & "Bad command or wrong file name"
End If
End Sub
Private Sub txtterm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.T AndAlso e.Control Then
Me.Hide()
e.SuppressKeyPress = True
End If
Select Case e.KeyCode
Case Keys.ShiftKey
TrackPos = TrackPos - 1
Case Keys.Alt
TrackPos = TrackPos - 1
Case Keys.CapsLock
TrackPos = TrackPos - 1
Case Keys.ControlKey
TrackPos = TrackPos - 1
Case Keys.LWin
TrackPos = TrackPos - 1
Case Keys.RWin
TrackPos = TrackPos - 1
Case Keys.Right
If TextBox1.SelectionStart = TextBox1.TextLength Then
TrackPos = TrackPos - 1
End If
Case Keys.Left
If TrackPos < 1 Then
e.SuppressKeyPress = True
TrackPos = TrackPos - 1
Else
TrackPos = TrackPos - 2
End If
Case Keys.Up
e.SuppressKeyPress = True
TrackPos = TrackPos - 1
Case Keys.Down
e.SuppressKeyPress = True
TrackPos = TrackPos - 1
End Select
If e.KeyCode = Keys.Enter Then
e.SuppressKeyPress = True
ReadCommand()
DoCommand()
If command = "clear" Then
PrintPrompt()
TextBox1.Select(TextBox1.Text.Length, 0)
Else
PrintPrompt()
TextBox1.Select(TextBox1.Text.Length, 0)
End If
TrackPos = 0
Else
If e.KeyCode = Keys.Back Then
Else
TrackPos = TrackPos + 1
End If
End If
If e.KeyCode = Keys.Back Then
If TrackPos < 1 Then
e.SuppressKeyPress = True
Else
If TextBox1.SelectedText.Length < 1 Then
TrackPos = TrackPos - 1
Else
e.SuppressKeyPress = True
End If
End If
End If
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub
Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click, TextBox1.MouseDoubleClick
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub
Private Sub StoryOnlyTimer_Tick(sender As Object, e As EventArgs) Handles StoryOnlyTimer.Tick
Select Case Strings.ComputerInfo(3)
Case "0"
Select Case DisplayStory
Case 5
TextBox1.Text = "Connected to <null>"
Case 25
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: Hey there, Unknown user!"
Case 40
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: You have been selected for an unvolentary test on my experimental operating system, ShiftOS"
Case 90
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: ShiftOS is an operating system that purposes itself to evolve itself as the time progresses"
Case 140
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: I will add features into the operating system as you use it"
Case 170
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: Currently ShiftOS didn't have that much function aside from a command line with little command"
Case 190
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: I'll install ShiftOS now on your system"
Case 215
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null>: I will come back and contact you later on when the time is necessary, see you!"
Case 250
TextBox1.Text = TextBox1.Text & Environment.NewLine & "<null> Disconnected"
Case 275
TextBox1.Text = "Installing ShiftOS..."
Case 350
TextBox1.Text = "ShiftOS Installed, The computer will restart in a few seconds"
Case 400
TextBox1.Text = Nothing
TextBox1.ReadOnly = False
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
Strings.ComputerInfo(2) = 0
PrintPrompt()
AssignPrompt()
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Select
End Select
DisplayStory = DisplayStory + 1
End Sub
End Class
|