aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS-TheRevival/MainForms/Terminal.vb
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS-TheRevival/MainForms/Terminal.vb')
-rw-r--r--ShiftOS-TheRevival/MainForms/Terminal.vb203
1 files changed, 128 insertions, 75 deletions
diff --git a/ShiftOS-TheRevival/MainForms/Terminal.vb b/ShiftOS-TheRevival/MainForms/Terminal.vb
index 8370f9a..ac7d521 100644
--- a/ShiftOS-TheRevival/MainForms/Terminal.vb
+++ b/ShiftOS-TheRevival/MainForms/Terminal.vb
@@ -13,6 +13,8 @@ Public Class Terminal
Public CurrentDirectory As String
Public Pseudodir As String
Public StayAtChapter As Boolean = False
+ Public ToolBarUse As Boolean = False
+ Public ReleaseCursor As Boolean = False
Private Sub Terminal_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FormBorderStyle = FormBorderStyle.None
@@ -34,6 +36,7 @@ Public Class Terminal
If StayAtChapter = True Then
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
+ LoadGame()
CheckFeature()
PrintPrompt()
AssignPrompt()
@@ -45,6 +48,7 @@ Public Class Terminal
Else
Strings.ComputerInfo(0) = "shiftos"
Strings.ComputerInfo(1) = "user"
+ LoadGame()
CheckFeature()
PrintPrompt()
AssignPrompt()
@@ -59,16 +63,36 @@ Public Class Terminal
Public Sub CheckFeature()
If Strings.AvailableFeature(4) = "1" Then
- If Strings.OnceInfo(2) = "True" Then
- InfoBarTimer.Start()
- TextBox1.Dock = DockStyle.None
- InfoBar.Visible = True
- InfoBar.SendToBack()
- TextBox1.Dock = DockStyle.Fill
+ If ToolBarUse = True Then
+ If Strings.OnceInfo(2) = "True" Then
+ InfoBarTimer.Start()
+ TextBox1.Dock = DockStyle.None
+ ToolBar.Visible = True
+ ToolBar.SendToBack()
+ InfoBar.Visible = True
+ InfoBar.SendToBack()
+ TextBox1.Dock = DockStyle.Fill
+ Else
+ TextBox1.Dock = DockStyle.None
+ InfoBar.Visible = False
+ ToolBar.Visible = True
+ ToolBar.SendToBack()
+ TextBox1.Dock = DockStyle.Fill
+ End If
Else
- TextBox1.Dock = DockStyle.None
- InfoBar.Visible = False
- TextBox1.Dock = DockStyle.Fill
+ If Strings.OnceInfo(2) = "True" Then
+ InfoBarTimer.Start()
+ TextBox1.Dock = DockStyle.None
+ InfoBar.Visible = True
+ InfoBar.SendToBack()
+ ToolBar.Visible = False
+ TextBox1.Dock = DockStyle.Fill
+ Else
+ TextBox1.Dock = DockStyle.None
+ InfoBar.Visible = False
+ ToolBar.Visible = False
+ TextBox1.Dock = DockStyle.Fill
+ End If
End If
Else
TextBox1.Dock = DockStyle.None
@@ -117,7 +141,10 @@ Public Class Terminal
Private Sub ReadCommand()
command = TextBox1.Lines(TextBox1.Lines.Length - 1)
- command = command.Replace(DefaultPrompt, "")
+ If DefaultPrompt = Nothing Then
+ Else
+ command = command.Replace(DefaultPrompt, "")
+ End If
command = command.ToLower()
End Sub
@@ -131,7 +158,7 @@ Public Class Terminal
Case "bc"
If Strings.AvailableFeature(9) = "1" Then
ChangeInterpreter = True
- AppHost("bc")
+ AppHost("bc", False)
AdvancedCommand = False
BadCommand = False
End If
@@ -155,7 +182,7 @@ Public Class Terminal
BadCommand = False
Case "guess"
ChangeInterpreter = True
- AppHost("guess")
+ AppHost("guess", False)
AdvancedCommand = False
BadCommand = False
'Undeveloped()
@@ -215,7 +242,10 @@ Public Class Terminal
AdvancedCommand = False
BadCommand = False
Case "textpad"
-
+ ChangeInterpreter = True
+ AppHost("textpad", True)
+ AdvancedCommand = False
+ BadCommand = False
Case "reboot"
TextBox1.Text = Nothing
AdvancedCommand = False
@@ -261,6 +291,9 @@ Public Class Terminal
BadCommand = False
Undeveloped()
Case "shutdown", "shut down"
+ If Strings.OnceInfo(6) = "story" Then
+ SaveGame()
+ End If
Cursor.Show()
ShiftOSMenu.Show()
Close()
@@ -459,6 +492,8 @@ Public Class Terminal
End Sub
Private Sub txtterm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
+
+
Select Case e.KeyData
Case (Keys.Control + Keys.Q)
If CurrentInterpreter = "terminal" Then
@@ -476,84 +511,102 @@ Public Class Terminal
' TerminateApp()
' End If
'End Select
- 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
+ If ReleaseCursor = True Then
+
+ Else
+ If ReleaseCursor = True Then
+
+ Else
+ 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.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
+ End If
+ Select Case e.KeyCode
+ Case Keys.LWin
TrackPos = TrackPos - 1
- End If
- Case Keys.Left
- If TrackPos < 1 Then
- e.SuppressKeyPress = True
+ Case Keys.RWin
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
+ End Select
- If e.KeyCode = Keys.Enter Then
- e.SuppressKeyPress = True
- If TextBox1.ReadOnly = True Then
+ If e.KeyCode = Keys.Enter Then
+ e.SuppressKeyPress = True
+ If TextBox1.ReadOnly = True Then
- Else
- ReadCommand()
- If ChangeInterpreter = True Then
- DoChildCommand()
- PrintPrompt()
- TextBox1.Select(TextBox1.Text.Length, 0)
Else
- DoCommand()
- PrintPrompt()
- TextBox1.Select(TextBox1.Text.Length, 0)
+ ReadCommand()
+ If ChangeInterpreter = True Then
+ DoChildCommand()
+ PrintPrompt()
+ TextBox1.Select(TextBox1.Text.Length, 0)
+ Else
+ DoCommand()
+ PrintPrompt()
+ TextBox1.Select(TextBox1.Text.Length, 0)
+ End If
End If
- End If
- 'If command = "clear" Then
- ' PrintPrompt()
- ' TextBox1.Select(TextBox1.Text.Length, 0)
+ 'If command = "clear" Then
+ ' PrintPrompt()
+ ' TextBox1.Select(TextBox1.Text.Length, 0)
- 'Else
- ' PrintPrompt()
- ' TextBox1.Select(TextBox1.Text.Length, 0)
- 'End If
+ 'Else
+ ' PrintPrompt()
+ ' TextBox1.Select(TextBox1.Text.Length, 0)
+ 'End If
- TrackPos = 0
- Else
- If e.KeyCode = Keys.Back Then
+ TrackPos = 0
Else
- TrackPos = TrackPos + 1
+ If ReleaseCursor = True Then
+
+ Else
+ If e.KeyCode = Keys.Back Then
+ Else
+ TrackPos = TrackPos + 1
+ End If
+ End If
End If
- End If
- If e.KeyCode = Keys.Back Then
- If TrackPos < 1 Then
- e.SuppressKeyPress = True
+ If ReleaseCursor = True Then
+
Else
- If TextBox1.SelectedText.Length < 1 Then
- TrackPos = TrackPos - 1
- Else
- e.SuppressKeyPress = True
+ 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
End If
- End If
+ End If
TextBox1.Select(TextBox1.TextLength, 0)
TextBox1.ScrollToCaret()
End Sub