Current News Archived News Search News Discussion Forum Old Forum Install Programs More Downloads... Troubleshooting Source Code Format Specs. Misc. Information Non-SF Stuff Links Small banner for links to this site: |
diff --git a/Options.frm b/Options.frm
--- a/Options.frm
+++ b/Options.frm
-VERSION 4.00
-Begin VB.Form Options
- BorderStyle = 3 'Fixed Dialog
- Caption = "Options"
- ClientHeight = 4695
- ClientLeft = 1665
- ClientTop = 2085
- ClientWidth = 5415
- Height = 5100
- Icon = "Options.frx":0000
- KeyPreview = -1 'True
- Left = 1605
- LinkTopic = "Form1"
- MaxButton = 0 'False
- MinButton = 0 'False
- ScaleHeight = 4695
- ScaleWidth = 5415
- ShowInTaskbar = 0 'False
- Top = 1740
- Width = 5535
- Begin VB.CommandButton Command2
- Caption = "&Cancel"
- Height = 375
- Left = 3120
- TabIndex = 1
- Top = 4200
- Width = 1335
- End
- Begin VB.CommandButton Command1
- Caption = "O&k"
- Height = 375
- Left = 960
- TabIndex = 0
- Top = 4200
- Width = 1335
- End
- Begin VB.PictureBox TabDisps
- BorderStyle = 0 'None
- Height = 3495
- Index = 1
- Left = 240
- ScaleHeight = 3495
- ScaleWidth = 4995
- TabIndex = 35
- TabStop = 0 'False
- Top = 480
- Width = 4995
- Begin VB.TextBox Text5
- Height = 285
- Left = 2280
- MaxLength = 2
- TabIndex = 5
- Text = "3"
- Top = 1200
- Width = 1215
- End
- Begin VB.TextBox Text1
- Height = 285
- Left = 0
- MaxLength = 6
- TabIndex = 3
- Text = "1024"
- Top = 600
- Width = 1215
- End
- Begin VB.TextBox Text2
- Height = 285
- Left = 0
- TabIndex = 4
- Text = "0"
- Top = 1200
- Width = 1215
- End
- Begin VB.CheckBox Check2
- Caption = "&Associate WinMPQ with MPQ Archives"
- Height = 255
- Left = 0
- TabIndex = 6
- Top = 1680
- Value = 2 'Grayed
- Width = 3375
- End
- Begin VB.CheckBox Check4
- Caption = "Use &wildcards in filenames for drag and drop"
- Height = 255
- Left = 0
- TabIndex = 8
- Top = 2400
- Value = 2 'Grayed
- Width = 3735
- End
- Begin VB.CheckBox Check5
- Caption = "Automatically update &modified files"
- Height = 255
- Left = 0
- TabIndex = 7
- Top = 2160
- Value = 2 'Grayed
- Width = 3015
- End
- Begin VB.Label ActualBlockSize
- Caption = "4 KB"
- Height = 255
- Left = 3600
- TabIndex = 56
- Top = 1200
- Width = 1215
- End
- Begin VB.Label Label13
- AutoSize = -1 'True
- Caption = "Block size for new archives (default is 3)"
- Height = 390
- Left = 2280
- TabIndex = 55
- Top = 720
- Width = 2055
- WordWrap = -1 'True
- End
- Begin VB.Label Label1
- AutoSize = -1 'True
- Caption = "Maximum files for new archives: (this cannot be changed for an existing archive)"
- Height = 495
- Left = 0
- TabIndex = 38
- Top = 120
- Width = 4335
- WordWrap = -1 'True
- End
- Begin VB.Label Label2
- AutoSize = -1 'True
- Caption = "Locale ID for adding files"
- Height = 195
- Left = 0
- TabIndex = 37
- Top = 960
- Width = 1755
- End
- Begin VB.Label Label3
- Caption = $"Options.frx":000C
- Height = 855
- Left = 0
- TabIndex = 36
- Top = 2640
- Width = 4935
- End
- End
- Begin VB.PictureBox TabDisps
- BorderStyle = 0 'None
- Height = 3495
- Index = 2
- Left = 240
- ScaleHeight = 3495
- ScaleWidth = 4935
- TabIndex = 41
- TabStop = 0 'False
- Top = 480
- Visible = 0 'False
- Width = 4935
- Begin VB.CommandButton cmdAddFolder
- Caption = "Add &Folder..."
- Height = 375
- Left = 3480
- TabIndex = 11
- Top = 1320
- Width = 1335
- End
- Begin VB.CheckBox Check8
- Caption = "Do not use above lists when one is found by above option"
- Height = 375
- Left = 0
- TabIndex = 14
- Top = 2880
- Value = 2 'Grayed
- Width = 3375
- End
- Begin VB.CheckBox Check7
- Caption = "Use file lists for similarly named archives"
- Height = 195
- Left = 0
- TabIndex = 13
- Top = 2640
- Width = 3375
- End
- Begin VB.CommandButton cmdDelList
- Caption = "&Remove"
- Height = 375
- Left = 3480
- TabIndex = 12
- Top = 1920
- Width = 1335
- End
- Begin VB.ListBox FileLists
- Height = 2205
- Left = 0
- TabIndex = 9
- Top = 360
- Width = 3375
- End
- Begin VB.CommandButton cmdAddList
- Caption = "&Add List File..."
- Height = 375
- Left = 3480
- TabIndex = 10
- Top = 720
- Width = 1335
- End
- Begin VB.Label Label11
- Caption = "Note: Each file list added will increase the load time for archives."
- Height = 255
- Left = 0
- TabIndex = 52
- Top = 3240
- Width = 4815
- End
- Begin VB.Label Label10
- AutoSize = -1 'True
- Caption = "File Lists:"
- Height = 195
- Left = 0
- TabIndex = 51
- Top = 120
- Width = 645
- End
- End
- Begin VB.PictureBox TabDisps
- BorderStyle = 0 'None
- Height = 3495
- Index = 5
- Left = 240
- ScaleHeight = 3495
- ScaleWidth = 4935
- TabIndex = 39
- TabStop = 0 'False
- Top = 480
- Visible = 0 'False
- Width = 4935
- Begin VB.CommandButton Command4
- Caption = "&Reset size/position"
- Height = 375
- Left = 360
- TabIndex = 17
- Top = 840
- Width = 1695
- End
- Begin VB.CheckBox Check3
- Caption = "Display &confirmation boxes"
- Height = 255
- Left = 0
- TabIndex = 15
- Top = 120
- Value = 2 'Grayed
- Width = 2415
- End
- Begin VB.CheckBox Check1
- Caption = "&Save last window size and position"
- Height = 255
- Left = 0
- TabIndex = 16
- Top = 480
- Value = 2 'Grayed
- Width = 3015
- End
- Begin VB.Frame Frame1
- Caption = "Startup Path"
- Height = 1215
- Left = 0
- TabIndex = 40
- Top = 2280
- Width = 4935
- Begin VB.OptionButton Option1
- Caption = "Last &open folder"
- Height = 255
- Index = 0
- Left = 120
- TabIndex = 18
- Top = 240
- Value = -1 'True
- Width = 1575
- End
- Begin VB.OptionButton Option1
- Caption = "A&pplication folder"
- Height = 255
- Index = 1
- Left = 1680
- TabIndex = 19
- Top = 240
- Width = 1695
- End
- Begin VB.OptionButton Option1
- Caption = "&User-defined folder"
- Height = 255
- Index = 2
- Left = 120
- TabIndex = 20
- Top = 480
- Width = 1695
- End
- Begin VB.TextBox Text3
- Enabled = 0 'False
- Height = 285
- Left = 120
- TabIndex = 21
- Top = 840
- Width = 3615
- End
- Begin VB.CommandButton Command5
- Caption = "&Folder..."
- Enabled = 0 'False
- Height = 285
- Left = 3840
- TabIndex = 22
- Top = 840
- Width = 975
- End
- End
- End
- Begin VB.PictureBox TabDisps
- BorderStyle = 0 'None
- Height = 3495
- Index = 4
- Left = 240
- ScaleHeight = 3495
- ScaleWidth = 4935
- TabIndex = 43
- TabStop = 0 'False
- Top = 480
- Visible = 0 'False
- Width = 4935
- Begin VB.ListBox Actions
- Height = 1215
- IntegralHeight = 0 'False
- Left = 3120
- TabIndex = 24
- Top = 2280
- Width = 1815
- End
- Begin MSComctlLib.ListView FileTypes
- Height = 2535
- Left = 0
- TabIndex = 23
- Top = 960
- Width = 3015
- _ExtentX = 5318
- _ExtentY = 4471
- View = 3
- LabelEdit = 1
- Sorted = -1 'True
- MultiSelect = -1 'True
- LabelWrap = -1 'True
- HideSelection = -1 'True
- _Version = 393217
- ForeColor = -2147483640
- BackColor = -2147483643
- BorderStyle = 1
- Appearance = 1
- NumItems = 1
- BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
- Text = "Registered file types:"
- Object.Width = 2540
- EndProperty
- End
- Begin VB.Label Label9
- AutoSize = -1 'True
- Caption = "File extensions:"
- Height = 195
- Left = 3120
- TabIndex = 50
- Top = 960
- Width = 1080
- End
- Begin VB.Label Label7
- AutoSize = -1 'True
- Caption = "Default action:"
- Height = 195
- Left = 3120
- TabIndex = 48
- Top = 2040
- Width = 1035
- End
- Begin VB.Label Label8
- Height = 855
- Left = 3120
- TabIndex = 49
- Top = 1200
- Width = 1755
- End
- Begin VB.Label Label6
- AutoSize = -1 'True
- Caption = $"Options.frx":00F6
- Height = 855
- Left = 0
- TabIndex = 47
- Top = 120
- Width = 4935
- WordWrap = -1 'True
- End
- End
- Begin VB.PictureBox TabDisps
- BorderStyle = 0 'None
- Height = 3495
- Index = 3
- Left = 240
- ScaleHeight = 3495
- ScaleWidth = 4935
- TabIndex = 42
- TabStop = 0 'False
- Top = 480
- Visible = 0 'False
- Width = 4935
- Begin VB.ComboBox Combo3
- Height = 315
- ItemData = "Options.frx":01CE
- Left = 2880
- List = "Options.frx":01F3
- Style = 2 'Dropdown List
- TabIndex = 34
- Top = 3120
- Width = 1815
- End
- Begin VB.ComboBox Combo2
- Height = 315
- ItemData = "Options.frx":0245
- Left = 1200
- List = "Options.frx":0252
- Style = 2 'Dropdown List
- TabIndex = 33
- Top = 3120
- Width = 1455
- End
- Begin VB.ListBox List1
- Height = 1815
- ItemData = "Options.frx":0270
- Left = 0
- List = "Options.frx":0272
- Sorted = -1 'True
- TabIndex = 27
- Top = 720
- Width = 1575
- End
- Begin VB.TextBox Text4
- Height = 285
- Left = 0
- TabIndex = 25
- Top = 360
- Width = 855
- End
- Begin VB.CommandButton cmdAdd
- Caption = "&Add"
- Height = 285
- Left = 960
- TabIndex = 26
- Top = 360
- Width = 615
- End
- Begin VB.CommandButton Command6
- Caption = "&Remove"
- Height = 255
- Left = 0
- TabIndex = 28
- Top = 2640
- Width = 1095
- End
- Begin VB.ComboBox Combo1
- Enabled = 0 'False
- Height = 315
- ItemData = "Options.frx":0274
- Left = 1800
- List = "Options.frx":0287
- Style = 2 'Dropdown List
- TabIndex = 29
- Top = 720
- Width = 2535
- End
- Begin VB.Frame Frame2
- Caption = "Audio Compression"
- Height = 1335
- Left = 1800
- TabIndex = 44
- Top = 1200
- Visible = 0 'False
- Width = 2535
- Begin VB.OptionButton AudioC
- Caption = "Medium"
- Height = 255
- Index = 0
- Left = 120
- TabIndex = 31
- Top = 600
- Value = -1 'True
- Width = 2175
- End
- Begin VB.OptionButton AudioC
- Caption = "Highest (Least space)"
- Height = 255
- Index = 1
- Left = 120
- TabIndex = 32
- Top = 960
- Width = 2175
- End
- Begin VB.OptionButton AudioC
- Caption = "Lowest (Best quality)"
- Height = 255
- Index = 2
- Left = 120
- TabIndex = 30
- Top = 240
- Width = 2175
- End
- End
- Begin VB.Label ZLibLabel
- AutoSize = -1 'True
- Caption = "Deflate Compression Level"
- Height = 195
- Left = 2880
- TabIndex = 54
- Top = 2880
- Width = 1890
- End
- Begin VB.Label Label12
- AutoSize = -1 'True
- Caption = "Default Compression"
- Height = 195
- Left = 1200
- TabIndex = 53
- Top = 2880
- Width = 1455
- End
- Begin VB.Label Label5
- Caption = "Compression type"
- Height = 255
- Left = 1800
- TabIndex = 46
- Top = 480
- Width = 1935
- End
- Begin VB.Label Label4
- Caption = "File Extension"
- Height = 255
- Left = 0
- TabIndex = 45
- Top = 120
- Width = 1215
- End
- End
- Begin MSComctlLib.TabStrip Tabs
- Height = 3975
- Left = 120
- TabIndex = 2
- Top = 120
- Width = 5175
- _ExtentX = 9128
- _ExtentY = 7011
- HotTracking = -1 'True
- _Version = 393216
- BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628}
- NumTabs = 5
- BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628}
- Caption = "General"
- ImageVarType = 2
- EndProperty
- BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628}
- Caption = "File Lists"
- ImageVarType = 2
- EndProperty
- BeginProperty Tab3 {1EFB659A-857C-11D1-B16A-00C0F0283628}
- Caption = "Compression Auto-Selection"
- ImageVarType = 2
- EndProperty
- BeginProperty Tab4 {1EFB659A-857C-11D1-B16A-00C0F0283628}
- Caption = "File Associations"
- ImageVarType = 2
- EndProperty
- BeginProperty Tab5 {1EFB659A-857C-11D1-B16A-00C0F0283628}
- Caption = "Other"
- ImageVarType = 2
- EndProperty
- EndProperty
- End
-End
-Attribute VB_Name = "Options"
-Attribute VB_Creatable = False
-Attribute VB_Exposed = False
-Option Explicit
-
-Dim OldFileName As String, NewListFile As String
-Dim NewExtNames() As String, NewExtComp() As Integer
-Dim ActID() As String
-
-Private Sub Check8_Click()
-If Check8.Value = 1 Then Check8.Value = 2
-End Sub
-Private Sub cmdAdd_Click()
-Dim xNum As Integer
-If Text4 <> "" Then
- If Left(Text4, 1) <> "." Then Text4 = "." + Text4
- For xNum = 1 To UBound(NewExtNames)
- If Text4 = NewExtNames(xNum) Then Exit Sub
- Next xNum
- List1.AddItem Text4
- ReDim Preserve NewExtNames(UBound(NewExtNames) + 1) As String
- NewExtNames(UBound(NewExtNames)) = Text4
- ReDim Preserve NewExtComp(UBound(NewExtComp) + 1) As Integer
- NewExtComp(UBound(NewExtComp)) = -1
- Text4 = ""
-End If
-End Sub
-
-Private Sub cmdAddFolder_Click()
-Dim lNum As Long
-Dim Path As String
-PathInput.hwndOwner = hWnd
-Path = PathInputBox(PathInput, "Add Listfile Folder", "")
-If Path = "" Then GoTo Cancel
-FileLists.AddItem Path
-If FileLists.ListCount > 0 Then
- NewListFile = FileLists.List(0)
-Else
- NewListFile = ""
-End If
-For lNum = 1 To FileLists.ListCount - 1
- NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)
-Next lNum
-Cancel:
-End Sub
-Private Sub cmdAddList_Click()
-Dim lNum As Long
-CD.Flags = &H1000 Or &H4 Or &H2
-CD.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
-CD.hwndOwner = hWnd
-If ShowOpen(CD) = False Then GoTo Cancel
-FileLists.AddItem CD.FileName
-If FileLists.ListCount > 0 Then
- NewListFile = FileLists.List(0)
-Else
- NewListFile = ""
-End If
-For lNum = 1 To FileLists.ListCount - 1
- NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)
-Next lNum
-Cancel:
-End Sub
-Private Sub cmdDelList_Click()
-Dim lNum As Long
-If FileLists.ListIndex > -1 Then
- FileLists.RemoveItem FileLists.ListIndex
- If FileLists.ListCount > 0 Then
- NewListFile = FileLists.List(0)
- Else
- NewListFile = ""
- End If
- For lNum = 1 To FileLists.ListCount - 1
- NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)
- Next lNum
-End If
-End Sub
-Private Sub Combo1_Click()
-Dim xNum As Integer
-For xNum = 1 To UBound(NewExtNames)
- If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For
-Next xNum
-If UBound(NewExtNames) = 0 Then xNum = 0
-If Combo1.ListIndex = 3 Then
- Frame2.Visible = True
- NewExtComp(xNum) = Combo1.ListIndex - 3
-Else
- Frame2.Visible = False
- If Combo1.ListIndex < 2 Then
- NewExtComp(xNum) = Combo1.ListIndex - 2
- Else
- If Combo1.ListIndex = 2 Then
- NewExtComp(xNum) = -3
- Else
- NewExtComp(xNum) = -4
- End If
- End If
-End If
-End Sub
-Private Sub AudioC_Click(Index As Integer)
-Dim xNum As Integer
-For xNum = 1 To UBound(NewExtNames)
- If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For
-Next xNum
-If UBound(NewExtNames) = 0 Then xNum = 0
-NewExtComp(xNum) = Index
-End Sub
-Private Sub Check1_Click()
-If Check1.Value = 1 Then Check1.Value = 2
-End Sub
-
-Private Sub Check2_Click()
-If Check2.Value = 1 Then Check2.Value = 2
-End Sub
-
-Private Sub Check3_Click()
-If Check3.Value = 1 Then Check3.Value = 2
-End Sub
-
-Private Sub Check4_Click()
-If Check4.Value = 1 Then Check4.Value = 2
-End Sub
-
-Private Sub Check5_Click()
-If Check5.Value = 1 Then Check5.Value = 2
-End Sub
-Private Sub Command1_Click()
-Dim Path As String, BatKey As String
-Dim xNum As Integer, ExtList As String
-Dim dItem As String, ndItem As String, aNum As Long
-Path = App.Path
-If Right(Path, 1) <> "\" Then Path = Path + "\"
-Text1_LostFocus
-Text2_LostFocus
-DefaultMaxFiles = Text1
-DefaultBlockSize = Text5
-LocaleID = Text2
-SFileSetLocale (LocaleID)
-NewKey AppKey
-SetReg AppKey + "DefaultMaxFiles", Text1, REG_DWORD
-SetReg AppKey + "DefaultBlockSize", Text5, REG_DWORD
-SetReg AppKey + "LocaleID", Text2, REG_DWORD
-If Check1.Value > 0 Then
- SetReg AppKey + "SaveWindowStatus", 1, REG_DWORD
-Else
- SetReg AppKey + "SaveWindowStatus", 0, REG_DWORD
-End If
-If Check3.Value > 0 Then
- SetReg AppKey + "ShowConfirmation", 1, REG_DWORD
-Else
- SetReg AppKey + "ShowConfirmation", 0, REG_DWORD
-End If
-If Check4.Value > 0 Then
- SetReg AppKey + "UseDragDropWildcards", 1, REG_DWORD
-Else
- SetReg AppKey + "UseDragDropWildcards", 0, REG_DWORD
-End If
-If Check5.Value > 0 Then
- SetReg AppKey + "CheckModDateTime", 1, REG_DWORD
-Else
- SetReg AppKey + "CheckModDateTime", 0, REG_DWORD
- MpqEx.Timer1.Enabled = False
-End If
-If Check7.Value > 0 Then
- SetReg AppKey + "AutofindFileLists", 1, REG_DWORD
-Else
- SetReg AppKey + "AutofindFileLists", 0, REG_DWORD
-End If
-If Check8.Value > 0 Then
- SetReg AppKey + "UseOnlyAutofindLists", 1, REG_DWORD
-Else
- SetReg AppKey + "UseOnlyAutofindLists", 0, REG_DWORD
-End If
-If Check2.Value > 0 Then
- NewKey "HKEY_CLASSES_ROOT\.mpq\", "Mpq.Archive"
- NewKey "HKEY_CLASSES_ROOT\.mpq\ShellNew\"
- SetReg "HKEY_CLASSES_ROOT\.mpq\ShellNew\NullFile", ""
- NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\", "MPQ Archive"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\DefaultIcon\", Path + App.EXEName + ".exe,1"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " " + Chr(34) + "%1" + Chr(34)
- BatKey = "HKEY_CLASSES_ROOT\" + GetReg("HKEY_CLASSES_ROOT\.bat\", "batfile") + "\"
- NewKey "HKEY_CLASSES_ROOT\.mscript\", "Mpq.Script"
- NewKey "HKEY_CLASSES_ROOT\.mbat\", "Mpq.Script"
- NewKey "HKEY_CLASSES_ROOT\.mscript\ShellNew\"
- SetReg "HKEY_CLASSES_ROOT\.mscript\ShellNew\NullFile", ""
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\", "Mo'PaQ 2000 Script"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\DefaultIcon\", GetReg(BatKey + "DefaultIcon\", "C:\WINDOWS\SYSTEM\shell32.dll,-153")
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\open\"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\open\command\", GetReg(BatKey + "shell\edit\command\", "C:\WINDOWS\NOTEPAD.EXE %1")
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\run\", "&Run"
- NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\run\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " script " + Chr(34) + "%1" + Chr(34)
-Else
- If GetReg("HKEY_CLASSES_ROOT\.mpq\") = "Mpq.Archive" Then
- DelKey "HKEY_CLASSES_ROOT\.mpq\ShellNew\"
- DelKey "HKEY_CLASSES_ROOT\.mpq\"
- SetReg "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", "not used"
- DelKey "HKEY_CLASSES_ROOT\.mscript\ShellNew\"
- DelKey "HKEY_CLASSES_ROOT\.mscript\"
- DelKey "HKEY_CLASSES_ROOT\.mbat\"
- End If
-End If
-SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, vbNullString, vbNullString
-If Option1(0).Value = True Then
- SetReg AppKey + "StartupPathType", 0, REG_DWORD
- Text3 = CurDir
-ElseIf Option1(1).Value = True Then
- SetReg AppKey + "StartupPathType", 1, REG_DWORD
- Text3 = App.Path
-ElseIf Option1(2).Value = True Then
- SetReg AppKey + "StartupPathType", 2, REG_DWORD
-End If
-Path = Text3
-If Right(Path, 1) <> "\" Then Path = Path + "\"
-If IsDir(Path) Then
- SetReg AppKey + "StartupPath", Text3
- ChDir Text3
-End If
-Select Case Combo2.ListIndex
-Case 0
-DefaultCompressID = -1
-DefaultCompress = MAFA_COMPRESS_STANDARD
-Case 1
-DefaultCompressID = -3
-DefaultCompress = MAFA_COMPRESS_DEFLATE
-Case 2
-DefaultCompressID = -4
-DefaultCompress = MAFA_COMPRESS_BZIP2
-End Select
-DefaultCompressLevel = Combo3.ListIndex - 1
-SetReg AppKey + "DefaultCompress", DefaultCompressID, REG_DWORD
-SetReg AppKey + "DefaultZlibLevel", DefaultCompressLevel, REG_DWORD
-DelKey AppKey + "Compression\"
-NewKey AppKey + "Compression\"
-For xNum = 1 To UBound(NewExtNames)
- ExtList = ExtList + NewExtNames(xNum)
- SetReg AppKey + "Compression\" + NewExtNames(xNum), CStr(NewExtComp(xNum))
-Next xNum
-SetReg AppKey + "Compression\List", ExtList
-NewKey SharedAppKey + "FileDefaultActions\"
-For aNum = 1 To FileTypes.ListItems.Count
- dItem = GetReg("HKEY_CLASSES_ROOT\" + FileTypes.ListItems.Item(aNum).Key + "\shell\", "open")
- dItem = GetReg(SharedAppKey + "FileDefaultActions\" + FileTypes.ListItems.Item(aNum).Key, dItem)
- ndItem = FileTypes.ListItems.Item(aNum).Tag
- If LCase(dItem) <> LCase(ndItem) And ndItem <> "" Then
- SetReg SharedAppKey + "FileDefaultActions\" + FileTypes.ListItems.Item(aNum).Key, ndItem
- End If
-Next aNum
-Hide
-If LCase(ListFile) <> LCase(NewListFile) Then
- ListFile = NewListFile
- SetReg AppKey + "ListFile", ListFile
- CD.FileName = OldFileName
- If FileExists(OldFileName) Then MpqEx.OpenMpq
-End If
-Unload Me
-End Sub
-Private Sub Command2_Click()
-Unload Me
-End Sub
-Private Sub Command4_Click()
-DelReg AppKey + "Status\WindowState"
-DelReg AppKey + "Status\WindowHeight"
-DelReg AppKey + "Status\WindowLeft"
-DelReg AppKey + "Status\WindowTop"
-DelReg AppKey + "Status\WindowWidth"
-Check1.Value = 0
-End Sub
-Private Sub Command5_Click()
-Dim Path As String
-PathInput.hwndOwner = hWnd
-Path = PathInputBox(PathInput, "WinMPQ Startup Path", Text3)
-If Path <> "" Then Text3 = Path
-End Sub
-Private Sub Command6_Click()
-Dim xNum As Integer
-If List1.ListIndex > -1 Then
- For xNum = 1 To UBound(NewExtNames)
- If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For
- Next xNum
- If xNum < UBound(NewExtNames) Then
- For xNum = xNum To UBound(NewExtNames) - 1
- NewExtNames(xNum) = NewExtNames(xNum + 1)
- NewExtComp(xNum) = NewExtComp(xNum + 1)
- Next xNum
- End If
- ReDim Preserve NewExtNames(UBound(NewExtNames) - 1) As String
- ReDim Preserve NewExtComp(UBound(NewExtComp) - 1) As Integer
- On Error Resume Next
- List1.RemoveItem List1.ListIndex
-End If
-End Sub
-Private Sub Form_Load()
-Dim Path As String, PathType As Integer, NewFileListNames As String
-Dim ExtList As String
-Dim aExt As String, aName As String, aNum As Long, DCompType As Long
-On Error Resume Next
-Left = MpqEx.Left + 330
-If Left < 0 Then Left = 0
-If Left + Width > Screen.Width Then Left = Screen.Width - Width
-Top = MpqEx.Top + 315
-If Top < 0 Then Top = 0
-If Top + Height > Screen.Height Then Top = Screen.Height - Height
-Path = App.Path
-If Right(Path, 1) <> "\" Then Path = Path + "\"
-Text1 = DefaultMaxFiles
-Text5 = DefaultBlockSize
-Text2 = LocaleID
-OldFileName = CD.FileName
-CD.FileName = ""
-NewListFile = GetReg(AppKey + "ListFile", Path + "mpq_data.txt")
-For aNum = 1 To Len(NewListFile)
- If InStr(aNum, NewListFile, vbCrLf) Then
- aName = Mid(NewListFile, aNum, InStr(aNum, NewListFile, vbCrLf) - aNum)
- If FileExists(aName) Or IsDir(aName) Then
- FileLists.AddItem aName
- NewFileListNames = NewFileListNames + aName + vbCrLf
- End If
- aNum = InStr(aNum, NewListFile, vbCrLf) + 1
- Else
- aName = Mid(NewListFile, aNum)
- If FileExists(aName) Or IsDir(aName) Then
- FileLists.AddItem aName
- NewFileListNames = NewFileListNames + aName
- End If
- Exit For
- End If
-Next aNum
-NewListFile = NewFileListNames
-If Right(NewListFile, 2) = vbCrLf Then NewListFile = Left(NewListFile, Len(NewListFile) - 2)
-If GetReg(AppKey + "SaveWindowStatus", 1) > 0 Then Check1.Value = 1 Else Check1.Value = 0
-If GetReg(AppKey + "ShowConfirmation", 1) > 0 Then Check3.Value = 1 Else Check3.Value = 0
-If GetReg(AppKey + "UseDragDropWildcards", 1) > 0 Then Check4.Value = 1 Else Check4.Value = 0
-If GetReg(AppKey + "CheckModDateTime", 1) > 0 Then Check5.Value = 1 Else Check5.Value = 0
-If GetReg(AppKey + "AutofindFileLists", 0) > 0 Then Check7.Value = 1 Else Check7.Value = 0
-If GetReg(AppKey + "UseOnlyAutofindLists", 1) > 0 Then Check8.Value = 1 Else Check8.Value = 0
-If GetReg("HKEY_CLASSES_ROOT\.mpq\", "Mpq.Archive") = "Mpq.Archive" And InStr(1, GetReg("HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " " + Chr(34) + "%1" + Chr(34)), App.EXEName + ".exe", 1) > 0 Then Check2.Value = 1 Else Check2.Value = 0
-Text3 = GetReg(AppKey + "StartupPath", CurDir)
-PathType = GetReg(AppKey + "StartupPathType", 0)
-If PathType < 0 Then PathType = 0
-If PathType > 2 Then PathType = 2
-Option1(PathType).Value = True
-If PathType = 0 Then
- Text3 = CurDir
-ElseIf PathType = 1 Then
- Text3 = App.Path
-End If
-ReDim NewExtNames(0) As String
-ReDim NewExtComp(0) As Integer
-Combo1.ListIndex = 1
-DCompType = GetReg(AppKey + "DefaultCompress", -1)
-Select Case DCompType
-Case -3
-Combo2.ListIndex = 1
-Case -4
-Combo2.ListIndex = 2
-Case Else
-Combo2.ListIndex = 0
-End Select
-Combo3.ListIndex = GetReg(AppKey + "DefaultZlibLevel", Z_DEFAULT_COMPRESSION) + 1
-ExtList = GetReg(AppKey + "Compression\List", ".bik.smk.mp3.mpq.scm.scx.w3m.w3x.wav")
-If InStr(1, ExtList, ".") > 0 And Len(ExtList) > 1 Then
-Do
- ReDim Preserve NewExtNames(UBound(NewExtNames) + 1) As String
- ReDim Preserve NewExtComp(UBound(NewExtComp) + 1) As Integer
- If InStr(2, ExtList, ".") > 0 Then
- NewExtNames(UBound(NewExtNames)) = Left(ExtList, InStr(2, ExtList, ".") - 1)
- Else
- NewExtNames(UBound(NewExtNames)) = ExtList
- End If
- ExtList = Mid(ExtList, Len(NewExtNames(UBound(NewExtNames))) + 1)
- List1.AddItem NewExtNames(UBound(NewExtNames))
- If LCase(NewExtNames(UBound(NewExtNames))) = ".bik" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.bik", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".smk" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.smk", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".mp3" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.mp3", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".mpq" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.mpq", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".scm" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.scm", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".scx" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.scx", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".w3m" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.w3m", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".w3x" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.w3x", "-2"))
- ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".wav" Then
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.wav", "0"))
- Else
- NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\" + NewExtNames(UBound(NewExtNames)), "-1"))
- End If
-Loop Until ExtList = ""
-End If
-Do
- aExt = EnumKey("HKEY_CLASSES_ROOT\", aNum)
- If Left(aExt, 1) = "." Then
- aName = GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")
- If aName <> "" Then
- On Error GoTo AlreadyExists
- FileTypes.ListItems.Add(, aName, GetReg("HKEY_CLASSES_ROOT\" + aName + "\", UCase(Mid(aExt, 2)) + " File")).ToolTipText = UCase(aExt)
- On Error Resume Next
- End If
- ElseIf LCase(aExt) = "*" Then
- FileTypes.ListItems.Add(, aExt, GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")).ToolTipText = ""
- If FileTypes.ListItems.Item(aExt).Text = "" Then FileTypes.ListItems.Item(aExt).Text = " All Files"
- ElseIf LCase(aExt) = "unknown" Then
- FileTypes.ListItems.Add(, aExt, GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")).ToolTipText = ""
- If FileTypes.ListItems.Item(aExt).Text = "" Then FileTypes.ListItems.Item(aExt).Text = " Unknown File"
- End If
- aNum = aNum + 1
-Loop Until aExt = ""
-Exit Sub
-AlreadyExists:
- FileTypes.ListItems.Item(aName).ToolTipText = FileTypes.ListItems.Item(aName).ToolTipText + " " + UCase(aExt)
-Resume Next
-End Sub
-Private Sub Form_Resize()
-FileTypes.ColumnHeaders.Item(1).Width = FileTypes.Width - 30 * Screen.TwipsPerPixelX
-End Sub
-
-Private Sub Form_Unload(Cancel As Integer)
-CD.FileName = OldFileName
-End Sub
-Private Sub List1_Click()
-Dim xNum As Integer, OldExtComp As Integer
-If List1.ListIndex > -1 Then
- Combo1.Enabled = True
- For xNum = 1 To UBound(NewExtNames)
- If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For
- Next xNum
- Select Case NewExtComp(xNum)
- Case -2
- AudioC(0).Value = True
- Combo1.ListIndex = 0
- Case -1
- AudioC(0).Value = True
- Combo1.ListIndex = 1
- Case -3
- AudioC(0).Value = True
- Combo1.ListIndex = 2
- Case -4
- AudioC(0).Value = True
- Combo1.ListIndex = 4
- Case 0, 1, 2
- OldExtComp = NewExtComp(xNum)
- Combo1.ListIndex = 3
- AudioC(OldExtComp).Value = True
- Case Else
- AudioC(0).Value = True
- Combo1.ListIndex = 1
- End Select
-Else
- Combo1.ListIndex = 1
- Combo1.Enabled = False
-End If
-End Sub
-Private Sub Option1_Click(Index As Integer)
-If Index = 2 Then
- Text3.Enabled = True
- Command5.Enabled = True
-Else
- Text3.Enabled = False
- Command5.Enabled = False
-End If
-End Sub
-Private Sub Tabs_Click()
-Dim TabDisp As PictureBox
-For Each TabDisp In TabDisps
- TabDisp.Visible = False
-Next TabDisp
-TabDisps(Tabs.SelectedItem.Index).Visible = True
-End Sub
-Private Sub Text1_KeyPress(KeyAscii As Integer)
-If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0
-End Sub
-
-Private Sub Text5_Change()
-On Error Resume Next
-If Text5 <> "" Then
- If Text5 > 23 Then Text5 = 23
- If Text5 <= 23 Then _
- ActualBlockSize = CStr((512 * 2 ^ Text5) / 1024) + " KB"
-Else
- ActualBlockSize = ""
-End If
-On Error GoTo 0
-End Sub
-Private Sub Text5_KeyPress(KeyAscii As Integer)
-If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0
-End Sub
-Private Sub Text1_LostFocus()
-If Text1 = "" Then Text1 = 0
-'If Text1 < 16 Then Text1 = 16
-'If Text1 > 262144 Then Text1 = 262144
-End Sub
-Private Sub Text5_LostFocus()
-If Text5 = "" Then Text5 = DEFAULT_BLOCK_SIZE
-If Text5 > 23 Then Text5 = 23
-End Sub
-Private Sub Text2_KeyPress(KeyAscii As Integer)
-Dim NewValue As Long
-If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 And KeyAscii <> Asc("-") Then KeyAscii = 0
-On Error GoTo TooBig
-If (KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = Asc("-") Then NewValue = CLng(Text2 + Chr(KeyAscii))
-On Error GoTo 0
-Exit Sub
-TooBig:
-KeyAscii = 0
-End Sub
-Private Sub Text2_LostFocus()
-If Text2 = "" Then Text2 = 0
-End Sub
-Private Sub Text4_GotFocus()
-cmdAdd.Default = True
-End Sub
-Private Sub Text4_LostFocus()
-Command1.Default = True
-End Sub
-Private Sub Actions_Click()
-On Error GoTo NotSelected
-FileTypes.SelectedItem.Tag = FileTypes.SelectedItem.Tag
-On Error GoTo 0
-If FileTypes.SelectedItem.Selected = True Then
- FileTypes.SelectedItem.Tag = ActID(Actions.ListIndex + 1)
-End If
-NotSelected:
-End Sub
-Private Sub FileTypes_ItemClick(ByVal Item As ListItem)
-Dim aNum As Long, aItem As String, aName As String, bNum As Long, dItem As String
-Label8 = Item.ToolTipText
-Actions.Clear
-ReDim ActID(0) As String
-aName = Item.Key
-Do
- aItem = EnumKey("HKEY_CLASSES_ROOT\" + aName + "\shell\", aNum)
- If aItem <> "" Then
- If LCase(aItem) = "openas" And IsEmpty(GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\" + aItem + "\")) Then
- Actions.AddItem "Open with..."
- Else
- Actions.AddItem GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\" + aItem + "\", UCase(Left(aItem, 1)) + Mid(aItem, 2))
- End If
- ReDim Preserve ActID(UBound(ActID) + 1) As String
- ActID(UBound(ActID)) = aItem
- aNum = aNum + 1
- End If
-Loop Until aItem = ""
-If Item.Tag = "" Then
- dItem = GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\", "open")
- dItem = GetReg(SharedAppKey + "FileDefaultActions\" + aName, dItem)
-Else
- dItem = Item.Tag
-End If
-If Actions.ListCount > 0 Then Actions.ListIndex = 0
-For bNum = 0 To Actions.ListCount - 1
- If LCase(ActID(bNum + 1)) = LCase(dItem) Then
- Actions.ListIndex = bNum
- End If
-Next bNum
-Item.Tag = dItem
-End Sub
+VERSION 4.00\r
+Begin VB.Form Options \r
+ BorderStyle = 3 'Fixed Dialog\r
+ Caption = "Options"\r
+ ClientHeight = 4695\r
+ ClientLeft = 1665\r
+ ClientTop = 2085\r
+ ClientWidth = 5415\r
+ Height = 5100\r
+ Icon = "Options.frx":0000\r
+ KeyPreview = -1 'True\r
+ Left = 1605\r
+ LinkTopic = "Form1"\r
+ MaxButton = 0 'False\r
+ MinButton = 0 'False\r
+ ScaleHeight = 4695\r
+ ScaleWidth = 5415\r
+ ShowInTaskbar = 0 'False\r
+ Top = 1740\r
+ Width = 5535\r
+ Begin VB.CommandButton Command2 \r
+ Caption = "&Cancel"\r
+ Height = 375\r
+ Left = 3120\r
+ TabIndex = 1\r
+ Top = 4200\r
+ Width = 1335\r
+ End\r
+ Begin VB.CommandButton Command1 \r
+ Caption = "O&k"\r
+ Height = 375\r
+ Left = 960\r
+ TabIndex = 0\r
+ Top = 4200\r
+ Width = 1335\r
+ End\r
+ Begin VB.PictureBox TabDisps \r
+ BorderStyle = 0 'None\r
+ Height = 3495\r
+ Index = 1\r
+ Left = 240\r
+ ScaleHeight = 3495\r
+ ScaleWidth = 4995\r
+ TabIndex = 35\r
+ TabStop = 0 'False\r
+ Top = 480\r
+ Width = 4995\r
+ Begin VB.TextBox Text5 \r
+ Height = 285\r
+ Left = 2280\r
+ MaxLength = 2\r
+ TabIndex = 5\r
+ Text = "3"\r
+ Top = 1200\r
+ Width = 1215\r
+ End\r
+ Begin VB.TextBox Text1 \r
+ Height = 285\r
+ Left = 0\r
+ MaxLength = 6\r
+ TabIndex = 3\r
+ Text = "1024"\r
+ Top = 600\r
+ Width = 1215\r
+ End\r
+ Begin VB.TextBox Text2 \r
+ Height = 285\r
+ Left = 0\r
+ TabIndex = 4\r
+ Text = "0"\r
+ Top = 1200\r
+ Width = 1215\r
+ End\r
+ Begin VB.CheckBox Check2 \r
+ Caption = "&Associate WinMPQ with MPQ Archives"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 6\r
+ Top = 1680\r
+ Value = 2 'Grayed\r
+ Width = 3375\r
+ End\r
+ Begin VB.CheckBox Check4 \r
+ Caption = "Use &wildcards in filenames for drag and drop"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 8\r
+ Top = 2400\r
+ Value = 2 'Grayed\r
+ Width = 3735\r
+ End\r
+ Begin VB.CheckBox Check5 \r
+ Caption = "Automatically update &modified files"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 7\r
+ Top = 2160\r
+ Value = 2 'Grayed\r
+ Width = 3015\r
+ End\r
+ Begin VB.Label ActualBlockSize \r
+ Caption = "4 KB"\r
+ Height = 255\r
+ Left = 3600\r
+ TabIndex = 56\r
+ Top = 1200\r
+ Width = 1215\r
+ End\r
+ Begin VB.Label Label13 \r
+ AutoSize = -1 'True\r
+ Caption = "Block size for new archives (default is 3)"\r
+ Height = 390\r
+ Left = 2280\r
+ TabIndex = 55\r
+ Top = 720\r
+ Width = 2055\r
+ WordWrap = -1 'True\r
+ End\r
+ Begin VB.Label Label1 \r
+ AutoSize = -1 'True\r
+ Caption = "Maximum files for new archives: (this cannot be changed for an existing archive)"\r
+ Height = 495\r
+ Left = 0\r
+ TabIndex = 38\r
+ Top = 120\r
+ Width = 4335\r
+ WordWrap = -1 'True\r
+ End\r
+ Begin VB.Label Label2 \r
+ AutoSize = -1 'True\r
+ Caption = "Locale ID for adding files"\r
+ Height = 195\r
+ Left = 0\r
+ TabIndex = 37\r
+ Top = 960\r
+ Width = 1755\r
+ End\r
+ Begin VB.Label Label3 \r
+ Caption = $"Options.frx":000C\r
+ Height = 855\r
+ Left = 0\r
+ TabIndex = 36\r
+ Top = 2640\r
+ Width = 4935\r
+ End\r
+ End\r
+ Begin VB.PictureBox TabDisps \r
+ BorderStyle = 0 'None\r
+ Height = 3495\r
+ Index = 2\r
+ Left = 240\r
+ ScaleHeight = 3495\r
+ ScaleWidth = 4935\r
+ TabIndex = 41\r
+ TabStop = 0 'False\r
+ Top = 480\r
+ Visible = 0 'False\r
+ Width = 4935\r
+ Begin VB.CommandButton cmdAddFolder \r
+ Caption = "Add &Folder..."\r
+ Height = 375\r
+ Left = 3480\r
+ TabIndex = 11\r
+ Top = 1320\r
+ Width = 1335\r
+ End\r
+ Begin VB.CheckBox Check8 \r
+ Caption = "Do not use above lists when one is found by above option"\r
+ Height = 375\r
+ Left = 0\r
+ TabIndex = 14\r
+ Top = 2880\r
+ Value = 2 'Grayed\r
+ Width = 3375\r
+ End\r
+ Begin VB.CheckBox Check7 \r
+ Caption = "Use file lists for similarly named archives"\r
+ Height = 195\r
+ Left = 0\r
+ TabIndex = 13\r
+ Top = 2640\r
+ Width = 3375\r
+ End\r
+ Begin VB.CommandButton cmdDelList \r
+ Caption = "&Remove"\r
+ Height = 375\r
+ Left = 3480\r
+ TabIndex = 12\r
+ Top = 1920\r
+ Width = 1335\r
+ End\r
+ Begin VB.ListBox FileLists \r
+ Height = 2205\r
+ Left = 0\r
+ TabIndex = 9\r
+ Top = 360\r
+ Width = 3375\r
+ End\r
+ Begin VB.CommandButton cmdAddList \r
+ Caption = "&Add List File..."\r
+ Height = 375\r
+ Left = 3480\r
+ TabIndex = 10\r
+ Top = 720\r
+ Width = 1335\r
+ End\r
+ Begin VB.Label Label11 \r
+ Caption = "Note: Each file list added will increase the load time for archives."\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 52\r
+ Top = 3240\r
+ Width = 4815\r
+ End\r
+ Begin VB.Label Label10 \r
+ AutoSize = -1 'True\r
+ Caption = "File Lists:"\r
+ Height = 195\r
+ Left = 0\r
+ TabIndex = 51\r
+ Top = 120\r
+ Width = 645\r
+ End\r
+ End\r
+ Begin VB.PictureBox TabDisps \r
+ BorderStyle = 0 'None\r
+ Height = 3495\r
+ Index = 5\r
+ Left = 240\r
+ ScaleHeight = 3495\r
+ ScaleWidth = 4935\r
+ TabIndex = 39\r
+ TabStop = 0 'False\r
+ Top = 480\r
+ Visible = 0 'False\r
+ Width = 4935\r
+ Begin VB.CommandButton Command4 \r
+ Caption = "&Reset size/position"\r
+ Height = 375\r
+ Left = 360\r
+ TabIndex = 17\r
+ Top = 840\r
+ Width = 1695\r
+ End\r
+ Begin VB.CheckBox Check3 \r
+ Caption = "Display &confirmation boxes"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 15\r
+ Top = 120\r
+ Value = 2 'Grayed\r
+ Width = 2415\r
+ End\r
+ Begin VB.CheckBox Check1 \r
+ Caption = "&Save last window size and position"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 16\r
+ Top = 480\r
+ Value = 2 'Grayed\r
+ Width = 3015\r
+ End\r
+ Begin VB.Frame Frame1 \r
+ Caption = "Startup Path"\r
+ Height = 1215\r
+ Left = 0\r
+ TabIndex = 40\r
+ Top = 2280\r
+ Width = 4935\r
+ Begin VB.OptionButton Option1 \r
+ Caption = "Last &open folder"\r
+ Height = 255\r
+ Index = 0\r
+ Left = 120\r
+ TabIndex = 18\r
+ Top = 240\r
+ Value = -1 'True\r
+ Width = 1575\r
+ End\r
+ Begin VB.OptionButton Option1 \r
+ Caption = "A&pplication folder"\r
+ Height = 255\r
+ Index = 1\r
+ Left = 1680\r
+ TabIndex = 19\r
+ Top = 240\r
+ Width = 1695\r
+ End\r
+ Begin VB.OptionButton Option1 \r
+ Caption = "&User-defined folder"\r
+ Height = 255\r
+ Index = 2\r
+ Left = 120\r
+ TabIndex = 20\r
+ Top = 480\r
+ Width = 1695\r
+ End\r
+ Begin VB.TextBox Text3 \r
+ Enabled = 0 'False\r
+ Height = 285\r
+ Left = 120\r
+ TabIndex = 21\r
+ Top = 840\r
+ Width = 3615\r
+ End\r
+ Begin VB.CommandButton Command5 \r
+ Caption = "&Folder..."\r
+ Enabled = 0 'False\r
+ Height = 285\r
+ Left = 3840\r
+ TabIndex = 22\r
+ Top = 840\r
+ Width = 975\r
+ End\r
+ End\r
+ End\r
+ Begin VB.PictureBox TabDisps \r
+ BorderStyle = 0 'None\r
+ Height = 3495\r
+ Index = 4\r
+ Left = 240\r
+ ScaleHeight = 3495\r
+ ScaleWidth = 4935\r
+ TabIndex = 43\r
+ TabStop = 0 'False\r
+ Top = 480\r
+ Visible = 0 'False\r
+ Width = 4935\r
+ Begin VB.ListBox Actions \r
+ Height = 1215\r
+ IntegralHeight = 0 'False\r
+ Left = 3120\r
+ TabIndex = 24\r
+ Top = 2280\r
+ Width = 1815\r
+ End\r
+ Begin MSComctlLib.ListView FileTypes \r
+ Height = 2535\r
+ Left = 0\r
+ TabIndex = 23\r
+ Top = 960\r
+ Width = 3015\r
+ _ExtentX = 5318\r
+ _ExtentY = 4471\r
+ View = 3\r
+ LabelEdit = 1\r
+ Sorted = -1 'True\r
+ MultiSelect = -1 'True\r
+ LabelWrap = -1 'True\r
+ HideSelection = -1 'True\r
+ _Version = 393217\r
+ ForeColor = -2147483640\r
+ BackColor = -2147483643\r
+ BorderStyle = 1\r
+ Appearance = 1\r
+ NumItems = 1\r
+ BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628} \r
+ Text = "Registered file types:"\r
+ Object.Width = 2540\r
+ EndProperty\r
+ End\r
+ Begin VB.Label Label9 \r
+ AutoSize = -1 'True\r
+ Caption = "File extensions:"\r
+ Height = 195\r
+ Left = 3120\r
+ TabIndex = 50\r
+ Top = 960\r
+ Width = 1080\r
+ End\r
+ Begin VB.Label Label7 \r
+ AutoSize = -1 'True\r
+ Caption = "Default action:"\r
+ Height = 195\r
+ Left = 3120\r
+ TabIndex = 48\r
+ Top = 2040\r
+ Width = 1035\r
+ End\r
+ Begin VB.Label Label8 \r
+ Height = 855\r
+ Left = 3120\r
+ TabIndex = 49\r
+ Top = 1200\r
+ Width = 1755\r
+ End\r
+ Begin VB.Label Label6 \r
+ AutoSize = -1 'True\r
+ Caption = $"Options.frx":00F6\r
+ Height = 855\r
+ Left = 0\r
+ TabIndex = 47\r
+ Top = 120\r
+ Width = 4935\r
+ WordWrap = -1 'True\r
+ End\r
+ End\r
+ Begin VB.PictureBox TabDisps \r
+ BorderStyle = 0 'None\r
+ Height = 3495\r
+ Index = 3\r
+ Left = 240\r
+ ScaleHeight = 3495\r
+ ScaleWidth = 4935\r
+ TabIndex = 42\r
+ TabStop = 0 'False\r
+ Top = 480\r
+ Visible = 0 'False\r
+ Width = 4935\r
+ Begin VB.ComboBox Combo3 \r
+ Height = 315\r
+ ItemData = "Options.frx":01CE\r
+ Left = 2880\r
+ List = "Options.frx":01F3\r
+ Style = 2 'Dropdown List\r
+ TabIndex = 34\r
+ Top = 3120\r
+ Width = 1815\r
+ End\r
+ Begin VB.ComboBox Combo2 \r
+ Height = 315\r
+ ItemData = "Options.frx":0245\r
+ Left = 1200\r
+ List = "Options.frx":0252\r
+ Style = 2 'Dropdown List\r
+ TabIndex = 33\r
+ Top = 3120\r
+ Width = 1455\r
+ End\r
+ Begin VB.ListBox List1 \r
+ Height = 1815\r
+ ItemData = "Options.frx":0270\r
+ Left = 0\r
+ List = "Options.frx":0272\r
+ Sorted = -1 'True\r
+ TabIndex = 27\r
+ Top = 720\r
+ Width = 1575\r
+ End\r
+ Begin VB.TextBox Text4 \r
+ Height = 285\r
+ Left = 0\r
+ TabIndex = 25\r
+ Top = 360\r
+ Width = 855\r
+ End\r
+ Begin VB.CommandButton cmdAdd \r
+ Caption = "&Add"\r
+ Height = 285\r
+ Left = 960\r
+ TabIndex = 26\r
+ Top = 360\r
+ Width = 615\r
+ End\r
+ Begin VB.CommandButton Command6 \r
+ Caption = "&Remove"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 28\r
+ Top = 2640\r
+ Width = 1095\r
+ End\r
+ Begin VB.ComboBox Combo1 \r
+ Enabled = 0 'False\r
+ Height = 315\r
+ ItemData = "Options.frx":0274\r
+ Left = 1800\r
+ List = "Options.frx":0287\r
+ Style = 2 'Dropdown List\r
+ TabIndex = 29\r
+ Top = 720\r
+ Width = 2535\r
+ End\r
+ Begin VB.Frame Frame2 \r
+ Caption = "Audio Compression"\r
+ Height = 1335\r
+ Left = 1800\r
+ TabIndex = 44\r
+ Top = 1200\r
+ Visible = 0 'False\r
+ Width = 2535\r
+ Begin VB.OptionButton AudioC \r
+ Caption = "Medium"\r
+ Height = 255\r
+ Index = 0\r
+ Left = 120\r
+ TabIndex = 31\r
+ Top = 600\r
+ Value = -1 'True\r
+ Width = 2175\r
+ End\r
+ Begin VB.OptionButton AudioC \r
+ Caption = "Highest (Least space)"\r
+ Height = 255\r
+ Index = 1\r
+ Left = 120\r
+ TabIndex = 32\r
+ Top = 960\r
+ Width = 2175\r
+ End\r
+ Begin VB.OptionButton AudioC \r
+ Caption = "Lowest (Best quality)"\r
+ Height = 255\r
+ Index = 2\r
+ Left = 120\r
+ TabIndex = 30\r
+ Top = 240\r
+ Width = 2175\r
+ End\r
+ End\r
+ Begin VB.Label ZLibLabel \r
+ AutoSize = -1 'True\r
+ Caption = "Deflate Compression Level"\r
+ Height = 195\r
+ Left = 2880\r
+ TabIndex = 54\r
+ Top = 2880\r
+ Width = 1890\r
+ End\r
+ Begin VB.Label Label12 \r
+ AutoSize = -1 'True\r
+ Caption = "Default Compression"\r
+ Height = 195\r
+ Left = 1200\r
+ TabIndex = 53\r
+ Top = 2880\r
+ Width = 1455\r
+ End\r
+ Begin VB.Label Label5 \r
+ Caption = "Compression type"\r
+ Height = 255\r
+ Left = 1800\r
+ TabIndex = 46\r
+ Top = 480\r
+ Width = 1935\r
+ End\r
+ Begin VB.Label Label4 \r
+ Caption = "File Extension"\r
+ Height = 255\r
+ Left = 0\r
+ TabIndex = 45\r
+ Top = 120\r
+ Width = 1215\r
+ End\r
+ End\r
+ Begin MSComctlLib.TabStrip Tabs \r
+ Height = 3975\r
+ Left = 120\r
+ TabIndex = 2\r
+ Top = 120\r
+ Width = 5175\r
+ _ExtentX = 9128\r
+ _ExtentY = 7011\r
+ HotTracking = -1 'True\r
+ _Version = 393216\r
+ BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628} \r
+ NumTabs = 5\r
+ BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628} \r
+ Caption = "General"\r
+ ImageVarType = 2\r
+ EndProperty\r
+ BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628} \r
+ Caption = "File Lists"\r
+ ImageVarType = 2\r
+ EndProperty\r
+ BeginProperty Tab3 {1EFB659A-857C-11D1-B16A-00C0F0283628} \r
+ Caption = "Compression Auto-Selection"\r
+ ImageVarType = 2\r
+ EndProperty\r
+ BeginProperty Tab4 {1EFB659A-857C-11D1-B16A-00C0F0283628} \r
+ Caption = "File Associations"\r
+ ImageVarType = 2\r
+ EndProperty\r
+ BeginProperty Tab5 {1EFB659A-857C-11D1-B16A-00C0F0283628} \r
+ Caption = "Other"\r
+ ImageVarType = 2\r
+ EndProperty\r
+ EndProperty\r
+ End\r
+End\r
+Attribute VB_Name = "Options"\r
+Attribute VB_Creatable = False\r
+Attribute VB_Exposed = False\r
+Option Explicit\r
+\r
+Dim OldFileName As String, NewListFile As String\r
+Dim NewExtNames() As String, NewExtComp() As Integer\r
+Dim ActID() As String\r
+\r
+Private Sub Check8_Click()\r
+If Check8.Value = 1 Then Check8.Value = 2\r
+End Sub\r
+Private Sub cmdAdd_Click()\r
+Dim xNum As Integer\r
+If Text4 <> "" Then\r
+ If Left(Text4, 1) <> "." Then Text4 = "." + Text4\r
+ For xNum = 1 To UBound(NewExtNames)\r
+ If Text4 = NewExtNames(xNum) Then Exit Sub\r
+ Next xNum\r
+ List1.AddItem Text4\r
+ ReDim Preserve NewExtNames(UBound(NewExtNames) + 1) As String\r
+ NewExtNames(UBound(NewExtNames)) = Text4\r
+ ReDim Preserve NewExtComp(UBound(NewExtComp) + 1) As Integer\r
+ NewExtComp(UBound(NewExtComp)) = -1\r
+ Text4 = ""\r
+End If\r
+End Sub\r
+\r
+Private Sub cmdAddFolder_Click()\r
+Dim lNum As Long\r
+Dim Path As String\r
+PathInput.hwndOwner = hWnd\r
+Path = PathInputBox(PathInput, "Add Listfile Folder", "")\r
+If Path = "" Then GoTo Cancel\r
+FileLists.AddItem Path\r
+If FileLists.ListCount > 0 Then\r
+ NewListFile = FileLists.List(0)\r
+Else\r
+ NewListFile = ""\r
+End If\r
+For lNum = 1 To FileLists.ListCount - 1\r
+ NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)\r
+Next lNum\r
+Cancel:\r
+End Sub\r
+Private Sub cmdAddList_Click()\r
+Dim lNum As Long\r
+CD.Flags = &H1000 Or &H4 Or &H2\r
+CD.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"\r
+CD.hwndOwner = hWnd\r
+If ShowOpen(CD) = False Then GoTo Cancel\r
+FileLists.AddItem CD.FileName\r
+If FileLists.ListCount > 0 Then\r
+ NewListFile = FileLists.List(0)\r
+Else\r
+ NewListFile = ""\r
+End If\r
+For lNum = 1 To FileLists.ListCount - 1\r
+ NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)\r
+Next lNum\r
+Cancel:\r
+End Sub\r
+Private Sub cmdDelList_Click()\r
+Dim lNum As Long\r
+If FileLists.ListIndex > -1 Then\r
+ FileLists.RemoveItem FileLists.ListIndex\r
+ If FileLists.ListCount > 0 Then\r
+ NewListFile = FileLists.List(0)\r
+ Else\r
+ NewListFile = ""\r
+ End If\r
+ For lNum = 1 To FileLists.ListCount - 1\r
+ NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)\r
+ Next lNum\r
+End If\r
+End Sub\r
+Private Sub Combo1_Click()\r
+Dim xNum As Integer\r
+For xNum = 1 To UBound(NewExtNames)\r
+ If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For\r
+Next xNum\r
+If UBound(NewExtNames) = 0 Then xNum = 0\r
+If Combo1.ListIndex = 3 Then\r
+ Frame2.Visible = True\r
+ NewExtComp(xNum) = Combo1.ListIndex - 3\r
+Else\r
+ Frame2.Visible = False\r
+ If Combo1.ListIndex < 2 Then\r
+ NewExtComp(xNum) = Combo1.ListIndex - 2\r
+ Else\r
+ If Combo1.ListIndex = 2 Then\r
+ NewExtComp(xNum) = -3\r
+ Else\r
+ NewExtComp(xNum) = -4\r
+ End If\r
+ End If\r
+End If\r
+End Sub\r
+Private Sub AudioC_Click(Index As Integer)\r
+Dim xNum As Integer\r
+For xNum = 1 To UBound(NewExtNames)\r
+ If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For\r
+Next xNum\r
+If UBound(NewExtNames) = 0 Then xNum = 0\r
+NewExtComp(xNum) = Index\r
+End Sub\r
+Private Sub Check1_Click()\r
+If Check1.Value = 1 Then Check1.Value = 2\r
+End Sub\r
+\r
+Private Sub Check2_Click()\r
+If Check2.Value = 1 Then Check2.Value = 2\r
+End Sub\r
+\r
+Private Sub Check3_Click()\r
+If Check3.Value = 1 Then Check3.Value = 2\r
+End Sub\r
+\r
+Private Sub Check4_Click()\r
+If Check4.Value = 1 Then Check4.Value = 2\r
+End Sub\r
+\r
+Private Sub Check5_Click()\r
+If Check5.Value = 1 Then Check5.Value = 2\r
+End Sub\r
+Private Sub Command1_Click()\r
+Dim Path As String, BatKey As String\r
+Dim xNum As Integer, ExtList As String\r
+Dim dItem As String, ndItem As String, aNum As Long\r
+Path = App.Path\r
+If Right(Path, 1) <> "\" Then Path = Path + "\"\r
+Text1_LostFocus\r
+Text2_LostFocus\r
+DefaultMaxFiles = Text1\r
+DefaultBlockSize = Text5\r
+LocaleID = Text2\r
+SFileSetLocale (LocaleID)\r
+NewKey AppKey\r
+SetReg AppKey + "DefaultMaxFiles", Text1, REG_DWORD\r
+SetReg AppKey + "DefaultBlockSize", Text5, REG_DWORD\r
+SetReg AppKey + "LocaleID", Text2, REG_DWORD\r
+If Check1.Value > 0 Then\r
+ SetReg AppKey + "SaveWindowStatus", 1, REG_DWORD\r
+Else\r
+ SetReg AppKey + "SaveWindowStatus", 0, REG_DWORD\r
+End If\r
+If Check3.Value > 0 Then\r
+ SetReg AppKey + "ShowConfirmation", 1, REG_DWORD\r
+Else\r
+ SetReg AppKey + "ShowConfirmation", 0, REG_DWORD\r
+End If\r
+If Check4.Value > 0 Then\r
+ SetReg AppKey + "UseDragDropWildcards", 1, REG_DWORD\r
+Else\r
+ SetReg AppKey + "UseDragDropWildcards", 0, REG_DWORD\r
+End If\r
+If Check5.Value > 0 Then\r
+ SetReg AppKey + "CheckModDateTime", 1, REG_DWORD\r
+Else\r
+ SetReg AppKey + "CheckModDateTime", 0, REG_DWORD\r
+ MpqEx.Timer1.Enabled = False\r
+End If\r
+If Check7.Value > 0 Then\r
+ SetReg AppKey + "AutofindFileLists", 1, REG_DWORD\r
+Else\r
+ SetReg AppKey + "AutofindFileLists", 0, REG_DWORD\r
+End If\r
+If Check8.Value > 0 Then\r
+ SetReg AppKey + "UseOnlyAutofindLists", 1, REG_DWORD\r
+Else\r
+ SetReg AppKey + "UseOnlyAutofindLists", 0, REG_DWORD\r
+End If\r
+If Check2.Value > 0 Then\r
+ NewKey "HKEY_CLASSES_ROOT\.mpq\", "Mpq.Archive"\r
+ NewKey "HKEY_CLASSES_ROOT\.mpq\ShellNew\"\r
+ SetReg "HKEY_CLASSES_ROOT\.mpq\ShellNew\NullFile", ""\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\", "MPQ Archive"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\DefaultIcon\", Path + App.EXEName + ".exe,1"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " " + Chr(34) + "%1" + Chr(34)\r
+ BatKey = "HKEY_CLASSES_ROOT\" + GetReg("HKEY_CLASSES_ROOT\.bat\", "batfile") + "\"\r
+ NewKey "HKEY_CLASSES_ROOT\.mscript\", "Mpq.Script"\r
+ NewKey "HKEY_CLASSES_ROOT\.mbat\", "Mpq.Script"\r
+ NewKey "HKEY_CLASSES_ROOT\.mscript\ShellNew\"\r
+ SetReg "HKEY_CLASSES_ROOT\.mscript\ShellNew\NullFile", ""\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\", "Mo'PaQ 2000 Script"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\DefaultIcon\", GetReg(BatKey + "DefaultIcon\", "C:\WINDOWS\SYSTEM\shell32.dll,-153")\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\open\"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\open\command\", GetReg(BatKey + "shell\edit\command\", "C:\WINDOWS\NOTEPAD.EXE %1")\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\run\", "&Run"\r
+ NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\run\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " script " + Chr(34) + "%1" + Chr(34)\r
+Else\r
+ If GetReg("HKEY_CLASSES_ROOT\.mpq\") = "Mpq.Archive" Then\r
+ DelKey "HKEY_CLASSES_ROOT\.mpq\ShellNew\"\r
+ DelKey "HKEY_CLASSES_ROOT\.mpq\"\r
+ SetReg "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", "not used"\r
+ DelKey "HKEY_CLASSES_ROOT\.mscript\ShellNew\"\r
+ DelKey "HKEY_CLASSES_ROOT\.mscript\"\r
+ DelKey "HKEY_CLASSES_ROOT\.mbat\"\r
+ End If\r
+End If\r
+SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, vbNullString, vbNullString\r
+If Option1(0).Value = True Then\r
+ SetReg AppKey + "StartupPathType", 0, REG_DWORD\r
+ Text3 = CurDir\r
+ElseIf Option1(1).Value = True Then\r
+ SetReg AppKey + "StartupPathType", 1, REG_DWORD\r
+ Text3 = App.Path\r
+ElseIf Option1(2).Value = True Then\r
+ SetReg AppKey + "StartupPathType", 2, REG_DWORD\r
+End If\r
+Path = Text3\r
+If Right(Path, 1) <> "\" Then Path = Path + "\"\r
+If IsDir(Path) Then\r
+ SetReg AppKey + "StartupPath", Text3\r
+ ChDir Text3\r
+End If\r
+Select Case Combo2.ListIndex\r
+Case 0\r
+DefaultCompressID = -1\r
+DefaultCompress = MAFA_COMPRESS_STANDARD\r
+Case 1\r
+DefaultCompressID = -3\r
+DefaultCompress = MAFA_COMPRESS_DEFLATE\r
+Case 2\r
+DefaultCompressID = -4\r
+DefaultCompress = MAFA_COMPRESS_BZIP2\r
+End Select\r
+DefaultCompressLevel = Combo3.ListIndex - 1\r
+SetReg AppKey + "DefaultCompress", DefaultCompressID, REG_DWORD\r
+SetReg AppKey + "DefaultZlibLevel", DefaultCompressLevel, REG_DWORD\r
+DelKey AppKey + "Compression\"\r
+NewKey AppKey + "Compression\"\r
+For xNum = 1 To UBound(NewExtNames)\r
+ ExtList = ExtList + NewExtNames(xNum)\r
+ SetReg AppKey + "Compression\" + NewExtNames(xNum), CStr(NewExtComp(xNum))\r
+Next xNum\r
+SetReg AppKey + "Compression\List", ExtList\r
+NewKey SharedAppKey + "FileDefaultActions\"\r
+For aNum = 1 To FileTypes.ListItems.Count\r
+ dItem = GetReg("HKEY_CLASSES_ROOT\" + FileTypes.ListItems.Item(aNum).Key + "\shell\", "open")\r
+ dItem = GetReg(SharedAppKey + "FileDefaultActions\" + FileTypes.ListItems.Item(aNum).Key, dItem)\r
+ ndItem = FileTypes.ListItems.Item(aNum).Tag\r
+ If LCase(dItem) <> LCase(ndItem) And ndItem <> "" Then\r
+ SetReg SharedAppKey + "FileDefaultActions\" + FileTypes.ListItems.Item(aNum).Key, ndItem\r
+ End If\r
+Next aNum\r
+Hide\r
+If LCase(ListFile) <> LCase(NewListFile) Then\r
+ ListFile = NewListFile\r
+ SetReg AppKey + "ListFile", ListFile\r
+ CD.FileName = OldFileName\r
+ If FileExists(OldFileName) Then MpqEx.OpenMpq\r
+End If\r
+Unload Me\r
+End Sub\r
+Private Sub Command2_Click()\r
+Unload Me\r
+End Sub\r
+Private Sub Command4_Click()\r
+DelReg AppKey + "Status\WindowState"\r
+DelReg AppKey + "Status\WindowHeight"\r
+DelReg AppKey + "Status\WindowLeft"\r
+DelReg AppKey + "Status\WindowTop"\r
+DelReg AppKey + "Status\WindowWidth"\r
+Check1.Value = 0\r
+End Sub\r
+Private Sub Command5_Click()\r
+Dim Path As String\r
+PathInput.hwndOwner = hWnd\r
+Path = PathInputBox(PathInput, "WinMPQ Startup Path", Text3)\r
+If Path <> "" Then Text3 = Path\r
+End Sub\r
+Private Sub Command6_Click()\r
+Dim xNum As Integer\r
+If List1.ListIndex > -1 Then\r
+ For xNum = 1 To UBound(NewExtNames)\r
+ If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For\r
+ Next xNum\r
+ If xNum < UBound(NewExtNames) Then\r
+ For xNum = xNum To UBound(NewExtNames) - 1\r
+ NewExtNames(xNum) = NewExtNames(xNum + 1)\r
+ NewExtComp(xNum) = NewExtComp(xNum + 1)\r
+ Next xNum\r
+ End If\r
+ ReDim Preserve NewExtNames(UBound(NewExtNames) - 1) As String\r
+ ReDim Preserve NewExtComp(UBound(NewExtComp) - 1) As Integer\r
+ On Error Resume Next\r
+ List1.RemoveItem List1.ListIndex\r
+End If\r
+End Sub\r
+Private Sub Form_Load()\r
+Dim Path As String, PathType As Integer, NewFileListNames As String\r
+Dim ExtList As String\r
+Dim aExt As String, aName As String, aNum As Long, DCompType As Long\r
+On Error Resume Next\r
+Left = MpqEx.Left + 330\r
+If Left < 0 Then Left = 0\r
+If Left + Width > Screen.Width Then Left = Screen.Width - Width\r
+Top = MpqEx.Top + 315\r
+If Top < 0 Then Top = 0\r
+If Top + Height > Screen.Height Then Top = Screen.Height - Height\r
+Path = App.Path\r
+If Right(Path, 1) <> "\" Then Path = Path + "\"\r
+Text1 = DefaultMaxFiles\r
+Text5 = DefaultBlockSize\r
+Text2 = LocaleID\r
+OldFileName = CD.FileName\r
+CD.FileName = ""\r
+NewListFile = GetReg(AppKey + "ListFile", Path + "mpq_data.txt")\r
+For aNum = 1 To Len(NewListFile)\r
+ If InStr(aNum, NewListFile, vbCrLf) Then\r
+ aName = Mid(NewListFile, aNum, InStr(aNum, NewListFile, vbCrLf) - aNum)\r
+ If FileExists(aName) Or IsDir(aName) Then\r
+ FileLists.AddItem aName\r
+ NewFileListNames = NewFileListNames + aName + vbCrLf\r
+ End If\r
+ aNum = InStr(aNum, NewListFile, vbCrLf) + 1\r
+ Else\r
+ aName = Mid(NewListFile, aNum)\r
+ If FileExists(aName) Or IsDir(aName) Then\r
+ FileLists.AddItem aName\r
+ NewFileListNames = NewFileListNames + aName\r
+ End If\r
+ Exit For\r
+ End If\r
+Next aNum\r
+NewListFile = NewFileListNames\r
+If Right(NewListFile, 2) = vbCrLf Then NewListFile = Left(NewListFile, Len(NewListFile) - 2)\r
+If GetReg(AppKey + "SaveWindowStatus", 1) > 0 Then Check1.Value = 1 Else Check1.Value = 0\r
+If GetReg(AppKey + "ShowConfirmation", 1) > 0 Then Check3.Value = 1 Else Check3.Value = 0\r
+If GetReg(AppKey + "UseDragDropWildcards", 1) > 0 Then Check4.Value = 1 Else Check4.Value = 0\r
+If GetReg(AppKey + "CheckModDateTime", 1) > 0 Then Check5.Value = 1 Else Check5.Value = 0\r
+If GetReg(AppKey + "AutofindFileLists", 0) > 0 Then Check7.Value = 1 Else Check7.Value = 0\r
+If GetReg(AppKey + "UseOnlyAutofindLists", 1) > 0 Then Check8.Value = 1 Else Check8.Value = 0\r
+If GetReg("HKEY_CLASSES_ROOT\.mpq\", "Mpq.Archive") = "Mpq.Archive" And InStr(1, GetReg("HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " " + Chr(34) + "%1" + Chr(34)), App.EXEName + ".exe", 1) > 0 Then Check2.Value = 1 Else Check2.Value = 0\r
+Text3 = GetReg(AppKey + "StartupPath", CurDir)\r
+PathType = GetReg(AppKey + "StartupPathType", 0)\r
+If PathType < 0 Then PathType = 0\r
+If PathType > 2 Then PathType = 2\r
+Option1(PathType).Value = True\r
+If PathType = 0 Then\r
+ Text3 = CurDir\r
+ElseIf PathType = 1 Then\r
+ Text3 = App.Path\r
+End If\r
+ReDim NewExtNames(0) As String\r
+ReDim NewExtComp(0) As Integer\r
+Combo1.ListIndex = 1\r
+DCompType = GetReg(AppKey + "DefaultCompress", -1)\r
+Select Case DCompType\r
+Case -3\r
+Combo2.ListIndex = 1\r
+Case -4\r
+Combo2.ListIndex = 2\r
+Case Else\r
+Combo2.ListIndex = 0\r
+End Select\r
+Combo3.ListIndex = GetReg(AppKey + "DefaultZlibLevel", Z_DEFAULT_COMPRESSION) + 1\r
+ExtList = GetReg(AppKey + "Compression\List", ".bik.smk.mp3.mpq.scm.scx.w3m.w3x.wav")\r
+If InStr(1, ExtList, ".") > 0 And Len(ExtList) > 1 Then\r
+Do\r
+ ReDim Preserve NewExtNames(UBound(NewExtNames) + 1) As String\r
+ ReDim Preserve NewExtComp(UBound(NewExtComp) + 1) As Integer\r
+ If InStr(2, ExtList, ".") > 0 Then\r
+ NewExtNames(UBound(NewExtNames)) = Left(ExtList, InStr(2, ExtList, ".") - 1)\r
+ Else\r
+ NewExtNames(UBound(NewExtNames)) = ExtList\r
+ End If\r
+ ExtList = Mid(ExtList, Len(NewExtNames(UBound(NewExtNames))) + 1)\r
+ List1.AddItem NewExtNames(UBound(NewExtNames))\r
+ If LCase(NewExtNames(UBound(NewExtNames))) = ".bik" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.bik", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".smk" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.smk", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".mp3" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.mp3", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".mpq" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.mpq", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".scm" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.scm", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".scx" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.scx", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".w3m" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.w3m", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".w3x" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.w3x", "-2"))\r
+ ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".wav" Then\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.wav", "0"))\r
+ Else\r
+ NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\" + NewExtNames(UBound(NewExtNames)), "-1"))\r
+ End If\r
+Loop Until ExtList = ""\r
+End If\r
+Do\r
+ aExt = EnumKey("HKEY_CLASSES_ROOT\", aNum)\r
+ If Left(aExt, 1) = "." Then\r
+ aName = GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")\r
+ If aName <> "" Then\r
+ On Error GoTo AlreadyExists\r
+ FileTypes.ListItems.Add(, aName, GetReg("HKEY_CLASSES_ROOT\" + aName + "\", UCase(Mid(aExt, 2)) + " File")).ToolTipText = UCase(aExt)\r
+ On Error Resume Next\r
+ End If\r
+ ElseIf LCase(aExt) = "*" Then\r
+ FileTypes.ListItems.Add(, aExt, GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")).ToolTipText = ""\r
+ If FileTypes.ListItems.Item(aExt).Text = "" Then FileTypes.ListItems.Item(aExt).Text = " All Files"\r
+ ElseIf LCase(aExt) = "unknown" Then\r
+ FileTypes.ListItems.Add(, aExt, GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")).ToolTipText = ""\r
+ If FileTypes.ListItems.Item(aExt).Text = "" Then FileTypes.ListItems.Item(aExt).Text = " Unknown File"\r
+ End If\r
+ aNum = aNum + 1\r
+Loop Until aExt = ""\r
+Exit Sub\r
+AlreadyExists:\r
+ FileTypes.ListItems.Item(aName).ToolTipText = FileTypes.ListItems.Item(aName).ToolTipText + " " + UCase(aExt)\r
+Resume Next\r
+End Sub\r
+Private Sub Form_Resize()\r
+FileTypes.ColumnHeaders.Item(1).Width = FileTypes.Width - 30 * Screen.TwipsPerPixelX\r
+End Sub\r
+\r
+Private Sub Form_Unload(Cancel As Integer)\r
+CD.FileName = OldFileName\r
+End Sub\r
+Private Sub List1_Click()\r
+Dim xNum As Integer, OldExtComp As Integer\r
+If List1.ListIndex > -1 Then\r
+ Combo1.Enabled = True\r
+ For xNum = 1 To UBound(NewExtNames)\r
+ If List1.List(List1.ListIndex) = NewExtNames(xNum) Then Exit For\r
+ Next xNum\r
+ Select Case NewExtComp(xNum)\r
+ Case -2\r
+ AudioC(0).Value = True\r
+ Combo1.ListIndex = 0\r
+ Case -1\r
+ AudioC(0).Value = True\r
+ Combo1.ListIndex = 1\r
+ Case -3\r
+ AudioC(0).Value = True\r
+ Combo1.ListIndex = 2\r
+ Case -4\r
+ AudioC(0).Value = True\r
+ Combo1.ListIndex = 4\r
+ Case 0, 1, 2\r
+ OldExtComp = NewExtComp(xNum)\r
+ Combo1.ListIndex = 3\r
+ AudioC(OldExtComp).Value = True\r
+ Case Else\r
+ AudioC(0).Value = True\r
+ Combo1.ListIndex = 1\r
+ End Select\r
+Else\r
+ Combo1.ListIndex = 1\r
+ Combo1.Enabled = False\r
+End If\r
+End Sub\r
+Private Sub Option1_Click(Index As Integer)\r
+If Index = 2 Then\r
+ Text3.Enabled = True\r
+ Command5.Enabled = True\r
+Else\r
+ Text3.Enabled = False\r
+ Command5.Enabled = False\r
+End If\r
+End Sub\r
+Private Sub Tabs_Click()\r
+Dim TabDisp As PictureBox\r
+For Each TabDisp In TabDisps\r
+ TabDisp.Visible = False\r
+Next TabDisp\r
+TabDisps(Tabs.SelectedItem.Index).Visible = True\r
+End Sub\r
+Private Sub Text1_KeyPress(KeyAscii As Integer)\r
+If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0\r
+End Sub\r
+\r
+Private Sub Text5_Change()\r
+On Error Resume Next\r
+If Text5 <> "" Then\r
+ If Text5 > 23 Then Text5 = 23\r
+ If Text5 <= 23 Then _\r
+ ActualBlockSize = CStr((512 * 2 ^ Text5) / 1024) + " KB"\r
+Else\r
+ ActualBlockSize = ""\r
+End If\r
+On Error GoTo 0\r
+End Sub\r
+Private Sub Text5_KeyPress(KeyAscii As Integer)\r
+If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0\r
+End Sub\r
+Private Sub Text1_LostFocus()\r
+If Text1 = "" Then Text1 = 0\r
+'If Text1 < 16 Then Text1 = 16\r
+'If Text1 > 262144 Then Text1 = 262144\r
+End Sub\r
+Private Sub Text5_LostFocus()\r
+If Text5 = "" Then Text5 = DEFAULT_BLOCK_SIZE\r
+If Text5 > 23 Then Text5 = 23\r
+End Sub\r
+Private Sub Text2_KeyPress(KeyAscii As Integer)\r
+Dim NewValue As Long\r
+If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 And KeyAscii <> Asc("-") Then KeyAscii = 0\r
+On Error GoTo TooBig\r
+If (KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = Asc("-") Then NewValue = CLng(Text2 + Chr(KeyAscii))\r
+On Error GoTo 0\r
+Exit Sub\r
+TooBig:\r
+KeyAscii = 0\r
+End Sub\r
+Private Sub Text2_LostFocus()\r
+If Text2 = "" Then Text2 = 0\r
+End Sub\r
+Private Sub Text4_GotFocus()\r
+cmdAdd.Default = True\r
+End Sub\r
+Private Sub Text4_LostFocus()\r
+Command1.Default = True\r
+End Sub\r
+Private Sub Actions_Click()\r
+On Error GoTo NotSelected\r
+FileTypes.SelectedItem.Tag = FileTypes.SelectedItem.Tag\r
+On Error GoTo 0\r
+If FileTypes.SelectedItem.Selected = True Then\r
+ FileTypes.SelectedItem.Tag = ActID(Actions.ListIndex + 1)\r
+End If\r
+NotSelected:\r
+End Sub\r
+Private Sub FileTypes_ItemClick(ByVal Item As ListItem)\r
+Dim aNum As Long, aItem As String, aName As String, bNum As Long, dItem As String\r
+Label8 = Item.ToolTipText\r
+Actions.Clear\r
+ReDim ActID(0) As String\r
+aName = Item.Key\r
+Do\r
+ aItem = EnumKey("HKEY_CLASSES_ROOT\" + aName + "\shell\", aNum)\r
+ If aItem <> "" Then\r
+ If LCase(aItem) = "openas" And IsEmpty(GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\" + aItem + "\")) Then\r
+ Actions.AddItem "Open with..."\r
+ Else\r
+ Actions.AddItem GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\" + aItem + "\", UCase(Left(aItem, 1)) + Mid(aItem, 2))\r
+ End If\r
+ ReDim Preserve ActID(UBound(ActID) + 1) As String\r
+ ActID(UBound(ActID)) = aItem\r
+ aNum = aNum + 1\r
+ End If\r
+Loop Until aItem = ""\r
+If Item.Tag = "" Then\r
+ dItem = GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\", "open")\r
+ dItem = GetReg(SharedAppKey + "FileDefaultActions\" + aName, dItem)\r
+Else\r
+ dItem = Item.Tag\r
+End If\r
+If Actions.ListCount > 0 Then Actions.ListIndex = 0\r
+For bNum = 0 To Actions.ListCount - 1\r
+ If LCase(ActID(bNum + 1)) = LCase(dItem) Then\r
+ Actions.ListIndex = bNum\r
+ End If\r
+Next bNum\r
+Item.Tag = dItem\r
+End Sub\r
|