diff --git a/assets/HistoryEdition.zip b/assets/HistoryEdition.zip new file mode 100644 index 0000000..71ed352 Binary files /dev/null and b/assets/HistoryEdition.zip differ diff --git a/src/CommunityPatchLauncher/CommunityPatchLauncher.csproj b/src/CommunityPatchLauncher/CommunityPatchLauncher.csproj index a6d5723..d92e8bf 100644 --- a/src/CommunityPatchLauncher/CommunityPatchLauncher.csproj +++ b/src/CommunityPatchLauncher/CommunityPatchLauncher.csproj @@ -40,6 +40,7 @@ s4communitypatch.ico + ..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll diff --git a/src/CommunityPatchLauncher/Properties/Resources.Designer.cs b/src/CommunityPatchLauncher/Properties/Resources.Designer.cs index bf517a2..faf7a15 100644 --- a/src/CommunityPatchLauncher/Properties/Resources.Designer.cs +++ b/src/CommunityPatchLauncher/Properties/Resources.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -// der Code erneut generiert wird. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -13,13 +13,13 @@ namespace CommunityPatchLauncher.Properties { /// - /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// A strongly-typed resource class, for looking up localized strings, etc. /// - // 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. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + // 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. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class Resources { @@ -33,7 +33,7 @@ internal Resources() { } /// - /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] public static global::System.Resources.ResourceManager ResourceManager { @@ -47,8 +47,8 @@ internal Resources() { } /// - /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] public static global::System.Globalization.CultureInfo Culture { @@ -61,7 +61,7 @@ internal Resources() { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Abort ähnelt. + /// Looks up a localized string similar to Abort. /// public static string Default_Abort { get { @@ -70,7 +70,7 @@ public static string Default_Abort { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Coming soon ähnelt. + /// Looks up a localized string similar to Coming soon. /// public static string Default_ComingSoon { get { @@ -79,7 +79,7 @@ public static string Default_ComingSoon { } /// - /// Sucht eine lokalisierte Zeichenfolge, die The folder is not empty ähnelt. + /// Looks up a localized string similar to The folder is not empty. /// public static string Default_FolderIsNotEmpty { get { @@ -88,7 +88,7 @@ public static string Default_FolderIsNotEmpty { } /// - /// Sucht eine lokalisierte Zeichenfolge, die The selected folder is not valid ähnelt. + /// Looks up a localized string similar to The selected folder is not valid. /// public static string Default_FolderSelectionError { get { @@ -97,7 +97,7 @@ public static string Default_FolderSelectionError { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Language: ähnelt. + /// Looks up a localized string similar to Language:. /// public static string Default_LanguageLabel { get { @@ -106,7 +106,7 @@ public static string Default_LanguageLabel { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Polish ähnelt. + /// Looks up a localized string similar to Polish. /// public static string Default_LanguagePl { get { @@ -115,7 +115,7 @@ public static string Default_LanguagePl { } /// - /// Sucht eine lokalisierte Zeichenfolge, die No ähnelt. + /// Looks up a localized string similar to No. /// public static string Default_No { get { @@ -124,7 +124,7 @@ public static string Default_No { } /// - /// Sucht eine lokalisierte Zeichenfolge, die The selected folder does not contain the Settlers 4 History Edition ähnelt. + /// Looks up a localized string similar to The selected folder does not contain the Settlers 4 History Edition. /// public static string Default_NotTheSettlerFolder { get { @@ -133,7 +133,7 @@ public static string Default_NotTheSettlerFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Ok ähnelt. + /// Looks up a localized string similar to Ok. /// public static string Default_Ok { get { @@ -142,7 +142,7 @@ public static string Default_Ok { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Save ähnelt. + /// Looks up a localized string similar to Save. /// public static string Default_Save { get { @@ -151,7 +151,7 @@ public static string Default_Save { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Update Application ähnelt. + /// Looks up a localized string similar to Update Application. /// public static string Default_UpdateApplication { get { @@ -160,7 +160,7 @@ public static string Default_UpdateApplication { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Yes ähnelt. + /// Looks up a localized string similar to Yes. /// public static string Default_Yes { get { @@ -169,7 +169,7 @@ public static string Default_Yes { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Newest unstable ähnelt. + /// Looks up a localized string similar to Newest unstable. /// public static string Develop { get { @@ -178,7 +178,7 @@ public static string Develop { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Could not find any builds on the given branch ähnelt. + /// Looks up a localized string similar to Could not find any builds on the given branch. /// public static string Dialog_GetRemoteNoBuildsFound { get { @@ -187,7 +187,7 @@ public static string Dialog_GetRemoteNoBuildsFound { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Seems like there was a timeout or you did lost the Internet connection ähnelt. + /// Looks up a localized string similar to Seems like there was a timeout or you did lost the Internet connection. /// public static string Dialog_GetRemoteTimeout { get { @@ -196,9 +196,9 @@ public static string Dialog_GetRemoteTimeout { } /// - /// Sucht eine lokalisierte Zeichenfolge, die There was an error while getting the remote version + /// Looks up a localized string similar to There was an error while getting the remote version /// - ///{exception} ähnelt. + ///{exception}. /// public static string Dialog_GetRemoteVersionError { get { @@ -207,7 +207,7 @@ public static string Dialog_GetRemoteVersionError { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Update information ähnelt. + /// Looks up a localized string similar to Update information. /// public static string Dialog_UpdateInformationTitle { get { @@ -216,7 +216,7 @@ public static string Dialog_UpdateInformationTitle { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Problem while trying to update ähnelt. + /// Looks up a localized string similar to Problem while trying to update. /// public static string Dialog_UpdateProblemTitle { get { @@ -225,7 +225,7 @@ public static string Dialog_UpdateProblemTitle { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Do you want to upgrade? ähnelt. + /// Looks up a localized string similar to Do you want to upgrade?. /// public static string Dialog_UpgradeTitle { get { @@ -234,7 +234,7 @@ public static string Dialog_UpgradeTitle { } /// - /// Sucht eine lokalisierte Zeichenfolge, die The Document was loaded from cache ähnelt. + /// Looks up a localized string similar to The Document was loaded from cache. /// public static string DocumentCacheNotice { get { @@ -243,7 +243,25 @@ public static string DocumentCacheNotice { } /// - /// Sucht eine lokalisierte Zeichenfolge, die About ähnelt. + /// Looks up a localized string similar to Download or installation was aborted by user!. + /// + public static string Download_United_Aborted { + get { + return ResourceManager.GetString("Download_United_Aborted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download the update .... + /// + public static string Download_United_Update { + get { + return ResourceManager.GetString("Download_United_Update", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About. /// public static string MainWindow_About { get { @@ -252,7 +270,7 @@ public static string MainWindow_About { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Changelog ähnelt. + /// Looks up a localized string similar to Changelog. /// public static string MainWindow_Changelog { get { @@ -261,7 +279,7 @@ public static string MainWindow_Changelog { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Chat ähnelt. + /// Looks up a localized string similar to Chat. /// public static string MainWindow_Chat { get { @@ -270,7 +288,7 @@ public static string MainWindow_Chat { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Disclaimer ähnelt. + /// Looks up a localized string similar to Disclaimer. /// public static string MainWindow_Disclaimer { get { @@ -279,7 +297,7 @@ public static string MainWindow_Disclaimer { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Editor ähnelt. + /// Looks up a localized string similar to Editor. /// public static string MainWindow_Editor { get { @@ -288,7 +306,7 @@ public static string MainWindow_Editor { } /// - /// Sucht eine lokalisierte Zeichenfolge, die FAQ ähnelt. + /// Looks up a localized string similar to FAQ. /// public static string MainWindow_FAQ { get { @@ -297,7 +315,7 @@ public static string MainWindow_FAQ { } /// - /// Sucht eine lokalisierte Zeichenfolge, die HD Patch ähnelt. + /// Looks up a localized string similar to HD Patch. /// public static string MainWindow_HDPatchCategory { get { @@ -306,7 +324,7 @@ public static string MainWindow_HDPatchCategory { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Help ähnelt. + /// Looks up a localized string similar to Help. /// public static string MainWindow_Help { get { @@ -315,7 +333,7 @@ public static string MainWindow_Help { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Home ähnelt. + /// Looks up a localized string similar to Home. /// public static string MainWindow_Home { get { @@ -324,7 +342,7 @@ public static string MainWindow_Home { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Intellectual property ähnelt. + /// Looks up a localized string similar to Intellectual property. /// public static string MainWindow_IntellectualProperty { get { @@ -333,7 +351,7 @@ public static string MainWindow_IntellectualProperty { } /// - /// Sucht eine lokalisierte Zeichenfolge, die License ähnelt. + /// Looks up a localized string similar to License. /// public static string MainWindow_License { get { @@ -342,7 +360,7 @@ public static string MainWindow_License { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Maps ähnelt. + /// Looks up a localized string similar to Maps. /// public static string MainWindow_Maps { get { @@ -351,7 +369,7 @@ public static string MainWindow_Maps { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Mods ähnelt. + /// Looks up a localized string similar to Mods. /// public static string MainWindow_Mods { get { @@ -360,7 +378,7 @@ public static string MainWindow_Mods { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Multiplayer ähnelt. + /// Looks up a localized string similar to Multiplayer. /// public static string MainWindow_Multiplayer { get { @@ -369,7 +387,7 @@ public static string MainWindow_Multiplayer { } /// - /// Sucht eine lokalisierte Zeichenfolge, die News ähnelt. + /// Looks up a localized string similar to News. /// public static string MainWindow_News { get { @@ -378,7 +396,7 @@ public static string MainWindow_News { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Open User Map Folder ähnelt. + /// Looks up a localized string similar to Open User Map Folder. /// public static string MainWindow_OpenMPMapFolder { get { @@ -387,7 +405,7 @@ public static string MainWindow_OpenMPMapFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Play ähnelt. + /// Looks up a localized string similar to Play. /// public static string MainWindow_Play { get { @@ -396,7 +414,7 @@ public static string MainWindow_Play { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Search players ähnelt. + /// Looks up a localized string similar to Search players. /// public static string MainWindow_PlayerSearch { get { @@ -405,7 +423,7 @@ public static string MainWindow_PlayerSearch { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Ranked ähnelt. + /// Looks up a localized string similar to Ranked. /// public static string MainWindow_Ranked { get { @@ -414,7 +432,7 @@ public static string MainWindow_Ranked { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Report issue ähnelt. + /// Looks up a localized string similar to Report issue. /// public static string MainWindow_ReportIssue { get { @@ -423,7 +441,7 @@ public static string MainWindow_ReportIssue { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Open Savefolder ähnelt. + /// Looks up a localized string similar to Open Savefolder. /// public static string MainWindow_SaveFolder { get { @@ -432,7 +450,7 @@ public static string MainWindow_SaveFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Settings ähnelt. + /// Looks up a localized string similar to Settings. /// public static string MainWindow_Settings { get { @@ -441,7 +459,7 @@ public static string MainWindow_Settings { } /// - /// Sucht eine lokalisierte Zeichenfolge, die S4 HE Config ähnelt. + /// Looks up a localized string similar to S4 HE Config. /// public static string MainWindow_SettlersConfig { get { @@ -450,7 +468,7 @@ public static string MainWindow_SettlersConfig { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Social Media ähnelt. + /// Looks up a localized string similar to Social Media. /// public static string MainWindow_SocialMedia { get { @@ -459,7 +477,7 @@ public static string MainWindow_SocialMedia { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Settle ähnelt. + /// Looks up a localized string similar to Settle. /// public static string MainWindow_StartSettle { get { @@ -468,7 +486,7 @@ public static string MainWindow_StartSettle { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Team ähnelt. + /// Looks up a localized string similar to Team. /// public static string MainWindow_Team { get { @@ -477,7 +495,7 @@ public static string MainWindow_Team { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Texture Changer ähnelt. + /// Looks up a localized string similar to Texture Changer. /// public static string MainWindow_TextureChanger { get { @@ -486,7 +504,7 @@ public static string MainWindow_TextureChanger { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Community Patch Launcher ähnelt. + /// Looks up a localized string similar to Community Patch Launcher. /// public static string MainWindow_Title { get { @@ -495,7 +513,7 @@ public static string MainWindow_Title { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Tools ähnelt. + /// Looks up a localized string similar to Tools. /// public static string MainWindow_Tools { get { @@ -504,7 +522,7 @@ public static string MainWindow_Tools { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Your local version is newer or up to date ähnelt. + /// Looks up a localized string similar to Your local version is newer or up to date. /// public static string Message_LocalVersionIsNewer { get { @@ -513,10 +531,10 @@ public static string Message_LocalVersionIsNewer { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Remote version is newer do you want to upgrade? + /// Looks up a localized string similar to Remote version is newer do you want to upgrade? /// ///Local version: {localVersion} - ///Remote version: {remoteVersion} ähnelt. + ///Remote version: {remoteVersion}. /// public static string Message_Update { get { @@ -525,9 +543,9 @@ public static string Message_Update { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Could not get local or remote version! + /// Looks up a localized string similar to Could not get local or remote version! /// - ///Is your computer offline? ähnelt. + ///Is your computer offline?. /// public static string Message_VersionUpdateWarning { get { @@ -536,7 +554,7 @@ public static string Message_VersionUpdateWarning { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Download all the patches for the offline mode ähnelt. + /// Looks up a localized string similar to Download all the patches for the offline mode. /// public static string PlayControl_DownloadAllPatchesTooltip { get { @@ -545,7 +563,7 @@ public static string PlayControl_DownloadAllPatchesTooltip { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Fast Speed (2) ähnelt. + /// Looks up a localized string similar to Fast Speed (2). /// public static string PlayControl_FastSpeed { get { @@ -554,7 +572,7 @@ public static string PlayControl_FastSpeed { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Launch game ähnelt. + /// Looks up a localized string similar to Launch game. /// public static string PlayControl_Launch { get { @@ -563,7 +581,7 @@ public static string PlayControl_Launch { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Normal Speed (1) ähnelt. + /// Looks up a localized string similar to Normal Speed (1). /// public static string PlayControl_NormalSpeed { get { @@ -572,7 +590,7 @@ public static string PlayControl_NormalSpeed { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Testing Speed (60) ähnelt. + /// Looks up a localized string similar to Testing Speed (60). /// public static string PlayControl_TestingSpeed { get { @@ -581,7 +599,7 @@ public static string PlayControl_TestingSpeed { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Very Fast Speed (3) ähnelt. + /// Looks up a localized string similar to Very Fast Speed (3). /// public static string PlayControl_VeryFastSpeed { get { @@ -590,7 +608,7 @@ public static string PlayControl_VeryFastSpeed { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Release ähnelt. + /// Looks up a localized string similar to Release. /// public static string Release { get { @@ -599,7 +617,7 @@ public static string Release { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Custom size ähnelt. + /// Looks up a localized string similar to Custom size. /// public static string ResizeWindow_CustomSize { get { @@ -608,7 +626,7 @@ public static string ResizeWindow_CustomSize { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Enter window height ähnelt. + /// Looks up a localized string similar to Enter window height. /// public static string ResizeWindow_HeightTooltip { get { @@ -617,7 +635,7 @@ public static string ResizeWindow_HeightTooltip { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Enter new size ähnelt. + /// Looks up a localized string similar to Enter new size. /// public static string ResizeWindow_NewSize { get { @@ -626,7 +644,7 @@ public static string ResizeWindow_NewSize { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Select new size: ähnelt. + /// Looks up a localized string similar to Select new size:. /// public static string ResizeWindow_SelectNewSize { get { @@ -635,7 +653,7 @@ public static string ResizeWindow_SelectNewSize { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Resize Window ähnelt. + /// Looks up a localized string similar to Resize Window. /// public static string ResizeWindow_Title { get { @@ -644,7 +662,7 @@ public static string ResizeWindow_Title { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Enter window width ähnelt. + /// Looks up a localized string similar to Enter window width. /// public static string ResizeWindow_WidthTooltip { get { @@ -653,7 +671,16 @@ public static string ResizeWindow_WidthTooltip { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Minimize launcher on game start ähnelt. + /// Looks up a localized string similar to Upgrade to Settlers United (Beta). + /// + public static string Setters_United_Beta { + get { + return ResourceManager.GetString("Setters_United_Beta", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize launcher on game start. /// public static string SettingsWindow_MinimizeOnGameStart { get { @@ -662,7 +689,7 @@ public static string SettingsWindow_MinimizeOnGameStart { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Update Branch: ähnelt. + /// Looks up a localized string similar to Update Branch:. /// public static string SettingsWindow_UpdateBranch { get { @@ -671,7 +698,7 @@ public static string SettingsWindow_UpdateBranch { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Check for update on Startup ähnelt. + /// Looks up a localized string similar to Check for update on Startup. /// public static string SettingWindow_CheckForUpdateOnStartup { get { @@ -680,7 +707,7 @@ public static string SettingWindow_CheckForUpdateOnStartup { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Download folder: ähnelt. + /// Looks up a localized string similar to Download folder:. /// public static string SettingWindow_DownloadFolder { get { @@ -689,7 +716,7 @@ public static string SettingWindow_DownloadFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Open download folder ähnelt. + /// Looks up a localized string similar to Open download folder. /// public static string SettingWindow_OpenDownloadFolder { get { @@ -698,7 +725,7 @@ public static string SettingWindow_OpenDownloadFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Open game folder ähnelt. + /// Looks up a localized string similar to Open game folder. /// public static string SettingWindow_OpenGameFolder { get { @@ -707,7 +734,7 @@ public static string SettingWindow_OpenGameFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Open setting folder ähnelt. + /// Looks up a localized string similar to Open setting folder. /// public static string SettingWindow_OpenSettingFolder { get { @@ -716,7 +743,7 @@ public static string SettingWindow_OpenSettingFolder { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Reset agreement ähnelt. + /// Looks up a localized string similar to Reset agreement. /// public static string SettingWindow_ResetAgreement { get { @@ -725,7 +752,17 @@ public static string SettingWindow_ResetAgreement { } /// - /// Sucht eine lokalisierte Zeichenfolge, die I did read the agreement ähnelt. + /// Looks up a localized string similar to Note: Please patch to History Edition first. + ///The Community Balance Patch can be reactivated in Settlers United (in the game itself) afterwards.. + /// + public static string Upgrade_Note { + get { + return ResourceManager.GetString("Upgrade_Note", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to I did read the agreement. /// public static string WelcomeWindow_Agree { get { @@ -734,7 +771,7 @@ public static string WelcomeWindow_Agree { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Auto detect ähnelt. + /// Looks up a localized string similar to Auto detect. /// public static string WelcomeWindow_AutoDetect { get { @@ -743,7 +780,7 @@ public static string WelcomeWindow_AutoDetect { } /// - /// Sucht eine lokalisierte Zeichenfolge, die ... ähnelt. + /// Looks up a localized string similar to .... /// public static string WelcomeWindow_ManuelSelection { get { @@ -752,7 +789,7 @@ public static string WelcomeWindow_ManuelSelection { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Agreement ähnelt. + /// Looks up a localized string similar to Agreement. /// public static string WelcomeWindow_TextBox { get { @@ -761,7 +798,7 @@ public static string WelcomeWindow_TextBox { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Welcome ähnelt. + /// Looks up a localized string similar to Welcome. /// public static string WelcomeWindow_Title { get { @@ -770,7 +807,7 @@ public static string WelcomeWindow_Title { } /// - /// Sucht eine lokalisierte Zeichenfolge, die Game folder: ähnelt. + /// Looks up a localized string similar to Game folder:. /// public static string WelcomWindow_GameFolder { get { diff --git a/src/CommunityPatchLauncher/Properties/Resources.de-DE.resx b/src/CommunityPatchLauncher/Properties/Resources.de-DE.resx index 5518396..ade7d7f 100644 --- a/src/CommunityPatchLauncher/Properties/Resources.de-DE.resx +++ b/src/CommunityPatchLauncher/Properties/Resources.de-DE.resx @@ -165,6 +165,12 @@ Der Ordner ist nicht leer + + Der Download oder die installation wurde durch den Bnutzer abgebrochen + + + Herunterladen des Updates... + Englisch @@ -279,6 +285,9 @@ Remote version: {remoteVersion} Fenster breite eintragen + + Upgrade auf Settlers United (Beta) + Launcher beim Spielstart minimieren @@ -303,6 +312,9 @@ Remote version: {remoteVersion} Vereinbarung zurücksetzten + + Hinweis: Bitte vorher auf History Edition patchen. Der Community Balance Patch kann anschließend in Settlers United (im Spiel selbst) wieder aktiviert werden + Ich habe die Vereinbarung gelesen diff --git a/src/CommunityPatchLauncher/Properties/Resources.resx b/src/CommunityPatchLauncher/Properties/Resources.resx index 3c75878..20a41a7 100644 --- a/src/CommunityPatchLauncher/Properties/Resources.resx +++ b/src/CommunityPatchLauncher/Properties/Resources.resx @@ -179,6 +179,12 @@ The Document was loaded from cache + + Download or installation was aborted by user! + + + Download the update ... + About @@ -319,6 +325,9 @@ Is your computer offline? Enter window width + + Upgrade to Settlers United (Beta) + Minimize launcher on game start @@ -343,6 +352,10 @@ Is your computer offline? Reset agreement + + Note: Please patch to History Edition first. +The Community Balance Patch can be reactivated in Settlers United (in the game itself) afterwards. + I did read the agreement diff --git a/src/CommunityPatchLauncher/Windows/MainWindow.xaml b/src/CommunityPatchLauncher/Windows/MainWindow.xaml index ab2e7e7..5f59671 100644 --- a/src/CommunityPatchLauncher/Windows/MainWindow.xaml +++ b/src/CommunityPatchLauncher/Windows/MainWindow.xaml @@ -5,10 +5,14 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:CommunityPatchLauncher" xmlns:uC="clr-namespace:CommunityPatchLauncher.UserControls" - xmlns:p = "clr-namespace:CommunityPatchLauncher.Properties" + xmlns:p="clr-namespace:CommunityPatchLauncher.Properties" xmlns:fa="http://schemas.fontawesome.io/icons/" mc:Ignorable="d" - Width="1024" Height="768" MinWidth="800" MinHeight="600" Title="{x:Static p:Resources.MainWindow_Title}"> + Width="1024" + Height="768" + MinWidth="800" + MinHeight="600" + Title="{x:Static p:Resources.MainWindow_Title}"> @@ -19,181 +23,313 @@ - - + + - - + + - + - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/src/CommunityPatchLauncher/Windows/MainWindow.xaml.cs b/src/CommunityPatchLauncher/Windows/MainWindow.xaml.cs index e6c4aad..61d6a36 100644 --- a/src/CommunityPatchLauncher/Windows/MainWindow.xaml.cs +++ b/src/CommunityPatchLauncher/Windows/MainWindow.xaml.cs @@ -1,6 +1,18 @@ using CommunityPatchLauncher.ViewModels; +using System; +using System.ComponentModel; +using System.Diagnostics; +using System.Net; using System.Windows; +using CommunityPatchLauncher.ViewModels; +using System.IO.Compression; +using System.Threading.Tasks; +using System.IO; +using CommunityPatchLauncherFramework.Settings.Manager; +using Microsoft.Win32; +using System.Windows.Controls; + namespace CommunityPatchLauncher.Windows { /// @@ -8,6 +20,13 @@ namespace CommunityPatchLauncher.Windows /// public partial class MainWindow : Window { + + /// + /// The setting manager to use + /// + protected SettingManager settingManager; + + /// /// Create a new main window /// @@ -16,5 +35,148 @@ public MainWindow() InitializeComponent(); this.DataContext = new MainWindowModel(this); } - } + + + + #region Downloader + private void UpgradetoSettlersUnited(object sender, RoutedEventArgs e) + { + Task upgradeTask = UpgradetoSettlersUnited(); + if (sender is Button button) + { + button.IsEnabled = false; + upgradeTask.ContinueWith(_ => Dispatcher.Invoke(() => button.IsEnabled = true)); + } + } + private async Task UpgradetoSettlersUnited() + { + await ZipInstallerAsync(); + string URI = "https://files.settlers-united.com/Settlers-United.exe"; + DownloadFileAsync(URI, "SettlersUnitedSetup.exe", Properties.Resources.Setters_United_Beta, true); + } + private void DownloadFileAsync(string URI, string File, string Name, bool SettlersUnited = false) + { + DownlaodPanel.Visibility = Visibility.Visible; + DownlaodLabel.Content = Properties.Resources.Download_United_Update + Environment.NewLine + Name; + + try + { + using (WebClient wc = new WebClient()) + { + wc.DownloadProgressChanged += DownloadProgressChanged; + wc.DownloadFileCompleted += DownloadFileEventCompletedUnited; + wc.DownloadFileAsync(new Uri(URI), File); + } + } + catch (Exception) + { + } + + + } + + + private void DownloadFileEventCompletedUnited(object sender, AsyncCompletedEventArgs e) + { + //ToDo Install first HE!!! @Leonards05 | Pumpline#5578 + + var startInfo = new ProcessStartInfo + { + FileName = "SettlersUnitedSetup.exe", + + Verb = "runas" + }; + try + { + Process.Start(startInfo); + Environment.Exit(0); + } + catch (Exception) + { + DownlaodLabel.Content = Properties.Resources.Download_United_Aborted; + } + finally + { + if (sender is Button button) + { + button.IsEnabled = true; + } + } + } + + private void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) + { + DownlaodPanel.Visibility = Visibility.Visible; + ProgressBar.Value = e.ProgressPercentage; + } + #endregion + + #region ZIPworker + + public async Task ZipInstallerAsync() + { + string zipFilePath = @"assets\HistoryEdition.zip"; + + string InstallPath = (string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Ubisoft\Launcher\Installs\11785", "InstallDir", null); + + using (ZipArchive archive = await Task.Run(() => ZipFile.OpenRead(zipFilePath))) + { + foreach (ZipArchiveEntry entry in archive.Entries) + { + string completeFileName = Path.Combine(InstallPath, entry.FullName); + string directory = Path.GetDirectoryName(completeFileName); + + if (!Directory.Exists(directory)) + { + Directory.CreateDirectory(directory); + } + try + { + if (entry.FullName.EndsWith(@".map", StringComparison.OrdinalIgnoreCase)) + { + if (!File.Exists(InstallPath + completeFileName)) + { + if (!entry.FullName.EndsWith(@"/", StringComparison.OrdinalIgnoreCase)) + { + await Task.Run(() => entry.ExtractToFile(completeFileName, true)); + } + } + else if (!File.Equals(InstallPath + completeFileName, entry)) + { + + if (!entry.FullName.EndsWith(@"/", StringComparison.OrdinalIgnoreCase)) + { + await Task.Run(() => entry.ExtractToFile(completeFileName, true)); + } + } + } + else + { + if (!entry.FullName.EndsWith(@"/", StringComparison.OrdinalIgnoreCase)) + { + await Task.Run(() => + { + try + { + entry.ExtractToFile(completeFileName, true); + } + catch + { + MessageBox.Show("Error", "Error", MessageBoxButton.OK, MessageBoxImage.Error); + Environment.Exit(0); + } + }); + } + } + + } + catch (Exception) + { + } + } + } + } + + #endregion + } }