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