Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
118
rylCoder_16.02.2008_src/helperForms/frmOptions.vb
Normal file
118
rylCoder_16.02.2008_src/helperForms/frmOptions.vb
Normal file
@@ -0,0 +1,118 @@
|
||||
Imports System
|
||||
Imports Microsoft.Win32
|
||||
Imports System.Windows.Forms
|
||||
Imports System.Reflection
|
||||
|
||||
Public Class frmOptions
|
||||
|
||||
Private Sub frmOptions_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
|
||||
Me.txtRylFolder.Text = frmNpcEdit.RylGameDir
|
||||
|
||||
Me.chkFileTypeMcf.Checked = isAccotiated(".mcf")
|
||||
Me.chkFileTypeGsf.Checked = isAccotiated(".gsf")
|
||||
Me.chkFileTypeSkey.Checked = isAccotiated(".skey")
|
||||
Me.chkFileTypeGcmds.Checked = isAccotiated(".gcmds")
|
||||
End Sub
|
||||
|
||||
Private Function fileTypeOpener(ByVal extension As String) As String
|
||||
Dim classes As RegistryKey = Registry.ClassesRoot
|
||||
Dim extK As RegistryKey = classes.OpenSubKey(extension, False)
|
||||
If Not extK Is Nothing Then
|
||||
Dim extV As String = extK.GetValue("", "").ToString()
|
||||
If extV <> "" Then
|
||||
Dim ext2K As RegistryKey = classes.OpenSubKey(extV & "\\shell\\open\\command", False)
|
||||
If Not ext2K Is Nothing Then
|
||||
Return ext2K.GetValue("", "").ToString()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Return ""
|
||||
End Function
|
||||
Private Sub setFileTypeOpener(ByVal extension As String, ByVal path As String)
|
||||
Dim classes As RegistryKey = Registry.ClassesRoot
|
||||
Dim shellKeyName As String = extension.Substring(1) & "_auto_file"
|
||||
Dim extK As RegistryKey = classes.CreateSubKey(extension)
|
||||
extK.SetValue("", shellKeyName)
|
||||
Dim a1 As RegistryKey = classes.CreateSubKey(shellKeyName)
|
||||
Dim a2 As RegistryKey = a1.CreateSubKey("shell")
|
||||
Dim a3 As RegistryKey = a2.CreateSubKey("open")
|
||||
Dim a4 As RegistryKey = a3.CreateSubKey("command")
|
||||
a4.SetValue("", """" & path & """ ""%1""")
|
||||
Dim a5 As RegistryKey = a1.CreateSubKey("DefaultIcon")
|
||||
a5.SetValue("", """" & path & """, 0")
|
||||
End Sub
|
||||
Private Sub deleteFileTypeOpener(ByVal extension As String)
|
||||
Dim classes As RegistryKey = Registry.ClassesRoot
|
||||
Dim extK As RegistryKey = classes.OpenSubKey(extension, False)
|
||||
If Not extK Is Nothing Then
|
||||
Dim extV As String = extK.GetValue("", "").ToString()
|
||||
If extV <> "" Then
|
||||
Try
|
||||
classes.DeleteSubKeyTree(extV)
|
||||
Catch ex As ArgumentException
|
||||
End Try
|
||||
End If
|
||||
classes.DeleteSubKeyTree(extension)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Function isAccotiated(ByVal extension As String) As Boolean
|
||||
Dim app As String = Assembly.GetEntryAssembly().CodeBase.ToLower().Substring("file:///".Length).Replace("/", "\")
|
||||
Dim exec As String = fileTypeOpener(extension).Replace("/", "\")
|
||||
Return exec.ToLower().Contains(app)
|
||||
End Function
|
||||
|
||||
Private Sub btnSetRylFolder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetRylFolder.Click
|
||||
If Not IO.Directory.Exists(Me.txtRylFolder.Text) Then
|
||||
MsgBox("Directory doesnt exist", MsgBoxStyle.Exclamation, "rylCoder")
|
||||
Exit Sub
|
||||
End If
|
||||
Try
|
||||
AddMath.setRylFolder(Me.txtRylFolder.Text)
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message, MsgBoxStyle.Critical, "Can't set folder")
|
||||
Exit Sub
|
||||
End Try
|
||||
frmNpcEdit.RylGameDir = AddMath.getRylFolder()
|
||||
End Sub
|
||||
|
||||
Private Sub manageExtensionOpener(ByVal extension As String, ByVal isChecked As Boolean)
|
||||
Dim app As String = Assembly.GetEntryAssembly().CodeBase.ToLower().Substring("file:///".Length).Replace("/", "\")
|
||||
Try
|
||||
If isChecked AndAlso Not isAccotiated(extension) Then
|
||||
Try
|
||||
setFileTypeOpener(extension, app)
|
||||
Catch ex2 As Exception
|
||||
Try
|
||||
deleteFileTypeOpener(extension)
|
||||
setFileTypeOpener(extension, app)
|
||||
Catch ex3 As Exception
|
||||
MsgBox(ex3.Message, MsgBoxStyle.Exclamation, "Cant set the extension opener for .mcf")
|
||||
End Try
|
||||
End Try
|
||||
ElseIf Not isChecked AndAlso isAccotiated(extension) Then
|
||||
deleteFileTypeOpener(extension)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
Private Sub btnSetFileTypes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSetFileTypes.Click
|
||||
manageExtensionOpener(".mcf", Me.chkFileTypeMcf.Checked)
|
||||
manageExtensionOpener(".gsf", Me.chkFileTypeGsf.Checked)
|
||||
manageExtensionOpener(".skey", Me.chkFileTypeSkey.Checked)
|
||||
manageExtensionOpener(".gcmds", Me.chkFileTypeGcmds.Checked)
|
||||
|
||||
Me.chkFileTypeMcf.Checked = isAccotiated(".mcf")
|
||||
Me.chkFileTypeGsf.Checked = isAccotiated(".gsf")
|
||||
Me.chkFileTypeSkey.Checked = isAccotiated(".skey")
|
||||
Me.chkFileTypeGcmds.Checked = isAccotiated(".gcmds")
|
||||
End Sub
|
||||
|
||||
Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
|
||||
dlgBrowse.SelectedPath = txtRylFolder.Text
|
||||
If dlgBrowse.ShowDialog() = Windows.Forms.DialogResult.OK Then
|
||||
txtRylFolder.Text = dlgBrowse.SelectedPath
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user