diff --git a/.gitignore b/.gitignore index bb2fab7..12a2548 100755 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,10 @@ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files +*.rsuser *.suo *.user *.userosscache @@ -10,6 +13,9 @@ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs +# Mono auto generated files +mono_crash.* + # Build results [Dd]ebug/ [Dd]ebugPublic/ @@ -17,19 +23,21 @@ [Rr]eleases/ x64/ x86/ -build/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ bld/ [Bb]in/ [Oo]bj/ +[Ll]og/ -# JetBrains IDE folder -.idea/ - -# Visual Studio 2015 cache/options directory +# Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ +# Visual Studio 2017 auto generated files +Generated\ Files/ + # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* @@ -43,18 +51,28 @@ TestResult.xml [Rr]eleasePS/ dlldata.c -# DNX +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core project.lock.json +project.fragment.lock.json artifacts/ +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio *_i.c *_p.c -*_i.h +*_h.h *.ilk *.meta *.obj +*.iobj *.pch *.pdb +*.ipdb *.pgc *.pgd *.rsp @@ -64,6 +82,7 @@ artifacts/ *.tlh *.tmp *.tmp_proj +*_wpftmp.csproj *.log *.vspscc *.vssscc @@ -79,9 +98,12 @@ _Chutzpah* ipch/ *.aps *.ncb +*.opendb *.opensdf *.sdf *.cachefile +*.VC.db +*.VC.VC.opendb # Visual Studio profiler *.psess @@ -89,6 +111,9 @@ ipch/ *.vspx *.sap +# Visual Studio Trace Files +*.e2e + # TFS 2012 Local Workspace $tf/ @@ -109,6 +134,14 @@ _TeamCity* # DotCover is a Code Coverage Tool *.dotCover +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + # NCrunch _NCrunch_* .*crunch*.local.xml @@ -140,45 +173,70 @@ publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings +# Note: Comment the next line if you want to checkin your web deploy settings, # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + # NuGet Packages *.nupkg # The packages folder can be ignored because of Package Restore -**/packages/* +**/[Pp]ackages/* # except build/, which is used as an MSBuild target. -!**/packages/build/ +!**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets -# Windows Azure Build Output +# Microsoft Azure Build Output csx/ *.build.csdef -# Windows Store app package directory +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache -!*.[Cc]ache/ +!?*.[Cc]ache/ # Others ClientBin/ -[Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.dbproj.schemaview +*.jfm *.pfx *.publishsettings -node_modules/ orleans.codegen.cs +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + # RIA/Silverlight projects Generated_Code/ @@ -189,21 +247,30 @@ _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak # SQL Server files *.mdf *.ldf +*.ndf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings +*.rptproj.rsuser +*- Backup*.rdl # Microsoft Fakes FakesAssemblies/ +# GhostDoc plugin setting file +*.GhostDoc.xml + # Node.js Tools for Visual Studio .ntvs_analysis.dat +node_modules/ # Visual Studio 6 build log *.plg @@ -211,6 +278,9 @@ FakesAssemblies/ # Visual Studio 6 workspace options file *.opt +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts @@ -218,3 +288,146 @@ FakesAssemblies/ **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# JetBrains Rider +.idea/ +*.sln.iml + +## +## Visual Studio Code +## +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json diff --git a/Documentation/Screenshot_1.png b/Documentation/Screenshot_1.png new file mode 100644 index 0000000..f65c304 Binary files /dev/null and b/Documentation/Screenshot_1.png differ diff --git a/Documentation/Screenshot_2.PNG b/Documentation/Screenshot_2.PNG new file mode 100644 index 0000000..0223f67 Binary files /dev/null and b/Documentation/Screenshot_2.PNG differ diff --git a/Documentation/Screenshot_3.PNG b/Documentation/Screenshot_3.PNG new file mode 100644 index 0000000..d8ce268 Binary files /dev/null and b/Documentation/Screenshot_3.PNG differ diff --git a/Documentation/Screenshot_4.PNG b/Documentation/Screenshot_4.PNG new file mode 100644 index 0000000..daae4dd Binary files /dev/null and b/Documentation/Screenshot_4.PNG differ diff --git a/LICENSE.md b/LICENSE.md index 4f8f0ea..6472d65 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,7 +1,7 @@ The MIT License (MIT) -Copyright (c) 2016 Satheesh +Copyright (c) 2021 Satheesh Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 1c4cd71..51aa8e0 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,38 @@ Unreal Engine 4 Binary Builder ====================== +Buy Me A Coffee + This is a small app designed to create binary build of [Unreal Engine 4](https://www.unrealengine.com/) from [GitHub source](https://github.com/EpicGames/UnrealEngine). -![](https://img.shields.io/twitter/follow/ryanjon2040.svg?style=popout) ![](https://img.shields.io/github/last-commit/ryanjon2040/UE4-Binary-Builder.svg?style=popout) ![](https://img.shields.io/github/license/ryanjon2040/UE4-Binary-Builder.svg?style=popout) ![](https://img.shields.io/github/downloads/ryanjon2040/UE4-Binary-Builder/total.svg?style=popout) +![https://twitter.com/ryanjon2040](https://img.shields.io/twitter/follow/ryanjon2040.svg?style=popout) + +![](https://img.shields.io/github/last-commit/ryanjon2040/UE4-Binary-Builder.svg?style=popout) +![](https://img.shields.io/github/license/ryanjon2040/UE4-Binary-Builder.svg?style=popout) ![](https://img.shields.io/github/downloads/ryanjon2040/UE4-Binary-Builder/total.svg?style=popout) ![](https://img.shields.io/github/languages/code-size/ryanjon2040/UE4-Binary-Builder.svg?style=flat) ![](https://img.shields.io/github/repo-size/ryanjon2040/UE4-Binary-Builder.svg?style=flat) -![Screenshot](https://i.imgur.com/z9u42gI.png) -Through this app you can also zip the final rocket build for distribution. -![Screenshot](https://i.imgur.com/oOKw8uy.png) +# How to use (Compiling Engine) -# How to use +###### Step I +- Download the latest release of Unreal Binary Builder. -Step I: Prepare the UE4 source -1. Clone the UE4 source from github -2. Run Setup.bat/.sh from the cloned folder, follow the instruction and resolve any error at this step -3. Run GenerateProjectFile.bat/.sh, make sure no error occured at this step -4. Open UE4.sln with Visual Studio -5. Rebuild these 2 project under Application group: AutomationTool and AutomationToolLauncher +###### Step II +- Clone or Download UE4 source from github. -Choose one of these options. Either download or build: +###### Step III +- Open Unreal Binary Builder. +- Click *Browse* and select **root folder** of your downloaded Engine (where **_Setup.bat_** and **_GenerateProjectFiles.bat_** exists). -Step II: (a) Download UE4 Binary Builder -1. Download [latest release](https://github.com/ryanjon2040/UE4-Binary-Builder/releases/latest). -2. Unzip to your preferred location and start `Unreal Binary Builder.exe`. +![Screenshot](Documentation/Screenshot_1.png) -Step II: (b) Build UE4 Binary Builder -1. Clone this git. -2. Open the sln file with Visual Studio, switch to Release configuration and press F5 to build and start or build the application and start manually from bin folder. +- Once the root folder is selected, click **Start**. +- If **Continue to Engine Build** is enabled, then _Unreal Binary Builder_ will automatically continue to compile the Engine with given options under **Compile** tab. -Step III: Build Engine -1. Select your target engine version. -2. Choose AutomationToolLauncher.exe by browsing to Engine\Binaries\DotNET folder. -3. (a) [Optional] Click Post Build Settings, choose a location to save the zip and enable your preferred options. -3. (b) Choose your settings and build. +###### Step IV +- Click **_Compile_** tab and set options for the Engine. +![Screenshot](Documentation/Screenshot_2.png) # Troubleshoot @@ -53,8 +50,13 @@ On Windows, just change the ownership to Users then try again. To change ownersh -# Credits - -[Material Design In XAML](https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit) by [ButchersBoy](https://github.com/ButchersBoy) +#### Dependencies +[HandyControl](https://github.com/HandyOrg/HandyControl) by [HandyOrg](https://github.com/HandyOrg) +[DotNetZip](https://github.com/haf/DotNetZip.Semverd) by [Henrik](https://github.com/haf)/Dino Chiesa +[GameAnalytics](https://github.com/GameAnalytics/GA-SDK-C-SHARP) by [Game Analytics](https://gameanalytics.com/) +[Json.NET](https://github.com/JamesNK/Newtonsoft.Json) by [Newtonsoft](https://www.newtonsoft.com/json) +[Sentry.NET](https://github.com/getsentry/sentry-dotnet) by [Sentry](https://sentry.io/) +[AutoGrid](https://github.com/SpicyTaco/SpicyTaco.AutoGrid) by [SpicyTaco](https://github.com/SpicyTaco) [LogViewer](https://stackoverflow.com/a/16745054) by [Federico Berasategui](https://stackoverflow.com/users/643085/federico-berasategui) +Icons made by Freepik from www.flaticon.com \ No newline at end of file diff --git a/UE4BinaryBuilder_WPF.sln b/UE4BinaryBuilder_WPF.sln deleted file mode 100644 index 524cc84..0000000 --- a/UE4BinaryBuilder_WPF.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.329 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Unreal Binary Builder", "Unreal Binary Builder\Unreal Binary Builder.csproj", "{EF664300-FF7C-44AC-880D-D0A4FAC9F36F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EF664300-FF7C-44AC-880D-D0A4FAC9F36F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EF664300-FF7C-44AC-880D-D0A4FAC9F36F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EF664300-FF7C-44AC-880D-D0A4FAC9F36F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EF664300-FF7C-44AC-880D-D0A4FAC9F36F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {6887BFB1-1DC5-47ED-9956-32536E559C00} - EndGlobalSection -EndGlobal diff --git a/Unreal Binary Builder/App.config b/Unreal Binary Builder/App.config deleted file mode 100644 index 4c56e16..0000000 --- a/Unreal Binary Builder/App.config +++ /dev/null @@ -1,150 +0,0 @@ - - - - -
- - - - - - - - - - - - False - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - False - - - True - - - False - - - False - - - False - - - False - - - False - - - False - - - Development;Shipping - - - False - - - Engine/Build/InstalledEngineBuild.xml - - - False - - - False - - - - - - True - - - False - - - False - - - False - - - False - - - - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - False - - - 0 - - - False - - - False - - - - - - False - - - - \ No newline at end of file diff --git a/Unreal Binary Builder/App.xaml b/Unreal Binary Builder/App.xaml deleted file mode 100644 index fa1500b..0000000 --- a/Unreal Binary Builder/App.xaml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - diff --git a/Unreal Binary Builder/App.xaml.cs b/Unreal Binary Builder/App.xaml.cs deleted file mode 100644 index 1664118..0000000 --- a/Unreal Binary Builder/App.xaml.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Windows; - -namespace Unreal_Binary_Builder -{ - /// - /// Interaction logic for App.xaml - /// - public partial class App : Application - { - private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e) - { - MessageBox.Show("An unhandled exception just occurred: " + e.Exception.Message, "Exception", MessageBoxButton.OK, MessageBoxImage.Error); - e.Handled = true; - } - } -} diff --git a/Unreal Binary Builder/ConverterNamespace.cs b/Unreal Binary Builder/ConverterNamespace.cs deleted file mode 100644 index 5d2d91e..0000000 --- a/Unreal Binary Builder/ConverterNamespace.cs +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Credits to qqbenq (https://stackoverflow.com/users/1552016/qqbenq) for this implementation - * Link: https://stackoverflow.com/a/19210037 -**/ - -using System; -using System.Windows.Data; - -namespace ConverterNamespace -{ - public class BooleanAndConverter : IMultiValueConverter - { - public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) - { - foreach (object value in values) - { - if ((value is bool) && (bool)value == false) - { - return false; - } - - if (value is int) - { - int index = (int)value; - return (index > 0); - } - } - return true; - } - public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) - { - throw new NotSupportedException("BooleanAndConverter is a OneWay converter."); - } - } - - public class BooleanAndNotConverter : IMultiValueConverter - { - public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) - { - foreach (object value in values) - { - if ((value is bool) && (bool)value == true) - { - return false; - } - - if (value is int) - { - int index = (int)value; - return (index > 0); - } - } - return true; - } - public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) - { - throw new NotSupportedException("BooleanAndConverter is a OneWay converter."); - } - } -} \ No newline at end of file diff --git a/Unreal Binary Builder/LogViewer.xaml b/Unreal Binary Builder/LogViewer.xaml deleted file mode 100644 index 585be89..0000000 --- a/Unreal Binary Builder/LogViewer.xaml +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Unreal Binary Builder/MainWindow.xaml b/Unreal Binary Builder/MainWindow.xaml deleted file mode 100755 index 8ff026f..0000000 --- a/Unreal Binary Builder/MainWindow.xaml +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - -