diff --git a/SMBX Magic Patcher/App.config b/SMBX Magic Patcher/App.config
index 2ae8254..1729194 100644
--- a/SMBX Magic Patcher/App.config
+++ b/SMBX Magic Patcher/App.config
@@ -1,6 +1,6 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/SMBX Magic Patcher/Form1.Designer.vb b/SMBX Magic Patcher/Form1.Designer.vb
index 7602a3c..d8382d8 100644
--- a/SMBX Magic Patcher/Form1.Designer.vb
+++ b/SMBX Magic Patcher/Form1.Designer.vb
@@ -311,8 +311,6 @@ Partial Class Form1
Me.SwitchButton_Liquids.Size = New System.Drawing.Size(57, 23)
Me.SwitchButton_Liquids.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled
Me.SwitchButton_Liquids.TabIndex = 49
- Me.SwitchButton_Liquids.Value = True
- Me.SwitchButton_Liquids.ValueObject = "Y"
'
'LabelX8
'
@@ -468,8 +466,6 @@ Partial Class Form1
Me.SwitchButton_BlocksEtc.Size = New System.Drawing.Size(57, 23)
Me.SwitchButton_BlocksEtc.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled
Me.SwitchButton_BlocksEtc.TabIndex = 34
- Me.SwitchButton_BlocksEtc.Value = True
- Me.SwitchButton_BlocksEtc.ValueObject = "Y"
'
'LabelX9
'
diff --git a/SMBX Magic Patcher/Form1.vb b/SMBX Magic Patcher/Form1.vb
index d36352e..33786f2 100644
--- a/SMBX Magic Patcher/Form1.vb
+++ b/SMBX Magic Patcher/Form1.vb
@@ -74,7 +74,8 @@ Public Class Form1
SwitchButton_Liquids.Value)
Case 1 : MessageBoxEx.Show("Done", "Patch succesfully created!", MessageBoxButtons.OK, MessageBoxIcon.Information)
- Case Else : MessageBoxEx.Show("Done", "Patch succesfully created!", MessageBoxButtons.OK, MessageBoxIcon.Information)
+ Case 2 : MessageBoxEx.Show("Done", "There is an error at packing!", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Case Else : MessageBoxEx.Show("Done", "There is an unknown error!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Select
Button_CreatePatch.Enabled = True
@@ -83,7 +84,20 @@ Public Class Form1
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button_ApplyPatch.Click
- SMBXPFX.ApplyPatch(TextBoxX_OriginalLevelApply.Text, TextBoxX_PatchFileApply.Text)
+ CircularProgress_Apply.IsRunning = True
+ LabelX14.Enabled = True
+ Button_ApplyPatch.Enabled = True
+
+ Select Case SMBXPFX.ApplyPatch(TextBoxX_OriginalLevelApply.Text, TextBoxX_PatchFileApply.Text)
+ Case 1 : MessageBoxEx.Show("Done", "Patch applied succesfully!", MessageBoxButtons.OK, MessageBoxIcon.Information)
+ Case 2 : MessageBoxEx.Show("Done", "There is an error at extracting files! Or maybe this isn't a valid patch file.", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Case 3 : MessageBoxEx.Show("Done", "This isn't a valid patch file.", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ Case Else : MessageBoxEx.Show("Done", "There is an unknown error!", MessageBoxButtons.OK, MessageBoxIcon.Error)
+ End Select
+
+ LabelX14.Enabled = False
+ CircularProgress_Apply.IsRunning = False
+ Button_ApplyPatch.Enabled = False
End Sub
Private Sub CheckBoxX2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBoxX2.CheckedChanged
@@ -190,16 +204,17 @@ SkipCheck: End If
Return 2 'Error at packing
End If
+ Directory.Delete(TempLeveldir, True)
Return 1
End Function
Shared Function ApplyPatch(OriginalLevel As String, PatchFile As String) As Integer
Dim PatchTyp As Integer = 0 '0 = plx | 1 = slp
Dim PLevel As List(Of String) = File.ReadAllLines(OriginalLevel).ToList
- Dim TempLeveldir As String = Form1.TempDir & "\TempLevel"
- Dim TempLevelfiledir As String = TempLeveldir & "\data"
- If Directory.Exists(TempLeveldir) Then Directory.Delete(TempLeveldir, True)
- Directory.CreateDirectory(TempLeveldir)
+ Dim TempLeveldir As String = Form1.TempDir & "\TempLevel" : Dim TempLevelfiledir As String = TempLeveldir & "\data"
+ Dim oLeveldir As String = Path.GetDirectoryName(OriginalLevel) : Dim oLevelfiledir As String = oLeveldir & "\" & Path.GetFileNameWithoutExtension(OriginalLevel)
+ If Directory.Exists(TempLeveldir) Then Directory.Delete(TempLeveldir, True) : Application.DoEvents()
+ Directory.CreateDirectory(TempLeveldir) : Application.DoEvents()
'Check Patchtyp:
Select Case Path.GetExtension(PatchFile)
@@ -220,7 +235,6 @@ SkipCheck: End If
sevenzip.StartInfo.UseShellExecute = False
sevenzip.StartInfo.CreateNoWindow = True
sevenzip.Start()
-
Do Until sevenzip.HasExited = True : Application.DoEvents() : Loop
If sevenzip.ExitCode <> 0 Then
Return 2 'Error at packing
@@ -228,7 +242,7 @@ SkipCheck: End If
End If
'Load patchlevel:
- Dim PFile() As String = {""}
+ Dim PFile() As String = {}
Select Case PatchTyp
Case 0 : PFile = File.ReadAllLines(TempLeveldir & "\data.dat")
Case 1 : PFile = File.ReadAllLines(PatchFile)
@@ -236,15 +250,21 @@ SkipCheck: End If
'Apply lines in patch to the level:
For Each l As String In PFile
- If Not PLevel.Contains(l) Then
- PLevel.Add(l)
- End If
+ If Not PLevel.Contains(l) Then PLevel.Add(l)
Next
'Copy and replace files
If PatchTyp = 0 Then
- Dim ListFilesInLeveldir() As String = Directory.GetFileSystemEntries(TempLeveldir)
-
+ Dim pListFilesInLeveldir() As String = Directory.GetFiles(TempLeveldir) : Dim pListFilesInLevelfiledir() As String = {} : If Directory.Exists(TempLevelfiledir) Then pListFilesInLevelfiledir = Directory.GetFiles(TempLevelfiledir)
+ Dim oListFilesInLeveldir() As String = Directory.GetFiles(oLeveldir) : Dim oListFilesInLevelfiledir() As String = {} : If Directory.Exists(oLevelfiledir) Then oListFilesInLevelfiledir = Directory.GetFiles(oLevelfiledir)
+ If Not Directory.Exists(oLevelfiledir) And oListFilesInLevelfiledir.Count > 0 Then Directory.CreateDirectory(oLevelfiledir)
+ For i As Integer = 0 To pListFilesInLeveldir.Count - 1
+ If Not pListFilesInLeveldir(i) = TempLeveldir & "\data.dat" Then
+ File.Copy(pListFilesInLeveldir(i), oLeveldir & "\" & Path.GetFileName(pListFilesInLeveldir(i)), True) : MsgBox("") : End If
+ Application.DoEvents() : Next
+ For i As Integer = 0 To pListFilesInLevelfiledir.Count - 1
+ File.Copy(pListFilesInLevelfiledir(i), oLevelfiledir & "\" & Path.GetFileName(pListFilesInLevelfiledir(i)), True)
+ Application.DoEvents() : Next
End If
'Wirte new level file
diff --git a/SMBX Magic Patcher/My Project/Application.Designer.vb b/SMBX Magic Patcher/My Project/Application.Designer.vb
index f0cef7c..32e63b5 100644
--- a/SMBX Magic Patcher/My Project/Application.Designer.vb
+++ b/SMBX Magic Patcher/My Project/Application.Designer.vb
@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
'
'------------------------------------------------------------------------------
@@ -13,15 +13,15 @@ Option Explicit On
Namespace My
-
- 'NOTE: This file is auto-generated; do not modify it directly. To make changes,
- ' or if you encounter build errors in this file, go to the Project Designer
- ' (go to Project Properties or double-click the My Project node in
- ' Solution Explorer), and make changes on the Application tab.
+
+ 'HINWEIS: Diese Datei wird automatisch generiert und darf nicht direkt bearbeitet werden. Wenn Sie Änderungen vornehmen möchten,
+ ' oder bei in dieser Datei auftretenden Buildfehlern wechseln Sie zum Projekt-Designer.
+ ' (Wechseln Sie dazu zu den Projekteigenschaften, oder doppelklicken Sie auf den Knoten "Mein Projekt" im
+ ' Projektmappen-Explorer). Nehmen Sie auf der Registerkarte "Anwendung" entsprechende Änderungen vor.
'
Partial Friend Class MyApplication
-
- _
+
+ _
Public Sub New()
MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
Me.IsSingleInstance = false
@@ -29,8 +29,8 @@ Namespace My
Me.SaveMySettingsOnExit = true
Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
End Sub
-
- _
+
+ _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.SMBX_Magic_Patcher.Form1
End Sub
diff --git a/SMBX Magic Patcher/My Project/Resources.Designer.vb b/SMBX Magic Patcher/My Project/Resources.Designer.vb
index 82fba5f..8f1889f 100644
--- a/SMBX Magic Patcher/My Project/Resources.Designer.vb
+++ b/SMBX Magic Patcher/My Project/Resources.Designer.vb
@@ -1,40 +1,41 @@
'------------------------------------------------------------------------------
'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
'
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
+Imports System
Namespace My.Resources
-
- 'This class was auto-generated by the StronglyTypedResourceBuilder
- 'class via a tool like ResGen or Visual Studio.
- 'To add or remove a member, edit your .ResX file then rerun ResGen
- 'with the /str option, or rebuild your VS project.
+
+ 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
+ '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
+ 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
+ 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
'''
- ''' A strongly-typed resource class, for looking up localized strings, etc.
+ ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''
- _
+ _
Friend Module Resources
-
+
Private resourceMan As Global.System.Resources.ResourceManager
-
+
Private resourceCulture As Global.System.Globalization.CultureInfo
-
+
'''
- ''' Returns the cached ResourceManager instance used by this class.
+ ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
'''
- _
+ _
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
@@ -44,17 +45,17 @@ Namespace My.Resources
Return resourceMan
End Get
End Property
-
+
'''
- ''' Overrides the current thread's CurrentUICulture property for all
- ''' resource lookups using this strongly typed resource class.
+ ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
+ ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
'''
- _
+ _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
- Set(ByVal value As Global.System.Globalization.CultureInfo)
+ Set
resourceCulture = value
End Set
End Property
diff --git a/SMBX Magic Patcher/My Project/Settings.Designer.vb b/SMBX Magic Patcher/My Project/Settings.Designer.vb
index 5eb0927..9b3bd52 100644
--- a/SMBX Magic Patcher/My Project/Settings.Designer.vb
+++ b/SMBX Magic Patcher/My Project/Settings.Designer.vb
@@ -1,10 +1,10 @@
'------------------------------------------------------------------------------
'
-' This code was generated by a tool.
-' Runtime Version:4.0.30319.42000
+' Dieser Code wurde von einem Tool generiert.
+' Laufzeitversion:4.0.30319.42000
'
-' Changes to this file may cause incorrect behavior and will be lost if
-' the code is regenerated.
+' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+' der Code erneut generiert wird.
'
'------------------------------------------------------------------------------
@@ -13,42 +13,42 @@ Option Explicit On
Namespace My
-
- _
+
+ _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
-
- Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings)
-
-#Region "My.Settings Auto-Save Functionality"
+
+ Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
+
+#Region "Funktion zum automatischen Speichern von My.Settings"
#If _MyType = "WindowsForms" Then
- Private Shared addedHandler As Boolean
+ Private Shared addedHandler As Boolean
- Private Shared addedHandlerLockObject As New Object
+ Private Shared addedHandlerLockObject As New Object
- _
- Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
- If My.Application.SaveMySettingsOnExit Then
- My.Settings.Save()
- End If
- End Sub
+ _
+ Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+ If My.Application.SaveMySettingsOnExit Then
+ My.Settings.Save()
+ End If
+ End Sub
#End If
#End Region
-
+
Public Shared ReadOnly Property [Default]() As MySettings
Get
-
+
#If _MyType = "WindowsForms" Then
- If Not addedHandler Then
- SyncLock addedHandlerLockObject
- If Not addedHandler Then
- AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
- addedHandler = True
- End If
- End SyncLock
- End If
+ If Not addedHandler Then
+ SyncLock addedHandlerLockObject
+ If Not addedHandler Then
+ AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+ addedHandler = True
+ End If
+ End SyncLock
+ End If
#End If
Return defaultInstance
End Get
@@ -57,13 +57,13 @@ Namespace My
End Namespace
Namespace My
-
- _
+
+ _
Friend Module MySettingsProperty
-
- _
+
+ _
Friend ReadOnly Property Settings() As Global.SMBX_Magic_Patcher.My.MySettings
Get
Return Global.SMBX_Magic_Patcher.My.MySettings.Default
diff --git a/SMBX Magic Patcher/SMBX Magic Patcher.vbproj b/SMBX Magic Patcher/SMBX Magic Patcher.vbproj
index 8706de7..1b76d4f 100644
--- a/SMBX Magic Patcher/SMBX Magic Patcher.vbproj
+++ b/SMBX Magic Patcher/SMBX Magic Patcher.vbproj
@@ -11,8 +11,9 @@
SMBX Magic Patcher
512
WindowsForms
- v4.5.2
+ v4.5
true
+
AnyCPU