Current News Archived News Search News Discussion Forum Old Forum Install Programs More Downloads... Troubleshooting Source Code Format Specs. Misc. Information Non-SF Stuff Links Small banner for links to this site: |
diff --git a/listing.frm b/listing.frm
--- a/listing.frm
+++ b/listing.frm
Width = 6690
_ExtentX = 11800
_ExtentY = 609
- ButtonWidth = 1535
+ ButtonWidth = 1561
ButtonHeight = 556
Wrappable = 0 'False
Appearance = 1
End
Begin VB.Menu mnuMAdd
Caption = "&Add..."
- Shortcut = ^A
+ Shortcut = ^{INSERT}
End
Begin VB.Menu mnuMAddFolder
Caption = "Add &Folder..."
Caption = "&Deflate"
Shortcut = {F9}
End
+ Begin VB.Menu mnuMCBzip2
+ Caption = "&Bzip2"
+ Shortcut = ^{F11}
+ End
Begin VB.Menu mnuMCAudio
Caption = "&Audio"
Begin VB.Menu mnuMCALowest
ShowSelected
ShowTotal
End Sub
+Sub ConvertCwad()
+ Dim hCwad As Long, hMPQ As Long, hFile As Long, ListBuffer As String, BufSize As Long, Files() As String, buffer() As Byte, fLen As Long, nFile As Long, CwadName As String, dwFlags As Long
+
+ If CWadOpenArchive(CD.FileName, 0, hCwad) Then
+ MsgBox "This archive must be converted to MPQ format to open it." + vbCrLf + "Enter a name for the converted archive or cancel if you do not want to perform the conversion.", vbInformation, "WinMPQ"
+ CwadName = CD.FileName
+ CD.Flags = &H1000 Or &H4 Or &H2
+ CD.DefaultExt = "mpq"
+ CD.Filter = "Mpq Archive (*.mpq)|*.mpq"
+ CD.hwndOwner = hWnd
+ CD.FileName = CwadName + ".mpq"
+ If ShowSave(CD) Then
+ If CD.FileName = CwadName Then
+ MsgBox "Cannot overwrite source archive.", vbExclamation, "WinMPQ"
+ CWadCloseArchive hCwad
+ Exit Sub
+ End If
+
+ BufSize = CWadListFiles(hCwad, ListBuffer, 0)
+ If BufSize > 0 Then ListBuffer = String$(BufSize - 1, Chr$(0))
+ CWadListFiles hCwad, ListBuffer, BufSize
+ MultiStringToArray ListBuffer, Files
+
+ If FileExists(CD.FileName) Then Kill CD.FileName
+ hMPQ = mOpenMpq(CD.FileName)
+ If hMPQ = 0 Then
+ StatBar.SimpleText = "Can't create archive " + CD.FileName
+ Else
+ dwFlags = MAFA_REPLACE_EXISTING
+ If GlobalEncrypt Then dwFlags = dwFlags Or MAFA_ENCRYPT
+
+ For nFile = 1 To UBound(Files)
+ If CWadOpenFile(hCwad, Files(nFile), 0, hFile) Then
+ fLen = CWadGetFileSize(hFile)
+
+ If fLen > 0 Then
+ ReDim buffer(fLen - 1)
+ Else
+ ReDim buffer(0)
+ End If
+
+ CWadSetFilePointer hFile, 0, FILE_BEGIN
+ CWadReadFile hFile, buffer(0), fLen, fLen
+ CWadCloseFile hFile
+
+ StatBar.SimpleText = "Adding " + Files(nFile) + "..."
+ MousePointer = 11
+ If mnuMCNone.Checked Then
+ MpqAddFileFromBufferEx hMPQ, buffer(0), fLen, Files(nFile), dwFlags, 0, 0
+ ElseIf mnuMCStandard.Checked Then
+ MpqAddFileFromBufferEx hMPQ, buffer(0), fLen, Files(nFile), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_STANDARD, 0
+ ElseIf mnuMCDeflate.Checked Then
+ MpqAddFileFromBufferEx hMPQ, buffer(0), fLen, Files(nFile), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_DEFLATE, DefaultCompressLevel
+ ElseIf mnuMCBzip2.Checked Then
+ MpqAddFileFromBufferEx hMPQ, buffer(0), fLen, Files(nFile), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_BZIP2, 0
+ ElseIf mnuMCAMedium.Checked Then
+ MpqAddWaveFromBuffer hMPQ, buffer(0), fLen, Files(nFile), dwFlags Or MAFA_COMPRESS, 0
+ ElseIf mnuMCAHighest.Checked Then
+ MpqAddWaveFromBuffer hMPQ, buffer(0), fLen, Files(nFile), dwFlags Or MAFA_COMPRESS, 1
+ ElseIf mnuMCALowest.Checked Then
+ MpqAddWaveFromBuffer hMPQ, buffer(0), fLen, Files(nFile), dwFlags Or MAFA_COMPRESS, 2
+ ElseIf mnuMCAuto.Checked Then
+ mAddAutoFromBuffer hMPQ, buffer(0), fLen, Files(nFile)
+ End If
+ End If
+ Next nFile
+
+ MpqCloseUpdatedArchive hMPQ, 0
+ End If
+ Else
+ CD.FileName = CwadName
+ End If
+
+ CWadCloseArchive hCwad
+ End If
+End Sub
+
Sub DelRecentFile(rFileName As String)
Dim bNum As Long, fNum As Long
For bNum = 1 To 8
ElseIf cType = -1 Then
mAddAutoFile hMPQ, FullPath(CurPath, fLine), Param(3) + fLine
ElseIf cType = 1 Then
- MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3) + fLine, dwFlags, DefaultCompress, DefaultCompressLevel
+ If DefaultCompress = MAFA_COMPRESS_DEFLATE Then
+ MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3) + fLine, dwFlags, DefaultCompress, DefaultCompressLevel
+ Else
+ MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3) + fLine, dwFlags, DefaultCompress, 0
+ End If
Else
MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3) + fLine, dwFlags, 0, 0
End If
ElseIf cType = -1 Then
mAddAutoFile hMPQ, FullPath(CurPath, fLine), Param(3)
ElseIf cType = 1 Then
- MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3), dwFlags, DefaultCompress, DefaultCompressLevel
+ If DefaultCompress = MAFA_COMPRESS_DEFLATE Then
+ MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3), dwFlags, DefaultCompress, DefaultCompressLevel
+ Else
+ MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3), dwFlags, DefaultCompress, 0
+ End If
Else
MpqAddFileToArchiveEx hMPQ, FullPath(CurPath, fLine), Param(3), dwFlags, 0, 0
End If
GoTo FileOpened
End If
On Error GoTo 0
+
+If IsMPQ(CD.FileName) = False Then
+ ConvertCwad
+End If
+
If IsMPQ(CD.FileName) = False Then
CD.FileName = ""
MsgBox "This file does not contain an MPQ archive.", vbExclamation, "WinMPQ"
List.Sorted = False
FileFilter = mFilter
StatBar.SimpleText = "Building list... 0% complete"
+mFilter.Clear
For fNum = 0 To UBound(FileEntries)
#If InternalListing Then
If Mpq.FileExists(CD.FileName, FileList(fNum)) Then
AddRecentFile CD.FileName
MousePointer = 0
End Sub
+
Sub RemoveDuplicates()
Dim fNum As Long
fNum = 1
Loop
End Sub
Sub ShowSelected()
-Dim fNum As Long, nSelect As Long, sSize As Long, fSize As Long, L2 As String, hMPQ As Long, hFile As Long
+Dim fNum As Long, nSelect As Long, sSize As Currency, fSize As Long, L2 As String, hMPQ As Long, hFile As Long
On Error GoTo NotSelected
List.SelectedItem.Tag = List.SelectedItem.Tag
On Error GoTo 0
+On Error Resume Next
For fNum = 1 To List.ListItems.Count
If List.ListItems.Item(fNum).Selected Then
nSelect = nSelect + 1
Else
StatBar.Panels.Item(1).Text = "Selected " + CStr(nSelect) + " files, " + CStr(Int(sSize / 1024)) + "KB"
End If
+On Error GoTo 0
Exit Sub
NotSelected:
StatBar.Panels.Item(1).Text = "Selected 0 files, 0KB"
End Sub
Sub ShowTotal()
-Dim fNum As Long, nFiles As Long, tSize As Long
+Dim fNum As Long, nFiles As Long, tSize As Currency
+On Error Resume Next
For fNum = 1 To List.ListItems.Count
nFiles = nFiles + 1
If List.ListItems.Item(fNum).ListSubItems(1).Text <> "" Then
Else
StatBar.Panels.Item(2).Text = "Total " + CStr(nFiles) + "/" + CStr(GetNumMpqFiles(CD.FileName)) + " files, " + CStr(Int(tSize / 1024)) + "KB"
End If
+On Error GoTo 0
End Sub
Private Sub cmdGo_Click()
StatBar.Style = 1
txtCommand.Width = ScaleWidth - cmdGo.Width - Label1.Width
cmdGo.Top = txtCommand.Top
cmdGo.Left = txtCommand.Left + txtCommand.Width
+ mFilter.Left = Toolbar.Buttons.Item("filterspace").Left
mFilter.Width = ScaleWidth - mFilter.Left - Toolbar.Buttons.Item("List").Width
Toolbar.Buttons.Item("filterspace").Width = mFilter.Width
End If
If KeyAscii = 13 Then List_DblClick
End Sub
Private Sub List_KeyUp(KeyCode As Integer, Shift As Integer)
+Dim fNum As Long, fSelect As Long
If KeyCode = vbKeyDelete Then
mnuMDelete_Click
+ElseIf (Shift And vbCtrlMask) And KeyCode = vbKeyA Then
+ fSelect = List.SelectedItem.Index
+ For fNum = 1 To List.ListItems.Count
+ List.ListItems.Item(fNum).Selected = True
+ Next fNum
+ List.ListItems.Item(fSelect).Selected = True
ElseIf KeyCode = 93 Or ((Shift And vbShiftMask) And KeyCode = vbKeyF10) Then
On Error GoTo NotSelected
List.SelectedItem.Tag = List.SelectedItem.Tag
MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_STANDARD, 0
ElseIf mnuMCDeflate.Checked Then
MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_DEFLATE, DefaultCompressLevel
+ ElseIf mnuMCBzip2.Checked Then
+ MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_BZIP2, 0
ElseIf mnuMCAMedium.Checked Then
MpqAddWaveToArchive hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, 0
ElseIf mnuMCAHighest.Checked Then
MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_STANDARD, 0
ElseIf mnuMCDeflate.Checked Then
MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_DEFLATE, DefaultCompressLevel
+ ElseIf mnuMCBzip2.Checked Then
+ MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_BZIP2, 0
ElseIf mnuMCAMedium.Checked Then
MpqAddWaveToArchive hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, 0
ElseIf mnuMCAHighest.Checked Then
MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_STANDARD, 0
ElseIf mnuMCDeflate.Checked Then
MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_DEFLATE, DefaultCompressLevel
+ ElseIf mnuMCBzip2.Checked Then
+ MpqAddFileToArchiveEx hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_BZIP2, 0
ElseIf mnuMCAMedium.Checked Then
MpqAddWaveToArchive hMPQ, Files(bNum), ShortFiles(bNum), dwFlags Or MAFA_COMPRESS, 0
ElseIf mnuMCAHighest.Checked Then
mnuMCNone.Checked = False
mnuMCStandard.Checked = False
mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = False
mnuMCAMedium.Checked = False
mnuMCAHighest.Checked = True
mnuMCNone.Checked = False
mnuMCStandard.Checked = False
mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = True
mnuMCAMedium.Checked = False
mnuMCAHighest.Checked = False
mnuMCNone.Checked = False
mnuMCStandard.Checked = False
mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = False
mnuMCAMedium.Checked = True
mnuMCAHighest.Checked = False
mnuMCNone.Checked = False
mnuMCStandard.Checked = False
mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = False
mnuMCAMedium.Checked = False
mnuMCAHighest.Checked = False
mnuMCAuto.Checked = True
End Sub
+Private Sub mnuMCBzip2_Click()
+mnuMCNone.Checked = False
+mnuMCStandard.Checked = False
+mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = True
+mnuMCALowest.Checked = False
+mnuMCAMedium.Checked = False
+mnuMCAHighest.Checked = False
+mnuMCAuto.Checked = False
+End Sub
+
Private Sub mnuMCDeflate_Click()
mnuMCNone.Checked = False
mnuMCStandard.Checked = False
mnuMCDeflate.Checked = True
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = False
mnuMCAMedium.Checked = False
mnuMCAHighest.Checked = False
mnuMCNone.Checked = True
mnuMCStandard.Checked = False
mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = False
mnuMCAMedium.Checked = False
mnuMCAHighest.Checked = False
mnuMCNone.Checked = False
mnuMCStandard.Checked = True
mnuMCDeflate.Checked = False
+mnuMCBzip2.Checked = False
mnuMCALowest.Checked = False
mnuMCAMedium.Checked = False
mnuMCAHighest.Checked = False
Dim TItem As Menu
CD.Flags = &H1000 Or &H4 Or &H2
CD.DefaultExt = "mpq"
-CD.Filter = "Mpq Archives (*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m)|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m|All Files (*.*)|*.*"
+CD.Filter = "Mpq Archives (*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x)|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x|All Files (*.*)|*.*"
CD.hwndOwner = hWnd
If ShowSave(CD) = False Then GoTo Cancel
ReDim FileList(0) As String
Private Sub mnuFOpen_Click()
Dim OldFileName As String
CD.Flags = &H1000 Or &H4 Or &H2
-CD.Filter = "Mpq Archives (*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m)|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m|All Files (*.*)|*.*"
+CD.Filter = "All Archives|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x;*.cwd|Mpq Archives (*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x)|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x|Cwad Archives (*.cwd;*.exe)|*.cwd;*.exe|All Files (*.*)|*.*"
OldFileName = CD.FileName
CD.hwndOwner = hWnd
If ShowOpen(CD) = False Then GoTo Cancel
MpqAddFileToArchiveEx hMPQ, FullPath(Path, OpenFiles(fNum)), OpenFiles(fNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_STANDARD, 0
ElseIf mnuMCDeflate.Checked Then
MpqAddFileToArchiveEx hMPQ, FullPath(Path, OpenFiles(fNum)), OpenFiles(fNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_DEFLATE, DefaultCompressLevel
+ ElseIf mnuMCBzip2.Checked Then
+ MpqAddFileToArchiveEx hMPQ, FullPath(Path, OpenFiles(fNum)), OpenFiles(fNum), dwFlags Or MAFA_COMPRESS, MAFA_COMPRESS_BZIP2, 0
ElseIf mnuMCAMedium.Checked Then
MpqAddWaveToArchive hMPQ, FullPath(Path, OpenFiles(fNum)), OpenFiles(fNum), dwFlags Or MAFA_COMPRESS, 0
ElseIf mnuMCAHighest.Checked Then
|