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




index ae3ba78..e5ad8cc 100644 (file)
-VERSION 4.00
-Begin VB.Form frmMpq 
-   BorderStyle     =   1  'Fixed Single
-   Caption         =   "MPQ Embedder"
-   ClientHeight    =   1695
-   ClientLeft      =   3045
-   ClientTop       =   2730
-   ClientWidth     =   2775
-   Height          =   2385
-   Icon            =   "frmMpq.frx":0000
-   Left            =   2985
-   LinkTopic       =   "Form1"
-   MaxButton       =   0   'False
-   ScaleHeight     =   1695
-   ScaleWidth      =   2775
-   Top             =   2100
-   Width           =   2895
-   Begin VB.CommandButton cmdSaveEXE 
-      Caption         =   "Save &EXE"
-      Enabled         =   0   'False
-      Height          =   375
-      Left            =   1440
-      TabIndex        =   3
-      Top             =   1200
-      Width           =   1215
-   End
-   Begin VB.CommandButton cmdRemove 
-      Caption         =   "&Remove"
-      Enabled         =   0   'False
-      Height          =   375
-      Left            =   120
-      TabIndex        =   2
-      Top             =   1200
-      Width           =   1215
-   End
-   Begin VB.CommandButton cmdSaveMPQ 
-      Caption         =   "Save &MPQ"
-      Enabled         =   0   'False
-      Height          =   375
-      Left            =   1440
-      TabIndex        =   1
-      Top             =   720
-      Width           =   1215
-   End
-   Begin VB.CommandButton cmdAdd 
-      Caption         =   "&Add"
-      Enabled         =   0   'False
-      Height          =   375
-      Left            =   120
-      TabIndex        =   0
-      Top             =   720
-      Width           =   1215
-   End
-   Begin VB.Label Label1 
-      Height          =   615
-      Left            =   120
-      TabIndex        =   4
-      Top             =   120
-      Width           =   2565
-      WordWrap        =   -1  'True
-   End
-   Begin VB.Menu mnuFile 
-      Caption         =   "&File"
-      Begin VB.Menu mnuFOpen 
-         Caption         =   "&Open..."
-      End
-      Begin VB.Menu mnuFSep 
-         Caption         =   "-"
-      End
-      Begin VB.Menu mnuFExit 
-         Caption         =   "E&xit"
-      End
-   End
-   Begin VB.Menu mnuRun 
-      Caption         =   "&Run EXE"
-      Enabled         =   0   'False
-   End
-   Begin VB.Menu mnuHelp 
-      Caption         =   "&Help"
-      Begin VB.Menu mnuHReadme 
-         Caption         =   "View &Readme..."
-      End
-      Begin VB.Menu mnuHSep 
-         Caption         =   "-"
-      End
-      Begin VB.Menu mnuHAbout 
-         Caption         =   "&About..."
-      End
-   End
-End
-Attribute VB_Name = "frmMpq"
-Attribute VB_Creatable = False
-Attribute VB_Exposed = False
-Option Explicit
-
-Dim MpqHeader As Long, IsEXE As Boolean, FileDialog As OPENFILENAME
-Private Sub cmdAdd_Click()
-Dim OldFileName As String, NewMpqHeader As Long, fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long
-FileDialog.Flags = &H1000 Or &H4 Or &H2
-FileDialog.Filter = "Mpq Archives (*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x)|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x|All Files (*.*)|*.*"
-OldFileName = FileDialog.FileName
-FileDialog.hwndOwner = hWnd
-If ShowOpen(FileDialog) = False Then GoTo Cancel
-NewMpqHeader = FindMpqHeader(FileDialog.FileName)
-If NewMpqHeader = -1 Then
-    MsgBox "This file does not contain an MPQ archive.", , "MPQ Embedder"
-    GoTo Cancel
-End If
-fNum = FreeFile
-Open FileDialog.FileName For Binary As #fNum
-fNum2 = FreeFile
-Open OldFileName For Binary As #fNum2
-If MpqHeader / 512 <> Int(MpqHeader / 512) Then
-    bNum = MsgBox("The file you are adding the MPQ archive to" + vbCrLf + "is not the proper size; therefore, most MPQ" + vbCrLf + "archive readers will not be able to read it." + vbCrLf + "Do you want to increase the size of the file," + vbCrLf + "so other programs can read it?", vbQuestion Or vbYesNo Or vbDefaultButton1, "MPQ Embedder")
-    If bNum = vbYes Then
-        Text = String(512 - (MpqHeader - Int(MpqHeader / 512) * 512), Chr(0))
-        Put #fNum2, MpqHeader + 1, Text
-        MpqHeader = MpqHeader + Len(Text)
-    End If
-End If
-For bNum = NewMpqHeader + 1 To LOF(fNum) Step 2 ^ 20
-    Text = String(2 ^ 20, Chr(0))
-    If LOF(fNum) - bNum + 1 >= 2 ^ 20 Then
-        Get #fNum, bNum, Text
-        Put #fNum2, MpqHeader + bNum - NewMpqHeader, Text
-    Else
-        Text = String(LOF(fNum) - bNum + 1, Chr(0))
-        Get #fNum, bNum, Text
-        Put #fNum2, MpqHeader + bNum - NewMpqHeader, Text
-    End If
-Next bNum
-Close #fNum2
-Close #fNum
-cmdAdd.Enabled = False
-cmdRemove.Enabled = True
-cmdSaveMPQ.Enabled = True
-cmdSaveEXE.Enabled = True
-If MpqHeader / 512 = Int(MpqHeader / 512) Then
-    Label1.Caption = "This file contains an MPQ archive."
-Else
-    Label1.Caption = "This file contains an MPQ archive, but other programs may not be able to read it."
-End If
-Cancel:
-FileDialog.FileName = OldFileName
-End Sub
-Private Sub cmdRemove_Click()
-Dim fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long
-bNum = MsgBox("Are you sure you want to permanently" + vbCrLf + "remove the MPQ archive from this file?", vbQuestion Or vbYesNo Or vbDefaultButton2, "MPQ Embedder")
-If bNum = vbNo Then Exit Sub
-fNum = FreeFile
-Open FileDialog.FileName For Binary As #fNum
-fNum2 = FreeFile
-If Dir(FileDialog.FileName + ".remove") <> "" Then Kill FileDialog.FileName + ".remove"
-Open FileDialog.FileName + ".remove" For Binary As #fNum2
-For bNum = 1 To MpqHeader Step 2 ^ 20
-    Text = String(2 ^ 20, Chr(0))
-    If MpqHeader - bNum + 1 >= 2 ^ 20 Then
-        Get #fNum, bNum, Text
-        Put #fNum2, bNum, Text
-    Else
-        Text = String(MpqHeader - bNum + 1, Chr(0))
-        Get #fNum, bNum, Text
-        Put #fNum2, bNum, Text
-    End If
-Next bNum
-Close #fNum2
-Close #fNum
-Kill FileDialog.FileName
-Name FileDialog.FileName + ".remove" As FileDialog.FileName
-cmdAdd.Enabled = True
-cmdRemove.Enabled = False
-cmdSaveMPQ.Enabled = False
-cmdSaveEXE.Enabled = True
-Label1.Caption = "This file does not contain an MPQ archive."
-End Sub
-Private Sub cmdSaveEXE_Click()
-Dim OldFileName As String, fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long
-FileDialog.Flags = &H1000 Or &H4 Or &H2
-FileDialog.Filter = "File (*.*)|*.*"
-FileDialog.DefaultExt = ""
-OldFileName = FileDialog.FileName
-FileDialog.FileName = FileDialog.FileName
-FileDialog.hwndOwner = hWnd
-If ShowSave(FileDialog) = False Then GoTo Cancel
-fNum = FreeFile
-Open OldFileName For Binary As #fNum
-fNum2 = FreeFile
-If Dir(FileDialog.FileName) <> "" Then Kill FileDialog.FileName
-Open FileDialog.FileName For Binary As #fNum2
-For bNum = 1 To MpqHeader Step 2 ^ 20
-    Text = String(2 ^ 20, Chr(0))
-    If MpqHeader - bNum + 1 >= 2 ^ 20 Then
-        Get #fNum, bNum, Text
-        Put #fNum2, bNum, Text
-    Else
-        Text = String(MpqHeader - bNum + 1, Chr(0))
-        Get #fNum, bNum, Text
-        Put #fNum2, bNum, Text
-    End If
-Next bNum
-Close #fNum2
-Close #fNum
-Cancel:
-FileDialog.FileName = OldFileName
-End Sub
-Private Sub cmdSaveMPQ_Click()
-Dim OldFileName As String, fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long
-FileDialog.Flags = &H1000 Or &H4 Or &H2
-FileDialog.Filter = "MPQ Archive (*.mpq)|*.mpq"
-FileDialog.DefaultExt = "mpq"
-OldFileName = FileDialog.FileName
-FileDialog.FileName = FileDialog.FileName + ".mpq"
-FileDialog.hwndOwner = hWnd
-If ShowSave(FileDialog) = False Then GoTo Cancel
-fNum = FreeFile
-Open OldFileName For Binary As #fNum
-fNum2 = FreeFile
-If Dir(FileDialog.FileName) <> "" Then Kill FileDialog.FileName
-Open FileDialog.FileName For Binary As #fNum2
-For bNum = MpqHeader + 1 To LOF(fNum) Step 2 ^ 20
-    Text = String(2 ^ 20, Chr(0))
-    If LOF(fNum) - bNum + 1 >= 2 ^ 20 Then
-        Get #fNum, bNum, Text
-        Put #fNum2, bNum - MpqHeader, Text
-    Else
-        Text = String(LOF(fNum) - bNum + 1, Chr(0))
-        Get #fNum, bNum, Text
-        Put #fNum2, bNum - MpqHeader, Text
-    End If
-Next bNum
-Close #fNum2
-Close #fNum
-Cancel:
-FileDialog.FileName = OldFileName
-End Sub
-
-Private Sub Form_Load()
-FileDialog = CD
-End Sub
-Private Sub mnuFExit_Click()
-Unload Me
-End Sub
-Private Sub mnuFOpen_Click()
-Dim OldFileName As String, OldMpqHeader As Long, fNum As Long, Text As String
-FileDialog.Flags = &H1000 Or &H4 Or &H2
-FileDialog.Filter = "All Files (*.*)|*.*"
-OldFileName = FileDialog.FileName
-OldMpqHeader = MpqHeader
-FileDialog.hwndOwner = hWnd
-If ShowOpen(FileDialog) = False Then GoTo Cancel
-If FileLen(FileDialog.FileName) = 0 Then
-    MsgBox "This is an empty file.", vbExclamation, "MPQ Embedder"
-    GoTo Cancel
-End If
-fNum = FreeFile
-Open FileDialog.FileName For Binary As #fNum
-Text = String(2, Chr(0))
-If LOF(fNum) >= 2 Then Get #fNum, 1, Text
-Close #fNum
-If Text = "MZ" Then IsEXE = True Else IsEXE = False
-If IsEXE Then mnuRun.Enabled = True Else mnuRun.Enabled = False
-MpqHeader = FindMpqHeader(FileDialog.FileName)
-If MpqHeader <= -1 Then
-    cmdAdd.Enabled = True
-    cmdRemove.Enabled = False
-    cmdSaveMPQ.Enabled = False
-    cmdSaveEXE.Enabled = True
-    MpqHeader = FileLen(FileDialog.FileName)
-    Label1.Caption = "This file does not contain an MPQ archive."
-ElseIf MpqHeader = 0 Then
-    cmdAdd.Enabled = False
-    cmdRemove.Enabled = False
-    cmdSaveMPQ.Enabled = True
-    cmdSaveEXE.Enabled = False
-    Label1.Caption = "This file is an MPQ archive."
-ElseIf MpqHeader > 0 Then
-    cmdAdd.Enabled = False
-    cmdRemove.Enabled = True
-    cmdSaveMPQ.Enabled = True
-    cmdSaveEXE.Enabled = True
-    If MpqHeader / 512 = Int(MpqHeader / 512) Then
-        Label1.Caption = "This file contains an MPQ archive."
-    Else
-        Label1.Caption = "This file contains an MPQ archive, but other programs may be unable to read it."
-    End If
-End If
-Exit Sub
-Cancel:
-FileDialog.FileName = OldFileName
-MpqHeader = OldMpqHeader
-End Sub
-Private Sub mnuHAbout_Click()
-About.Show 1
-End Sub
-Private Sub mnuHReadme_Click()
-Dim Path As String
-Path = App.Path
-If Right(Path, 1) <> "\" Then Path = Path + "\"
-If Dir(Path + "WMpqEmbed.rtf") = "" Then MsgBox "Could not find WMpqEmbed.rtf!", vbCritical, "MPQ Embedder"
-ShellExecute hWnd, vbNullString, Path + "WMpqEmbed.rtf", vbNullString, vbNullString, 1
-End Sub
-Private Sub mnuRun_Click()
-On Error GoTo NotExecutable
-Shell FileDialog.FileName, 1
-Exit Sub
-NotExecutable:
-MsgBox "This file is not a .exe file.", vbInformation, "MPQ Embedder"
-End Sub
+VERSION 4.00\r
+Begin VB.Form frmMpq \r
+   BorderStyle     =   1  'Fixed Single\r
+   Caption         =   "MPQ Embedder"\r
+   ClientHeight    =   1695\r
+   ClientLeft      =   3045\r
+   ClientTop       =   2730\r
+   ClientWidth     =   2775\r
+   Height          =   2385\r
+   Icon            =   "frmMpq.frx":0000\r
+   Left            =   2985\r
+   LinkTopic       =   "Form1"\r
+   MaxButton       =   0   'False\r
+   ScaleHeight     =   1695\r
+   ScaleWidth      =   2775\r
+   Top             =   2100\r
+   Width           =   2895\r
+   Begin VB.CommandButton cmdSaveEXE \r
+      Caption         =   "Save &EXE"\r
+      Enabled         =   0   'False\r
+      Height          =   375\r
+      Left            =   1440\r
+      TabIndex        =   3\r
+      Top             =   1200\r
+      Width           =   1215\r
+   End\r
+   Begin VB.CommandButton cmdRemove \r
+      Caption         =   "&Remove"\r
+      Enabled         =   0   'False\r
+      Height          =   375\r
+      Left            =   120\r
+      TabIndex        =   2\r
+      Top             =   1200\r
+      Width           =   1215\r
+   End\r
+   Begin VB.CommandButton cmdSaveMPQ \r
+      Caption         =   "Save &MPQ"\r
+      Enabled         =   0   'False\r
+      Height          =   375\r
+      Left            =   1440\r
+      TabIndex        =   1\r
+      Top             =   720\r
+      Width           =   1215\r
+   End\r
+   Begin VB.CommandButton cmdAdd \r
+      Caption         =   "&Add"\r
+      Enabled         =   0   'False\r
+      Height          =   375\r
+      Left            =   120\r
+      TabIndex        =   0\r
+      Top             =   720\r
+      Width           =   1215\r
+   End\r
+   Begin VB.Label Label1 \r
+      Height          =   615\r
+      Left            =   120\r
+      TabIndex        =   4\r
+      Top             =   120\r
+      Width           =   2565\r
+      WordWrap        =   -1  'True\r
+   End\r
+   Begin VB.Menu mnuFile \r
+      Caption         =   "&File"\r
+      Begin VB.Menu mnuFOpen \r
+         Caption         =   "&Open..."\r
+      End\r
+      Begin VB.Menu mnuFSep \r
+         Caption         =   "-"\r
+      End\r
+      Begin VB.Menu mnuFExit \r
+         Caption         =   "E&xit"\r
+      End\r
+   End\r
+   Begin VB.Menu mnuRun \r
+      Caption         =   "&Run EXE"\r
+      Enabled         =   0   'False\r
+   End\r
+   Begin VB.Menu mnuHelp \r
+      Caption         =   "&Help"\r
+      Begin VB.Menu mnuHReadme \r
+         Caption         =   "View &Readme..."\r
+      End\r
+      Begin VB.Menu mnuHSep \r
+         Caption         =   "-"\r
+      End\r
+      Begin VB.Menu mnuHAbout \r
+         Caption         =   "&About..."\r
+      End\r
+   End\r
+End\r
+Attribute VB_Name = "frmMpq"\r
+Attribute VB_Creatable = False\r
+Attribute VB_Exposed = False\r
+Option Explicit\r
+\r
+Dim MpqHeader As Long, IsEXE As Boolean, FileDialog As OPENFILENAME\r
+Private Sub cmdAdd_Click()\r
+Dim OldFileName As String, NewMpqHeader As Long, fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long\r
+FileDialog.Flags = &H1000 Or &H4 Or &H2\r
+FileDialog.Filter = "Mpq Archives (*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x)|*.mpq;*.exe;*.snp;*.scm;*.scx;*.w3m;*.w3x|All Files (*.*)|*.*"\r
+OldFileName = FileDialog.FileName\r
+FileDialog.hwndOwner = hWnd\r
+If ShowOpen(FileDialog) = False Then GoTo Cancel\r
+NewMpqHeader = FindMpqHeader(FileDialog.FileName)\r
+If NewMpqHeader = -1 Then\r
+    MsgBox "This file does not contain an MPQ archive.", , "MPQ Embedder"\r
+    GoTo Cancel\r
+End If\r
+fNum = FreeFile\r
+Open FileDialog.FileName For Binary As #fNum\r
+fNum2 = FreeFile\r
+Open OldFileName For Binary As #fNum2\r
+If MpqHeader / 512 <> Int(MpqHeader / 512) Then\r
+    bNum = MsgBox("The file you are adding the MPQ archive to" + vbCrLf + "is not the proper size; therefore, most MPQ" + vbCrLf + "archive readers will not be able to read it." + vbCrLf + "Do you want to increase the size of the file," + vbCrLf + "so other programs can read it?", vbQuestion Or vbYesNo Or vbDefaultButton1, "MPQ Embedder")\r
+    If bNum = vbYes Then\r
+        Text = String(512 - (MpqHeader - Int(MpqHeader / 512) * 512), Chr(0))\r
+        Put #fNum2, MpqHeader + 1, Text\r
+        MpqHeader = MpqHeader + Len(Text)\r
+    End If\r
+End If\r
+For bNum = NewMpqHeader + 1 To LOF(fNum) Step 2 ^ 20\r
+    Text = String(2 ^ 20, Chr(0))\r
+    If LOF(fNum) - bNum + 1 >= 2 ^ 20 Then\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, MpqHeader + bNum - NewMpqHeader, Text\r
+    Else\r
+        Text = String(LOF(fNum) - bNum + 1, Chr(0))\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, MpqHeader + bNum - NewMpqHeader, Text\r
+    End If\r
+Next bNum\r
+Close #fNum2\r
+Close #fNum\r
+cmdAdd.Enabled = False\r
+cmdRemove.Enabled = True\r
+cmdSaveMPQ.Enabled = True\r
+cmdSaveEXE.Enabled = True\r
+If MpqHeader / 512 = Int(MpqHeader / 512) Then\r
+    Label1.Caption = "This file contains an MPQ archive."\r
+Else\r
+    Label1.Caption = "This file contains an MPQ archive, but other programs may not be able to read it."\r
+End If\r
+Cancel:\r
+FileDialog.FileName = OldFileName\r
+End Sub\r
+Private Sub cmdRemove_Click()\r
+Dim fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long\r
+bNum = MsgBox("Are you sure you want to permanently" + vbCrLf + "remove the MPQ archive from this file?", vbQuestion Or vbYesNo Or vbDefaultButton2, "MPQ Embedder")\r
+If bNum = vbNo Then Exit Sub\r
+fNum = FreeFile\r
+Open FileDialog.FileName For Binary As #fNum\r
+fNum2 = FreeFile\r
+If Dir(FileDialog.FileName + ".remove") <> "" Then Kill FileDialog.FileName + ".remove"\r
+Open FileDialog.FileName + ".remove" For Binary As #fNum2\r
+For bNum = 1 To MpqHeader Step 2 ^ 20\r
+    Text = String(2 ^ 20, Chr(0))\r
+    If MpqHeader - bNum + 1 >= 2 ^ 20 Then\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, bNum, Text\r
+    Else\r
+        Text = String(MpqHeader - bNum + 1, Chr(0))\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, bNum, Text\r
+    End If\r
+Next bNum\r
+Close #fNum2\r
+Close #fNum\r
+Kill FileDialog.FileName\r
+Name FileDialog.FileName + ".remove" As FileDialog.FileName\r
+cmdAdd.Enabled = True\r
+cmdRemove.Enabled = False\r
+cmdSaveMPQ.Enabled = False\r
+cmdSaveEXE.Enabled = True\r
+Label1.Caption = "This file does not contain an MPQ archive."\r
+End Sub\r
+Private Sub cmdSaveEXE_Click()\r
+Dim OldFileName As String, fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long\r
+FileDialog.Flags = &H1000 Or &H4 Or &H2\r
+FileDialog.Filter = "File (*.*)|*.*"\r
+FileDialog.DefaultExt = ""\r
+OldFileName = FileDialog.FileName\r
+FileDialog.FileName = FileDialog.FileName\r
+FileDialog.hwndOwner = hWnd\r
+If ShowSave(FileDialog) = False Then GoTo Cancel\r
+fNum = FreeFile\r
+Open OldFileName For Binary As #fNum\r
+fNum2 = FreeFile\r
+If Dir(FileDialog.FileName) <> "" Then Kill FileDialog.FileName\r
+Open FileDialog.FileName For Binary As #fNum2\r
+For bNum = 1 To MpqHeader Step 2 ^ 20\r
+    Text = String(2 ^ 20, Chr(0))\r
+    If MpqHeader - bNum + 1 >= 2 ^ 20 Then\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, bNum, Text\r
+    Else\r
+        Text = String(MpqHeader - bNum + 1, Chr(0))\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, bNum, Text\r
+    End If\r
+Next bNum\r
+Close #fNum2\r
+Close #fNum\r
+Cancel:\r
+FileDialog.FileName = OldFileName\r
+End Sub\r
+Private Sub cmdSaveMPQ_Click()\r
+Dim OldFileName As String, fNum As Long, Text As String, fNum2 As Long, Text2 As String, bNum As Long\r
+FileDialog.Flags = &H1000 Or &H4 Or &H2\r
+FileDialog.Filter = "MPQ Archive (*.mpq)|*.mpq"\r
+FileDialog.DefaultExt = "mpq"\r
+OldFileName = FileDialog.FileName\r
+FileDialog.FileName = FileDialog.FileName + ".mpq"\r
+FileDialog.hwndOwner = hWnd\r
+If ShowSave(FileDialog) = False Then GoTo Cancel\r
+fNum = FreeFile\r
+Open OldFileName For Binary As #fNum\r
+fNum2 = FreeFile\r
+If Dir(FileDialog.FileName) <> "" Then Kill FileDialog.FileName\r
+Open FileDialog.FileName For Binary As #fNum2\r
+For bNum = MpqHeader + 1 To LOF(fNum) Step 2 ^ 20\r
+    Text = String(2 ^ 20, Chr(0))\r
+    If LOF(fNum) - bNum + 1 >= 2 ^ 20 Then\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, bNum - MpqHeader, Text\r
+    Else\r
+        Text = String(LOF(fNum) - bNum + 1, Chr(0))\r
+        Get #fNum, bNum, Text\r
+        Put #fNum2, bNum - MpqHeader, Text\r
+    End If\r
+Next bNum\r
+Close #fNum2\r
+Close #fNum\r
+Cancel:\r
+FileDialog.FileName = OldFileName\r
+End Sub\r
+\r
+Private Sub Form_Load()\r
+FileDialog = CD\r
+End Sub\r
+Private Sub mnuFExit_Click()\r
+Unload Me\r
+End Sub\r
+Private Sub mnuFOpen_Click()\r
+Dim OldFileName As String, OldMpqHeader As Long, fNum As Long, Text As String\r
+FileDialog.Flags = &H1000 Or &H4 Or &H2\r
+FileDialog.Filter = "All Files (*.*)|*.*"\r
+OldFileName = FileDialog.FileName\r
+OldMpqHeader = MpqHeader\r
+FileDialog.hwndOwner = hWnd\r
+If ShowOpen(FileDialog) = False Then GoTo Cancel\r
+If FileLen(FileDialog.FileName) = 0 Then\r
+    MsgBox "This is an empty file.", vbExclamation, "MPQ Embedder"\r
+    GoTo Cancel\r
+End If\r
+fNum = FreeFile\r
+Open FileDialog.FileName For Binary As #fNum\r
+Text = String(2, Chr(0))\r
+If LOF(fNum) >= 2 Then Get #fNum, 1, Text\r
+Close #fNum\r
+If Text = "MZ" Then IsEXE = True Else IsEXE = False\r
+If IsEXE Then mnuRun.Enabled = True Else mnuRun.Enabled = False\r
+MpqHeader = FindMpqHeader(FileDialog.FileName)\r
+If MpqHeader <= -1 Then\r
+    cmdAdd.Enabled = True\r
+    cmdRemove.Enabled = False\r
+    cmdSaveMPQ.Enabled = False\r
+    cmdSaveEXE.Enabled = True\r
+    MpqHeader = FileLen(FileDialog.FileName)\r
+    Label1.Caption = "This file does not contain an MPQ archive."\r
+ElseIf MpqHeader = 0 Then\r
+    cmdAdd.Enabled = False\r
+    cmdRemove.Enabled = False\r
+    cmdSaveMPQ.Enabled = True\r
+    cmdSaveEXE.Enabled = False\r
+    Label1.Caption = "This file is an MPQ archive."\r
+ElseIf MpqHeader > 0 Then\r
+    cmdAdd.Enabled = False\r
+    cmdRemove.Enabled = True\r
+    cmdSaveMPQ.Enabled = True\r
+    cmdSaveEXE.Enabled = True\r
+    If MpqHeader / 512 = Int(MpqHeader / 512) Then\r
+        Label1.Caption = "This file contains an MPQ archive."\r
+    Else\r
+        Label1.Caption = "This file contains an MPQ archive, but other programs may be unable to read it."\r
+    End If\r
+End If\r
+Exit Sub\r
+Cancel:\r
+FileDialog.FileName = OldFileName\r
+MpqHeader = OldMpqHeader\r
+End Sub\r
+Private Sub mnuHAbout_Click()\r
+About.Show 1\r
+End Sub\r
+Private Sub mnuHReadme_Click()\r
+Dim Path As String\r
+Path = App.Path\r
+If Right(Path, 1) <> "\" Then Path = Path + "\"\r
+If Dir(Path + "WMpqEmbed.rtf") = "" Then MsgBox "Could not find WMpqEmbed.rtf!", vbCritical, "MPQ Embedder"\r
+ShellExecute hWnd, vbNullString, Path + "WMpqEmbed.rtf", vbNullString, vbNullString, 1\r
+End Sub\r
+Private Sub mnuRun_Click()\r
+On Error GoTo NotExecutable\r
+Shell FileDialog.FileName, 1\r
+Exit Sub\r
+NotExecutable:\r
+MsgBox "This file is not a .exe file.", vbInformation, "MPQ Embedder"\r
+End Sub\r