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




CommitLineData
0d212c7b 1VERSION 4.00
2Begin VB.Form Options
3 BorderStyle = 3 'Fixed Dialog
4 Caption = "Options"
5 ClientHeight = 4695
6 ClientLeft = 1575
7 ClientTop = 1815
8 ClientWidth = 5415
9 Height = 5100
10 Icon = "Options.frx":0000
11 KeyPreview = -1 'True
12 Left = 1515
13 LinkTopic = "Form1"
14 MaxButton = 0 'False
15 MinButton = 0 'False
16 ScaleHeight = 4695
17 ScaleWidth = 5415
18 ShowInTaskbar = 0 'False
19 Top = 1470
20 Width = 5535
21 Begin VB.CommandButton Command2
22 Caption = "&Cancel"
23 Height = 375
24 Left = 3120
25 TabIndex = 1
26 Top = 4200
27 Width = 1335
28 End
29 Begin VB.CommandButton Command1
30 Caption = "O&k"
31 Height = 375
32 Left = 960
33 TabIndex = 0
34 Top = 4200
35 Width = 1335
36 End
37 Begin VB.PictureBox TabDisps
38 BorderStyle = 0 'None
39 Height = 3495
40 Index = 1
41 Left = 240
42 ScaleHeight = 3495
43 ScaleWidth = 4995
44 TabIndex = 3
45 Top = 480
46 Width = 4995
47 Begin VB.TextBox Text1
48 Height = 285
49 Left = 0
50 MaxLength = 6
51 TabIndex = 9
52 Text = "1024"
53 Top = 600
54 Width = 1215
55 End
56 Begin VB.TextBox Text2
57 Height = 285
58 Left = 0
59 TabIndex = 8
60 Text = "0"
61 Top = 1200
62 Width = 1215
63 End
64 Begin VB.CheckBox Check2
65 Caption = "&Associate WinMPQ with MPQ Archives"
66 Height = 255
67 Left = 0
68 TabIndex = 7
69 Top = 1680
70 Value = 2 'Grayed
71 Width = 3375
72 End
73 Begin VB.CheckBox Check4
74 Caption = "Use &wildcards in filenames for drag and drop"
75 Height = 255
76 Left = 0
77 TabIndex = 6
78 Top = 2400
79 Value = 2 'Grayed
80 Width = 3735
81 End
82 Begin VB.CheckBox Check5
83 Caption = "Automatically update &modified files"
84 Height = 255
85 Left = 0
86 TabIndex = 5
87 Top = 2160
88 Value = 2 'Grayed
89 Width = 3015
90 End
91 Begin VB.CheckBox Check6
92 Caption = "&Load extra file information (disable this for quicker MPQ load times)"
93 Height = 255
94 Left = 0
95 TabIndex = 4
96 Top = 1920
97 Value = 2 'Grayed
98 Width = 4995
99 End
100 Begin VB.Label Label1
101 AutoSize = -1 'True
102 Caption = "Maximum files for new archives: (this cannot be changed for an existing archive)"
103 Height = 495
104 Left = 0
105 TabIndex = 12
106 Top = 120
107 Width = 4335
108 WordWrap = -1 'True
109 End
110 Begin VB.Label Label2
111 AutoSize = -1 'True
112 Caption = "Locale ID for extracting"
113 Height = 195
114 Left = 0
115 TabIndex = 11
116 Top = 960
117 Width = 1650
118 End
119 Begin VB.Label Label3
120 Caption = $"Options.frx":000C
121 Height = 855
122 Left = 0
123 TabIndex = 10
124 Top = 2640
125 Width = 4935
126 End
127 End
128 Begin VB.PictureBox TabDisps
129 BorderStyle = 0 'None
130 Height = 3495
131 Index = 2
132 Left = 240
133 ScaleHeight = 3495
134 ScaleWidth = 4935
135 TabIndex = 23
136 Top = 480
137 Visible = 0 'False
138 Width = 4935
139 Begin VB.CheckBox Check8
140 Caption = "Do not use above lists when one is found by above option"
141 Height = 375
142 Left = 0
143 TabIndex = 49
144 Top = 2880
145 Value = 2 'Grayed
146 Width = 3375
147 End
148 Begin VB.CheckBox Check7
149 Caption = "Use file lists for similarly named archives"
150 Height = 195
151 Left = 0
152 TabIndex = 48
153 Top = 2640
154 Width = 3375
155 End
156 Begin VB.CommandButton cmdDelList
157 Caption = "&Remove"
158 Height = 375
159 Left = 3480
160 TabIndex = 45
161 Top = 1440
162 Width = 1335
163 End
164 Begin VB.ListBox FileLists
165 Height = 2205
166 Left = 0
167 TabIndex = 44
168 Top = 360
169 Width = 3375
170 End
171 Begin VB.CommandButton cmdAddList
172 Caption = "&Add List File..."
173 Height = 375
174 Left = 3480
175 TabIndex = 24
176 Top = 840
177 Width = 1335
178 End
179 Begin VB.Label Label11
180 Caption = "Note: Each file list added will increase the load time for archives."
181 Height = 255
182 Left = 0
183 TabIndex = 47
184 Top = 3240
185 Width = 4815
186 End
187 Begin VB.Label Label10
188 AutoSize = -1 'True
189 Caption = "File Lists:"
190 Height = 195
191 Left = 0
192 TabIndex = 46
193 Top = 120
194 Width = 645
195 End
196 End
197 Begin VB.PictureBox TabDisps
198 BorderStyle = 0 'None
199 Height = 3495
200 Index = 5
201 Left = 240
202 ScaleHeight = 3495
203 ScaleWidth = 4935
204 TabIndex = 13
205 Top = 480
206 Visible = 0 'False
207 Width = 4935
208 Begin VB.CommandButton Command4
209 Caption = "&Reset size/position"
210 Height = 375
211 Left = 360
212 TabIndex = 22
213 Top = 840
214 Width = 1695
215 End
216 Begin VB.CheckBox Check3
217 Caption = "Display &confirmation boxes"
218 Height = 255
219 Left = 0
220 TabIndex = 21
221 Top = 120
222 Value = 2 'Grayed
223 Width = 2415
224 End
225 Begin VB.CheckBox Check1
226 Caption = "&Save last window size and position"
227 Height = 255
228 Left = 0
229 TabIndex = 20
230 Top = 480
231 Value = 2 'Grayed
232 Width = 3015
233 End
234 Begin VB.Frame Frame1
235 Caption = "Startup Path"
236 Height = 1215
237 Left = 0
238 TabIndex = 14
239 Top = 2280
240 Width = 4935
241 Begin VB.OptionButton Option1
242 Caption = "Last &open folder"
243 Height = 255
244 Index = 0
245 Left = 120
246 TabIndex = 19
247 Top = 240
248 Value = -1 'True
249 Width = 1575
250 End
251 Begin VB.OptionButton Option1
252 Caption = "A&pplication folder"
253 Height = 255
254 Index = 1
255 Left = 1680
256 TabIndex = 18
257 Top = 240
258 Width = 1695
259 End
260 Begin VB.OptionButton Option1
261 Caption = "&User-defined folder"
262 Height = 255
263 Index = 2
264 Left = 120
265 TabIndex = 17
266 Top = 480
267 Width = 1695
268 End
269 Begin VB.TextBox Text3
270 Enabled = 0 'False
271 Height = 285
272 Left = 120
273 TabIndex = 16
274 Top = 840
275 Width = 3615
276 End
277 Begin VB.CommandButton Command5
278 Caption = "&Folder..."
279 Enabled = 0 'False
280 Height = 285
281 Left = 3840
282 TabIndex = 15
283 Top = 840
284 Width = 975
285 End
286 End
287 End
288 Begin VB.PictureBox TabDisps
289 BorderStyle = 0 'None
290 Height = 3495
291 Index = 4
292 Left = 240
293 ScaleHeight = 3495
294 ScaleWidth = 4935
295 TabIndex = 26
296 Top = 480
297 Visible = 0 'False
298 Width = 4935
299 Begin VB.ListBox Actions
300 Height = 1215
301 IntegralHeight = 0 'False
302 Left = 3120
303 TabIndex = 38
304 Top = 2280
305 Width = 1815
306 End
307 Begin MSComctlLib.ListView FileTypes
308 Height = 2535
309 Left = 0
310 TabIndex = 43
311 Top = 960
312 Width = 3015
313 _ExtentX = 5318
314 _ExtentY = 4471
315 View = 3
316 LabelEdit = 1
317 Sorted = -1 'True
318 MultiSelect = -1 'True
319 LabelWrap = -1 'True
320 HideSelection = -1 'True
321 _Version = 393217
322 ForeColor = -2147483640
323 BackColor = -2147483643
324 BorderStyle = 1
325 Appearance = 1
326 NumItems = 1
327 BeginProperty ColumnHeader(1) {BDD1F052-858B-11D1-B16A-00C0F0283628}
328 Text = "Registered file types:"
329 Object.Width = 2540
330 EndProperty
331 End
332 Begin VB.Label Label9
333 AutoSize = -1 'True
334 Caption = "File extensions:"
335 Height = 195
336 Left = 3120
337 TabIndex = 42
338 Top = 960
339 Width = 1080
340 End
341 Begin VB.Label Label7
342 AutoSize = -1 'True
343 Caption = "Default action:"
344 Height = 195
345 Left = 3120
346 TabIndex = 40
347 Top = 2040
348 Width = 1035
349 End
350 Begin VB.Label Label8
351 Height = 855
352 Left = 3120
353 TabIndex = 41
354 Top = 1200
355 Width = 1755
356 End
357 Begin VB.Label Label6
358 AutoSize = -1 'True
359 Caption = $"Options.frx":00F6
360 Height = 855
361 Left = 0
362 TabIndex = 39
363 Top = 120
364 Width = 4935
365 WordWrap = -1 'True
366 End
367 End
368 Begin VB.PictureBox TabDisps
369 BorderStyle = 0 'None
370 Height = 3495
371 Index = 3
372 Left = 240
373 ScaleHeight = 3495
374 ScaleWidth = 4935
375 TabIndex = 25
376 Top = 480
377 Visible = 0 'False
378 Width = 4935
379 Begin VB.ListBox List1
380 Height = 1815
381 ItemData = "Options.frx":01CE
382 Left = 0
383 List = "Options.frx":01D0
384 Sorted = -1 'True
385 TabIndex = 35
386 Top = 720
387 Width = 1575
388 End
389 Begin VB.TextBox Text4
390 Height = 285
391 Left = 0
392 TabIndex = 34
393 Top = 360
394 Width = 855
395 End
396 Begin VB.CommandButton cmdAdd
397 Caption = "&Add"
398 Height = 285
399 Left = 960
400 TabIndex = 33
401 Top = 360
402 Width = 615
403 End
404 Begin VB.CommandButton Command6
405 Caption = "&Remove"
406 Height = 255
407 Left = 0
408 TabIndex = 32
409 Top = 2640
410 Width = 1095
411 End
412 Begin VB.ComboBox Combo1
413 Enabled = 0 'False
414 Height = 315
415 ItemData = "Options.frx":01D2
416 Left = 1800
417 List = "Options.frx":01DF
418 Style = 2 'Dropdown List
419 TabIndex = 31
420 Top = 720
421 Width = 2535
422 End
423 Begin VB.Frame Frame2
424 Caption = "Audio Compression"
425 Height = 1335
426 Left = 1800
427 TabIndex = 27
428 Top = 1200
429 Visible = 0 'False
430 Width = 2535
431 Begin VB.OptionButton AudioC
432 Caption = "Medium"
433 Height = 255
434 Index = 0
435 Left = 120
436 TabIndex = 30
437 Top = 600
438 Value = -1 'True
439 Width = 2175
440 End
441 Begin VB.OptionButton AudioC
442 Caption = "Highest (Least space)"
443 Height = 255
444 Index = 1
445 Left = 120
446 TabIndex = 29
447 Top = 960
448 Width = 2175
449 End
450 Begin VB.OptionButton AudioC
451 Caption = "Lowest (Best quality)"
452 Height = 255
453 Index = 2
454 Left = 120
455 TabIndex = 28
456 Top = 240
457 Width = 2175
458 End
459 End
460 Begin VB.Label Label5
461 Caption = "Compression type"
462 Height = 255
463 Left = 1800
464 TabIndex = 37
465 Top = 480
466 Width = 1935
467 End
468 Begin VB.Label Label4
469 Caption = "File Extension"
470 Height = 255
471 Left = 0
472 TabIndex = 36
473 Top = 120
474 Width = 1215
475 End
476 End
477 Begin MSComctlLib.TabStrip Tabs
478 Height = 3975
479 Left = 120
480 TabIndex = 2
481 Top = 120
482 Width = 5175
483 _ExtentX = 9128
484 _ExtentY = 7011
485 HotTracking = -1 'True
486 _Version = 393216
487 BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628}
488 NumTabs = 5
489 BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628}
490 Caption = "General"
491 ImageVarType = 2
492 EndProperty
493 BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628}
494 Caption = "File Lists"
495 ImageVarType = 2
496 EndProperty
497 BeginProperty Tab3 {1EFB659A-857C-11D1-B16A-00C0F0283628}
498 Caption = "Compression Auto-Selection"
499 ImageVarType = 2
500 EndProperty
501 BeginProperty Tab4 {1EFB659A-857C-11D1-B16A-00C0F0283628}
502 Caption = "File Associations"
503 ImageVarType = 2
504 EndProperty
505 BeginProperty Tab5 {1EFB659A-857C-11D1-B16A-00C0F0283628}
506 Caption = "Other"
507 ImageVarType = 2
508 EndProperty
509 EndProperty
510 End
511End
512Attribute VB_Name = "Options"
513Attribute VB_Creatable = False
514Attribute VB_Exposed = False
515Option Explicit
516
517Dim OldFileName As String, NewListFile As String
518Dim NewExtNames() As String, NewExtComp() As Integer
519Dim ActID() As String
520
521Private Sub Check8_Click()
522If Check8.Value = 1 Then Check8.Value = 2
523End Sub
524Private Sub cmdAdd_Click()
525Dim eNum As Integer
526If Text4 <> "" Then
527 If Left(Text4, 1) <> "." Then Text4 = "." + Text4
528 For eNum = 1 To UBound(NewExtNames)
529 If Text4 = NewExtNames(eNum) Then Exit Sub
530 Next eNum
531 List1.AddItem Text4
532 ReDim Preserve NewExtNames(UBound(NewExtNames) + 1) As String
533 NewExtNames(UBound(NewExtNames)) = Text4
534 ReDim Preserve NewExtComp(UBound(NewExtComp) + 1) As Integer
535 NewExtComp(UBound(NewExtComp)) = -1
536 Text4 = ""
537End If
538End Sub
539Private Sub cmdAddList_Click()
540Dim lNum As Long
541CD.Flags = &H1000 Or &H4 Or &H2
542CD.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"
543If ShowOpen(CD) = False Then GoTo Cancel
544FileLists.AddItem CD.FileName
545If FileLists.ListCount > 0 Then
546 NewListFile = FileLists.List(0)
547Else
548 NewListFile = ""
549End If
550For lNum = 1 To FileLists.ListCount - 1
551 NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)
552Next lNum
553Cancel:
554End Sub
555Private Sub cmdDelList_Click()
556Dim lNum As Long
557If FileLists.ListIndex > -1 Then
558 FileLists.RemoveItem FileLists.ListIndex
559 If FileLists.ListCount > 0 Then
560 NewListFile = FileLists.List(0)
561 Else
562 NewListFile = ""
563 End If
564 For lNum = 1 To FileLists.ListCount - 1
565 NewListFile = NewListFile + vbCrLf + FileLists.List(lNum)
566 Next lNum
567End If
568End Sub
569Private Sub Combo1_Click()
570Dim eNum As Integer
571For eNum = 1 To UBound(NewExtNames)
572 If List1.List(List1.ListIndex) = NewExtNames(eNum) Then Exit For
573Next eNum
574If UBound(NewExtNames) = 0 Then eNum = 0
575If Combo1.ListIndex = 2 Then
576 Frame2.Visible = True
577 NewExtComp(eNum) = Combo1.ListIndex - 2
578Else
579 Frame2.Visible = False
580 NewExtComp(eNum) = Combo1.ListIndex - 2
581End If
582End Sub
583Private Sub AudioC_Click(Index As Integer)
584Dim eNum As Integer
585For eNum = 1 To UBound(NewExtNames)
586 If List1.List(List1.ListIndex) = NewExtNames(eNum) Then Exit For
587Next eNum
588If UBound(NewExtNames) = 0 Then eNum = 0
589NewExtComp(eNum) = Index
590End Sub
591Private Sub Check1_Click()
592If Check1.Value = 1 Then Check1.Value = 2
593End Sub
594
595Private Sub Check2_Click()
596If Check2.Value = 1 Then Check2.Value = 2
597End Sub
598
599Private Sub Check3_Click()
600If Check3.Value = 1 Then Check3.Value = 2
601End Sub
602
603Private Sub Check4_Click()
604If Check4.Value = 1 Then Check4.Value = 2
605End Sub
606
607Private Sub Check5_Click()
608If Check5.Value = 1 Then Check5.Value = 2
609End Sub
610
611Private Sub Check6_Click()
612If Check6.Value = 1 Then Check6.Value = 2
613End Sub
614Private Sub Command1_Click()
615Dim Path As String, BatKey As String
616Dim eNum As Integer, ExtList As String
617Dim dItem As String, ndItem As String, aNum As Long
618Path = App.Path
619If Right(Path, 1) <> "\" Then Path = Path + "\"
620Text1_LostFocus
621Text2_LostFocus
622MpqEx.Mpq.DefaultMaxFiles = Text1
623LocaleID = Text2
624MpqEx.Mpq.SetLocale (LocaleID)
625NewKey AppKey
626SetReg AppKey + "DefaultMaxFiles", Text1, REG_DWORD
627SetReg AppKey + "LocaleID", Text2, REG_DWORD
628If Check1.Value > 0 Then
629 SetReg AppKey + "SaveWindowStatus", 1, REG_DWORD
630Else
631 SetReg AppKey + "SaveWindowStatus", 0, REG_DWORD
632End If
633If Check3.Value > 0 Then
634 SetReg AppKey + "ShowConfirmation", 1, REG_DWORD
635Else
636 SetReg AppKey + "ShowConfirmation", 0, REG_DWORD
637End If
638If Check4.Value > 0 Then
639 SetReg AppKey + "UseDragDropWildcards", 1, REG_DWORD
640Else
641 SetReg AppKey + "UseDragDropWildcards", 0, REG_DWORD
642End If
643If Check5.Value > 0 Then
644 SetReg AppKey + "CheckModDateTime", 1, REG_DWORD
645Else
646 SetReg AppKey + "CheckModDateTime", 0, REG_DWORD
647 MpqEx.Timer1.Enabled = False
648End If
649If Check6.Value > 0 Then
650 SetReg AppKey + "LoadExtraInfo", 1, REG_DWORD
651Else
652 SetReg AppKey + "LoadExtraInfo", 0, REG_DWORD
653End If
654If Check7.Value > 0 Then
655 SetReg AppKey + "AutofindFileLists", 1, REG_DWORD
656Else
657 SetReg AppKey + "AutofindFileLists", 0, REG_DWORD
658End If
659If Check8.Value > 0 Then
660 SetReg AppKey + "UseOnlyAutofindLists", 1, REG_DWORD
661Else
662 SetReg AppKey + "UseOnlyAutofindLists", 0, REG_DWORD
663End If
664If Check2.Value > 0 Then
665 NewKey "HKEY_CLASSES_ROOT\.mpq\", "Mpq.Archive"
666 NewKey "HKEY_CLASSES_ROOT\.mpq\ShellNew\"
667 SetReg "HKEY_CLASSES_ROOT\.mpq\ShellNew\NullFile", ""
668 NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\", "MPQ Archive"
669 NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\DefaultIcon\", Path + App.EXEName + ".exe,1"
670 NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\"
671 NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\"
672 NewKey "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " " + Chr(34) + "%1" + Chr(34)
673 BatKey = "HKEY_CLASSES_ROOT\" + GetReg("HKEY_CLASSES_ROOT\.bat\", "batfile") + "\"
674 NewKey "HKEY_CLASSES_ROOT\.mscript\", "Mpq.Script"
675 NewKey "HKEY_CLASSES_ROOT\.mbat\", "Mpq.Script"
676 NewKey "HKEY_CLASSES_ROOT\.mscript\ShellNew\"
677 SetReg "HKEY_CLASSES_ROOT\.mscript\ShellNew\NullFile", ""
678 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\", "Mo'PaQ 2000 Script"
679 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\DefaultIcon\", GetReg(BatKey + "DefaultIcon\", "C:\WINDOWS\SYSTEM\shell32.dll,-153")
680 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\"
681 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\open\"
682 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\open\command\", GetReg(BatKey + "shell\edit\command\", "C:\WINDOWS\NOTEPAD.EXE %1")
683 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\"
684 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\run\", "&Run"
685 NewKey "HKEY_CLASSES_ROOT\Mpq.Script\shell\run\command\", Chr(34) + Path + App.EXEName + ".exe" + Chr(34) + " script " + Chr(34) + "%1" + Chr(34)
686Else
687 If GetReg("HKEY_CLASSES_ROOT\.mpq\") = "Mpq.Archive" Then
688 DelKey "HKEY_CLASSES_ROOT\.mpq\ShellNew\"
689 DelKey "HKEY_CLASSES_ROOT\.mpq\"
690 SetReg "HKEY_CLASSES_ROOT\Mpq.Archive\shell\open\command\", "not used"
691 DelKey "HKEY_CLASSES_ROOT\.mscript\ShellNew\"
692 DelKey "HKEY_CLASSES_ROOT\.mscript\"
693 DelKey "HKEY_CLASSES_ROOT\.mbat\"
694 End If
695End If
696SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, vbNullString, vbNullString
697If Option1(0).Value = True Then
698 SetReg AppKey + "StartupPathType", 0, REG_DWORD
699 Text3 = CurDir
700ElseIf Option1(1).Value = True Then
701 SetReg AppKey + "StartupPathType", 1, REG_DWORD
702 Text3 = App.Path
703ElseIf Option1(2).Value = True Then
704 SetReg AppKey + "StartupPathType", 2, REG_DWORD
705End If
706Path = Text3
707If Right(Path, 1) <> "\" Then Path = Path + "\"
708If IsDir(Path) Then
709 SetReg AppKey + "StartupPath", Text3
710 ChDir Text3
711End If
712DelKey AppKey + "Compression\"
713NewKey AppKey + "Compression\"
714For eNum = 1 To UBound(NewExtNames)
715 ExtList = ExtList + NewExtNames(eNum)
716 SetReg AppKey + "Compression\" + NewExtNames(eNum), CStr(NewExtComp(eNum))
717Next eNum
718SetReg AppKey + "Compression\List", ExtList
719NewKey SharedAppKey + "FileDefaultActions\"
720For aNum = 1 To FileTypes.ListItems.Count
721 dItem = GetReg("HKEY_CLASSES_ROOT\" + FileTypes.ListItems.Item(aNum).Key + "\shell\", "open")
722 dItem = GetReg(SharedAppKey + "FileDefaultActions\" + FileTypes.ListItems.Item(aNum).Key, dItem)
723 ndItem = FileTypes.ListItems.Item(aNum).Tag
724 If LCase(dItem) <> LCase(ndItem) And ndItem <> "" Then
725 SetReg SharedAppKey + "FileDefaultActions\" + FileTypes.ListItems.Item(aNum).Key, ndItem
726 End If
727Next aNum
728Hide
729If LCase(ListFile) <> LCase(NewListFile) Then
730 ListFile = NewListFile
731 SetReg AppKey + "ListFile", ListFile
732 CD.FileName = OldFileName
733 If FileExists(OldFileName) Then MpqEx.OpenMpq
734End If
735Unload Me
736End Sub
737Private Sub Command2_Click()
738Unload Me
739End Sub
740Private Sub Command4_Click()
741DelReg AppKey + "Status\WindowState"
742DelReg AppKey + "Status\WindowHeight"
743DelReg AppKey + "Status\WindowLeft"
744DelReg AppKey + "Status\WindowTop"
745DelReg AppKey + "Status\WindowWidth"
746Check1.Value = 0
747End Sub
748
749Private Sub Command5_Click()
750Dim Path As String
751Path = PathInputBox(PathInput, "WinMPQ Startup Path", Text3)
752If Path <> "" Then Text3 = Path
753End Sub
754
755Private Sub Command6_Click()
756Dim eNum As Integer
757If List1.ListIndex > -1 Then
758 For eNum = 1 To UBound(NewExtNames)
759 If List1.List(List1.ListIndex) = NewExtNames(eNum) Then Exit For
760 Next eNum
761 If eNum < UBound(NewExtNames) Then
762 For eNum = eNum To UBound(NewExtNames) - 1
763 NewExtNames(eNum) = NewExtNames(eNum + 1)
764 NewExtComp(eNum) = NewExtComp(eNum + 1)
765 Next eNum
766 End If
767 ReDim Preserve NewExtNames(UBound(NewExtNames) - 1) As String
768 ReDim Preserve NewExtComp(UBound(NewExtComp) - 1) As Integer
769 On Error Resume Next
770 List1.RemoveItem List1.ListIndex
771End If
772End Sub
773Private Sub Form_Load()
774Dim Path As String, PathType As Integer, NewFileListNames As String
775Dim ExtList As String
776Dim aExt As String, aName As String, aNum As Long
777Left = MpqEx.Left + 330
778If Left < 0 Then Left = 0
779If Left + Width > Screen.Width Then Left = Screen.Width - Width
780Top = MpqEx.Top + 315
781If Top < 0 Then Top = 0
782If Top + Height > Screen.Height Then Top = Screen.Height - Height
783Path = App.Path
784If Right(Path, 1) <> "\" Then Path = Path + "\"
785Text1 = MpqEx.Mpq.DefaultMaxFiles
786Text2 = LocaleID
787OldFileName = CD.FileName
788CD.FileName = ""
789NewListFile = GetReg(AppKey + "ListFile", Path + "mpq_data.txt")
790For aNum = 1 To Len(NewListFile)
791 If InStr(aNum, NewListFile, vbCrLf) Then
792 aName = Mid(NewListFile, aNum, InStr(aNum, NewListFile, vbCrLf) - aNum)
793 If FileExists(aName) Then
794 FileLists.AddItem aName
795 NewFileListNames = NewFileListNames + aName + vbCrLf
796 End If
797 aNum = InStr(aNum, NewListFile, vbCrLf) + 1
798 Else
799 aName = Mid(NewListFile, aNum)
800 If FileExists(aName) Then
801 FileLists.AddItem aName
802 NewFileListNames = NewFileListNames + aName
803 End If
804 Exit For
805 End If
806Next aNum
807NewListFile = NewFileListNames
808If Right(NewListFile, 2) = vbCrLf Then NewListFile = Left(NewListFile, Len(NewListFile) - 2)
809If GetReg(AppKey + "SaveWindowStatus", 1) > 0 Then Check1.Value = 1 Else Check1.Value = 0
810If GetReg(AppKey + "ShowConfirmation", 1) > 0 Then Check3.Value = 1 Else Check3.Value = 0
811If GetReg(AppKey + "UseDragDropWildcards", 1) > 0 Then Check4.Value = 1 Else Check4.Value = 0
812If GetReg(AppKey + "CheckModDateTime", 1) > 0 Then Check5.Value = 1 Else Check5.Value = 0
813If GetReg(AppKey + "LoadExtraInfo", 1) > 0 Then Check6.Value = 1 Else Check6.Value = 0
814If GetReg(AppKey + "AutofindFileLists", 0) > 0 Then Check7.Value = 1 Else Check7.Value = 0
815If GetReg(AppKey + "UseOnlyAutofindLists", 1) > 0 Then Check8.Value = 1 Else Check8.Value = 0
816If 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
817Text3 = GetReg(AppKey + "StartupPath", CurDir)
818PathType = GetReg(AppKey + "StartupPathType", 0)
819If PathType < 0 Then PathType = 0
820If PathType > 2 Then PathType = 2
821Option1(PathType).Value = True
822If PathType = 0 Then
823 Text3 = CurDir
824ElseIf PathType = 1 Then
825 Text3 = App.Path
826End If
827ReDim NewExtNames(0) As String
828ReDim NewExtComp(0) As Integer
829Combo1.ListIndex = 1
830ExtList = GetReg(AppKey + "Compression\List", ".bik.smk.wav")
831If InStr(1, ExtList, ".") > 0 And Len(ExtList) > 1 Then
832Do
833 ReDim Preserve NewExtNames(UBound(NewExtNames) + 1) As String
834 ReDim Preserve NewExtComp(UBound(NewExtComp) + 1) As Integer
835 If InStr(2, ExtList, ".") > 0 Then
836 NewExtNames(UBound(NewExtNames)) = Left(ExtList, InStr(2, ExtList, ".") - 1)
837 Else
838 NewExtNames(UBound(NewExtNames)) = ExtList
839 End If
840 ExtList = Mid(ExtList, Len(NewExtNames(UBound(NewExtNames))) + 1)
841 List1.AddItem NewExtNames(UBound(NewExtNames))
842 If LCase(NewExtNames(UBound(NewExtNames))) = ".bik" Then
843 NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.bik", "-2"))
844 ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".smk" Then
845 NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.smk", "-2"))
846 ElseIf LCase(NewExtNames(UBound(NewExtNames))) = ".wav" Then
847 NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\.wav", "0"))
848 Else
849 NewExtComp(UBound(NewExtComp)) = CInt(GetReg(AppKey + "Compression\" + NewExtNames(UBound(NewExtNames)), "-1"))
850 End If
851Loop Until ExtList = ""
852End If
853Do
854 aExt = EnumKey("HKEY_CLASSES_ROOT\", aNum)
855 If Left(aExt, 1) = "." Then
856 aName = GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")
857 If aName <> "" Then
858 On Error GoTo AlreadyExists
859 FileTypes.ListItems.Add(, aName, GetReg("HKEY_CLASSES_ROOT\" + aName + "\", UCase(Mid(aExt, 2)) + " File")).ToolTipText = UCase(aExt)
860 On Error GoTo 0
861 End If
862 ElseIf LCase(aExt) = "unknown" Then
863 FileTypes.ListItems.Add(, aExt, GetReg("HKEY_CLASSES_ROOT\" + aExt + "\")).ToolTipText = ""
864 If FileTypes.ListItems.Item(aExt).Text = "" Then FileTypes.ListItems.Item(aExt).Text = " Unknown File"
865 End If
866 aNum = aNum + 1
867Loop Until aExt = ""
868Exit Sub
869AlreadyExists:
870 FileTypes.ListItems.Item(aName).ToolTipText = FileTypes.ListItems.Item(aName).ToolTipText + " " + UCase(aExt)
871Resume Next
872End Sub
873Private Sub Form_Resize()
874FileTypes.ColumnHeaders.Item(1).Width = FileTypes.Width - 30 * Screen.TwipsPerPixelX
875End Sub
876
877Private Sub Form_Unload(Cancel As Integer)
878CD.FileName = OldFileName
879End Sub
880
881Private Sub List1_Click()
882Dim eNum As Integer, OldExtComp As Integer
883If List1.ListIndex > -1 Then
884 Combo1.Enabled = True
885 For eNum = 1 To UBound(NewExtNames)
886 If List1.List(List1.ListIndex) = NewExtNames(eNum) Then Exit For
887 Next eNum
888 Select Case NewExtComp(eNum)
889 Case -2
890 AudioC(0).Value = True
891 Combo1.ListIndex = 0
892 Case -1
893 AudioC(0).Value = True
894 Combo1.ListIndex = 1
895 Case 0, 1, 2
896 OldExtComp = NewExtComp(eNum)
897 Combo1.ListIndex = 2
898 AudioC(OldExtComp).Value = True
899 Case Else
900 AudioC(0).Value = True
901 Combo1.ListIndex = 1
902 End Select
903Else
904 Combo1.ListIndex = 1
905 Combo1.Enabled = False
906End If
907End Sub
908Private Sub Option1_Click(Index As Integer)
909If Index = 2 Then
910 Text3.Enabled = True
911 Command5.Enabled = True
912Else
913 Text3.Enabled = False
914 Command5.Enabled = False
915End If
916End Sub
917
918Private Sub Tabs_Click()
919Dim TabDisp As PictureBox
920For Each TabDisp In TabDisps
921 TabDisp.Visible = False
922Next TabDisp
923TabDisps(Tabs.SelectedItem.Index).Visible = True
924End Sub
925Private Sub Text1_KeyPress(KeyAscii As Integer)
926If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0
927End Sub
928Private Sub Text1_LostFocus()
929If Text1 = "" Then Text1 = 0
930If Text1 < 16 Then Text1 = 16
931If Text1 > 262144 Then Text1 = 262144
932End Sub
933Private Sub Text2_KeyPress(KeyAscii As Integer)
934Dim NewValue As Long
935If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 And KeyAscii <> Asc("-") Then KeyAscii = 0
936On Error GoTo TooBig
937If (KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = Asc("-") Then NewValue = CLng(Text2 + Chr(KeyAscii))
938On Error GoTo 0
939Exit Sub
940TooBig:
941KeyAscii = 0
942End Sub
943Private Sub Text2_LostFocus()
944If Text2 = "" Then Text2 = 0
945End Sub
946
947Private Sub Text4_GotFocus()
948cmdAdd.Default = True
949End Sub
950
951Private Sub Text4_LostFocus()
952Command1.Default = True
953End Sub
954Private Sub Actions_Click()
955On Error GoTo NotSelected
956FileTypes.SelectedItem.Tag = FileTypes.SelectedItem.Tag
957On Error GoTo 0
958If FileTypes.SelectedItem.Selected = True Then
959 FileTypes.SelectedItem.Tag = ActID(Actions.ListIndex + 1)
960End If
961NotSelected:
962End Sub
963Private Sub FileTypes_ItemClick(ByVal Item As ListItem)
964Dim aNum As Long, aItem As String, aName As String, bNum As Long, dItem As String
965Label8 = Item.ToolTipText
966Actions.Clear
967ReDim ActID(0) As String
968aName = Item.Key
969Do
970 aItem = EnumKey("HKEY_CLASSES_ROOT\" + aName + "\shell\", aNum)
971 If aItem <> "" Then
972 If LCase(aItem) = "openas" And IsEmpty(GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\" + aItem + "\")) Then
973 Actions.AddItem "Open with..."
974 Else
975 Actions.AddItem GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\" + aItem + "\", UCase(Left(aItem, 1)) + Mid(aItem, 2))
976 End If
977 ReDim Preserve ActID(UBound(ActID) + 1) As String
978 ActID(UBound(ActID)) = aItem
979 aNum = aNum + 1
980 End If
981Loop Until aItem = ""
982If Item.Tag = "" Then
983 dItem = GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\", "open")
984 dItem = GetReg(SharedAppKey + "FileDefaultActions\" + aName, dItem)
985Else
986 dItem = Item.Tag
987End If
988If Actions.ListCount > 0 Then Actions.ListIndex = 0
989For bNum = 0 To Actions.ListCount - 1
990 If LCase(ActID(bNum + 1)) = LCase(dItem) Then
991 Actions.ListIndex = bNum
992 End If
993Next bNum
994Item.Tag = dItem
995End Sub