Commit | Line | Data |
0d212c7b |
1 | VERSION 4.00 |
2 | Begin 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 |
511 | End |
512 | Attribute VB_Name = "Options" |
513 | Attribute VB_Creatable = False |
514 | Attribute VB_Exposed = False |
515 | Option Explicit |
516 | |
517 | Dim OldFileName As String, NewListFile As String |
518 | Dim NewExtNames() As String, NewExtComp() As Integer |
519 | Dim ActID() As String |
520 | |
521 | Private Sub Check8_Click() |
522 | If Check8.Value = 1 Then Check8.Value = 2 |
523 | End Sub |
524 | Private Sub cmdAdd_Click() |
525 | Dim eNum As Integer |
526 | If 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 = "" |
537 | End If |
538 | End Sub |
539 | Private Sub cmdAddList_Click() |
540 | Dim lNum As Long |
541 | CD.Flags = &H1000 Or &H4 Or &H2 |
542 | CD.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*" |
543 | If ShowOpen(CD) = False Then GoTo Cancel |
544 | FileLists.AddItem CD.FileName |
545 | If FileLists.ListCount > 0 Then |
546 | NewListFile = FileLists.List(0) |
547 | Else |
548 | NewListFile = "" |
549 | End If |
550 | For lNum = 1 To FileLists.ListCount - 1 |
551 | NewListFile = NewListFile + vbCrLf + FileLists.List(lNum) |
552 | Next lNum |
553 | Cancel: |
554 | End Sub |
555 | Private Sub cmdDelList_Click() |
556 | Dim lNum As Long |
557 | If 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 |
567 | End If |
568 | End Sub |
569 | Private Sub Combo1_Click() |
570 | Dim eNum As Integer |
571 | For eNum = 1 To UBound(NewExtNames) |
572 | If List1.List(List1.ListIndex) = NewExtNames(eNum) Then Exit For |
573 | Next eNum |
574 | If UBound(NewExtNames) = 0 Then eNum = 0 |
575 | If Combo1.ListIndex = 2 Then |
576 | Frame2.Visible = True |
577 | NewExtComp(eNum) = Combo1.ListIndex - 2 |
578 | Else |
579 | Frame2.Visible = False |
580 | NewExtComp(eNum) = Combo1.ListIndex - 2 |
581 | End If |
582 | End Sub |
583 | Private Sub AudioC_Click(Index As Integer) |
584 | Dim eNum As Integer |
585 | For eNum = 1 To UBound(NewExtNames) |
586 | If List1.List(List1.ListIndex) = NewExtNames(eNum) Then Exit For |
587 | Next eNum |
588 | If UBound(NewExtNames) = 0 Then eNum = 0 |
589 | NewExtComp(eNum) = Index |
590 | End Sub |
591 | Private Sub Check1_Click() |
592 | If Check1.Value = 1 Then Check1.Value = 2 |
593 | End Sub |
594 | |
595 | Private Sub Check2_Click() |
596 | If Check2.Value = 1 Then Check2.Value = 2 |
597 | End Sub |
598 | |
599 | Private Sub Check3_Click() |
600 | If Check3.Value = 1 Then Check3.Value = 2 |
601 | End Sub |
602 | |
603 | Private Sub Check4_Click() |
604 | If Check4.Value = 1 Then Check4.Value = 2 |
605 | End Sub |
606 | |
607 | Private Sub Check5_Click() |
608 | If Check5.Value = 1 Then Check5.Value = 2 |
609 | End Sub |
610 | |
611 | Private Sub Check6_Click() |
612 | If Check6.Value = 1 Then Check6.Value = 2 |
613 | End Sub |
614 | Private Sub Command1_Click() |
615 | Dim Path As String, BatKey As String |
616 | Dim eNum As Integer, ExtList As String |
617 | Dim dItem As String, ndItem As String, aNum As Long |
618 | Path = App.Path |
619 | If Right(Path, 1) <> "\" Then Path = Path + "\" |
620 | Text1_LostFocus |
621 | Text2_LostFocus |
622 | MpqEx.Mpq.DefaultMaxFiles = Text1 |
623 | LocaleID = Text2 |
624 | MpqEx.Mpq.SetLocale (LocaleID) |
625 | NewKey AppKey |
626 | SetReg AppKey + "DefaultMaxFiles", Text1, REG_DWORD |
627 | SetReg AppKey + "LocaleID", Text2, REG_DWORD |
628 | If Check1.Value > 0 Then |
629 | SetReg AppKey + "SaveWindowStatus", 1, REG_DWORD |
630 | Else |
631 | SetReg AppKey + "SaveWindowStatus", 0, REG_DWORD |
632 | End If |
633 | If Check3.Value > 0 Then |
634 | SetReg AppKey + "ShowConfirmation", 1, REG_DWORD |
635 | Else |
636 | SetReg AppKey + "ShowConfirmation", 0, REG_DWORD |
637 | End If |
638 | If Check4.Value > 0 Then |
639 | SetReg AppKey + "UseDragDropWildcards", 1, REG_DWORD |
640 | Else |
641 | SetReg AppKey + "UseDragDropWildcards", 0, REG_DWORD |
642 | End If |
643 | If Check5.Value > 0 Then |
644 | SetReg AppKey + "CheckModDateTime", 1, REG_DWORD |
645 | Else |
646 | SetReg AppKey + "CheckModDateTime", 0, REG_DWORD |
647 | MpqEx.Timer1.Enabled = False |
648 | End If |
649 | If Check6.Value > 0 Then |
650 | SetReg AppKey + "LoadExtraInfo", 1, REG_DWORD |
651 | Else |
652 | SetReg AppKey + "LoadExtraInfo", 0, REG_DWORD |
653 | End If |
654 | If Check7.Value > 0 Then |
655 | SetReg AppKey + "AutofindFileLists", 1, REG_DWORD |
656 | Else |
657 | SetReg AppKey + "AutofindFileLists", 0, REG_DWORD |
658 | End If |
659 | If Check8.Value > 0 Then |
660 | SetReg AppKey + "UseOnlyAutofindLists", 1, REG_DWORD |
661 | Else |
662 | SetReg AppKey + "UseOnlyAutofindLists", 0, REG_DWORD |
663 | End If |
664 | If 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) |
686 | Else |
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 |
695 | End If |
696 | SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, vbNullString, vbNullString |
697 | If Option1(0).Value = True Then |
698 | SetReg AppKey + "StartupPathType", 0, REG_DWORD |
699 | Text3 = CurDir |
700 | ElseIf Option1(1).Value = True Then |
701 | SetReg AppKey + "StartupPathType", 1, REG_DWORD |
702 | Text3 = App.Path |
703 | ElseIf Option1(2).Value = True Then |
704 | SetReg AppKey + "StartupPathType", 2, REG_DWORD |
705 | End If |
706 | Path = Text3 |
707 | If Right(Path, 1) <> "\" Then Path = Path + "\" |
708 | If IsDir(Path) Then |
709 | SetReg AppKey + "StartupPath", Text3 |
710 | ChDir Text3 |
711 | End If |
712 | DelKey AppKey + "Compression\" |
713 | NewKey AppKey + "Compression\" |
714 | For eNum = 1 To UBound(NewExtNames) |
715 | ExtList = ExtList + NewExtNames(eNum) |
716 | SetReg AppKey + "Compression\" + NewExtNames(eNum), CStr(NewExtComp(eNum)) |
717 | Next eNum |
718 | SetReg AppKey + "Compression\List", ExtList |
719 | NewKey SharedAppKey + "FileDefaultActions\" |
720 | For 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 |
727 | Next aNum |
728 | Hide |
729 | If LCase(ListFile) <> LCase(NewListFile) Then |
730 | ListFile = NewListFile |
731 | SetReg AppKey + "ListFile", ListFile |
732 | CD.FileName = OldFileName |
733 | If FileExists(OldFileName) Then MpqEx.OpenMpq |
734 | End If |
735 | Unload Me |
736 | End Sub |
737 | Private Sub Command2_Click() |
738 | Unload Me |
739 | End Sub |
740 | Private Sub Command4_Click() |
741 | DelReg AppKey + "Status\WindowState" |
742 | DelReg AppKey + "Status\WindowHeight" |
743 | DelReg AppKey + "Status\WindowLeft" |
744 | DelReg AppKey + "Status\WindowTop" |
745 | DelReg AppKey + "Status\WindowWidth" |
746 | Check1.Value = 0 |
747 | End Sub |
748 | |
749 | Private Sub Command5_Click() |
750 | Dim Path As String |
751 | Path = PathInputBox(PathInput, "WinMPQ Startup Path", Text3) |
752 | If Path <> "" Then Text3 = Path |
753 | End Sub |
754 | |
755 | Private Sub Command6_Click() |
756 | Dim eNum As Integer |
757 | If 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 |
771 | End If |
772 | End Sub |
773 | Private Sub Form_Load() |
774 | Dim Path As String, PathType As Integer, NewFileListNames As String |
775 | Dim ExtList As String |
776 | Dim aExt As String, aName As String, aNum As Long |
777 | Left = MpqEx.Left + 330 |
778 | If Left < 0 Then Left = 0 |
779 | If Left + Width > Screen.Width Then Left = Screen.Width - Width |
780 | Top = MpqEx.Top + 315 |
781 | If Top < 0 Then Top = 0 |
782 | If Top + Height > Screen.Height Then Top = Screen.Height - Height |
783 | Path = App.Path |
784 | If Right(Path, 1) <> "\" Then Path = Path + "\" |
785 | Text1 = MpqEx.Mpq.DefaultMaxFiles |
786 | Text2 = LocaleID |
787 | OldFileName = CD.FileName |
788 | CD.FileName = "" |
789 | NewListFile = GetReg(AppKey + "ListFile", Path + "mpq_data.txt") |
790 | For 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 |
806 | Next aNum |
807 | NewListFile = NewFileListNames |
808 | If Right(NewListFile, 2) = vbCrLf Then NewListFile = Left(NewListFile, Len(NewListFile) - 2) |
809 | If GetReg(AppKey + "SaveWindowStatus", 1) > 0 Then Check1.Value = 1 Else Check1.Value = 0 |
810 | If GetReg(AppKey + "ShowConfirmation", 1) > 0 Then Check3.Value = 1 Else Check3.Value = 0 |
811 | If GetReg(AppKey + "UseDragDropWildcards", 1) > 0 Then Check4.Value = 1 Else Check4.Value = 0 |
812 | If GetReg(AppKey + "CheckModDateTime", 1) > 0 Then Check5.Value = 1 Else Check5.Value = 0 |
813 | If GetReg(AppKey + "LoadExtraInfo", 1) > 0 Then Check6.Value = 1 Else Check6.Value = 0 |
814 | If GetReg(AppKey + "AutofindFileLists", 0) > 0 Then Check7.Value = 1 Else Check7.Value = 0 |
815 | If GetReg(AppKey + "UseOnlyAutofindLists", 1) > 0 Then Check8.Value = 1 Else Check8.Value = 0 |
816 | 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 |
817 | Text3 = GetReg(AppKey + "StartupPath", CurDir) |
818 | PathType = GetReg(AppKey + "StartupPathType", 0) |
819 | If PathType < 0 Then PathType = 0 |
820 | If PathType > 2 Then PathType = 2 |
821 | Option1(PathType).Value = True |
822 | If PathType = 0 Then |
823 | Text3 = CurDir |
824 | ElseIf PathType = 1 Then |
825 | Text3 = App.Path |
826 | End If |
827 | ReDim NewExtNames(0) As String |
828 | ReDim NewExtComp(0) As Integer |
829 | Combo1.ListIndex = 1 |
830 | ExtList = GetReg(AppKey + "Compression\List", ".bik.smk.wav") |
831 | If InStr(1, ExtList, ".") > 0 And Len(ExtList) > 1 Then |
832 | Do |
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 |
851 | Loop Until ExtList = "" |
852 | End If |
853 | Do |
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 |
867 | Loop Until aExt = "" |
868 | Exit Sub |
869 | AlreadyExists: |
870 | FileTypes.ListItems.Item(aName).ToolTipText = FileTypes.ListItems.Item(aName).ToolTipText + " " + UCase(aExt) |
871 | Resume Next |
872 | End Sub |
873 | Private Sub Form_Resize() |
874 | FileTypes.ColumnHeaders.Item(1).Width = FileTypes.Width - 30 * Screen.TwipsPerPixelX |
875 | End Sub |
876 | |
877 | Private Sub Form_Unload(Cancel As Integer) |
878 | CD.FileName = OldFileName |
879 | End Sub |
880 | |
881 | Private Sub List1_Click() |
882 | Dim eNum As Integer, OldExtComp As Integer |
883 | If 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 |
903 | Else |
904 | Combo1.ListIndex = 1 |
905 | Combo1.Enabled = False |
906 | End If |
907 | End Sub |
908 | Private Sub Option1_Click(Index As Integer) |
909 | If Index = 2 Then |
910 | Text3.Enabled = True |
911 | Command5.Enabled = True |
912 | Else |
913 | Text3.Enabled = False |
914 | Command5.Enabled = False |
915 | End If |
916 | End Sub |
917 | |
918 | Private Sub Tabs_Click() |
919 | Dim TabDisp As PictureBox |
920 | For Each TabDisp In TabDisps |
921 | TabDisp.Visible = False |
922 | Next TabDisp |
923 | TabDisps(Tabs.SelectedItem.Index).Visible = True |
924 | End Sub |
925 | Private Sub Text1_KeyPress(KeyAscii As Integer) |
926 | If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0 |
927 | End Sub |
928 | Private Sub Text1_LostFocus() |
929 | If Text1 = "" Then Text1 = 0 |
930 | If Text1 < 16 Then Text1 = 16 |
931 | If Text1 > 262144 Then Text1 = 262144 |
932 | End Sub |
933 | Private Sub Text2_KeyPress(KeyAscii As Integer) |
934 | Dim NewValue As Long |
935 | If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 And KeyAscii <> Asc("-") Then KeyAscii = 0 |
936 | On Error GoTo TooBig |
937 | If (KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = Asc("-") Then NewValue = CLng(Text2 + Chr(KeyAscii)) |
938 | On Error GoTo 0 |
939 | Exit Sub |
940 | TooBig: |
941 | KeyAscii = 0 |
942 | End Sub |
943 | Private Sub Text2_LostFocus() |
944 | If Text2 = "" Then Text2 = 0 |
945 | End Sub |
946 | |
947 | Private Sub Text4_GotFocus() |
948 | cmdAdd.Default = True |
949 | End Sub |
950 | |
951 | Private Sub Text4_LostFocus() |
952 | Command1.Default = True |
953 | End Sub |
954 | Private Sub Actions_Click() |
955 | On Error GoTo NotSelected |
956 | FileTypes.SelectedItem.Tag = FileTypes.SelectedItem.Tag |
957 | On Error GoTo 0 |
958 | If FileTypes.SelectedItem.Selected = True Then |
959 | FileTypes.SelectedItem.Tag = ActID(Actions.ListIndex + 1) |
960 | End If |
961 | NotSelected: |
962 | End Sub |
963 | Private Sub FileTypes_ItemClick(ByVal Item As ListItem) |
964 | Dim aNum As Long, aItem As String, aName As String, bNum As Long, dItem As String |
965 | Label8 = Item.ToolTipText |
966 | Actions.Clear |
967 | ReDim ActID(0) As String |
968 | aName = Item.Key |
969 | Do |
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 |
981 | Loop Until aItem = "" |
982 | If Item.Tag = "" Then |
983 | dItem = GetReg("HKEY_CLASSES_ROOT\" + aName + "\shell\", "open") |
984 | dItem = GetReg(SharedAppKey + "FileDefaultActions\" + aName, dItem) |
985 | Else |
986 | dItem = Item.Tag |
987 | End If |
988 | If Actions.ListCount > 0 Then Actions.ListIndex = 0 |
989 | For bNum = 0 To Actions.ListCount - 1 |
990 | If LCase(ActID(bNum + 1)) = LCase(dItem) Then |
991 | Actions.ListIndex = bNum |
992 | End If |
993 | Next bNum |
994 | Item.Tag = dItem |
995 | End Sub |