Commit Graph

16 Commits

Author SHA1 Message Date
Chris Gagnon
1dd3e0189f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4730305 by Chris Gagnon in Dev-Editor branch]
2019-01-15 18:47:22 -05:00
Chris Gagnon
8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Ben Marsh
fedc653232 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3620134)
#lockdown Nick.Penwarden
#rb none

============================
  MAJOR FEATURES & CHANGES
============================

Change 3550452 by Ben.Marsh

	UAT: Improve readability of error message when an editor commandlet fails with an error code.

Change 3551179 by Ben.Marsh

	Add methods for reading text files into an array of strings.

Change 3551260 by Ben.Marsh

	Core: Change FFileHelper routines to use enum classes for flags.

Change 3555697 by Gil.Gribb

	Fixed a rare crash when the asset registry scanner found old cooked files with package level compression.

	#jira UE-47668

Change 3556464 by Ben.Marsh

	UGS: If working in a virtual stream, use the name of the first non-virtual ancestor for writing version files.

Change 3557630 by Ben.Marsh

	Allow the network version to be set via Build.version if it's not overriden from Version.h.

Change 3561357 by Gil.Gribb

	Fixed crashes related to loading old unversioned files in the editor.

	#jira UE-47806

Change 3565711 by Graeme.Thornton

	PR #3839: Make non-encoding specific Base64 functions accessible (Contributed by stfx)


Change 3565864 by Robert.Manuszewski

	Temp fix for a race condition with the async loading thread enabled - caching the linker in case it gets removed (but not deleted) from super class object.

Change 3569022 by Ben.Marsh

	PR #3849: Update gitignore (Contributed by mhutch)


Change 3569113 by Ben.Marsh

	Fix Japanese errors not displaying correctly in the cook output log.

	#jira UE-47746

Change 3569486 by Ben.Marsh

	UGS: Always sync the Enterprise folder if the selected .uproject file has the "Enterprise" flag set.

Change 3570483 by Graeme.Thornton

	Minor C# cleanups. Removing some redundant "using" calls which also cause dotnetcore compile errors

Change 3570513 by Robert.Manuszewski

	Fix for a race condition with async loading thread enabled.

Change 3570664 by Ben.Marsh

	UBT: Use P/Invoke to determine number of physical processors on Windows rather than using WMI. Starting up WMIC adds 2.5 seconds to build times, and is not compatible with .NET core.

Change 3570708 by Robert.Manuszewski

	Added ENABLE_GC_OBJECT_CHECKS macro to be able to quickly toggle UObject pointer checks in shipping builds when the garbage collector is running.

Change 3571592 by Ben.Marsh

	UBT: Allow running with -installed without creating [InstalledPlatforms] entries in BaseEngine.ini. If there is no HasInstalledPlatformInfo=true setting, assume that all platforms are still available.

Change 3572215 by Graeme.Thornton

	UBT
	- Remove some unnecessary using directives
	- Point SN-DBS code at the new Utils.GetPhysicalProcessorCount call, rather than trying to calculate it itself

Change 3572437 by Robert.Manuszewski

	Game-specific fix for lazy object pointer issues in one of the test levels. The previous fix had to be partially reverted due to side-effects.

	#jira UE-44996

Change 3572480 by Robert.Manuszewski

	MaterialInstanceCollections will no longer be added to GC clusters to prevent materials staying around in memory for too long

Change 3573547 by Ben.Marsh

	Add support for displaying log timestamps in local time. Set LogTimes=Local in *Engine.ini, or pass -LocalLogTimes on the command line.

Change 3574562 by Robert.Manuszewski

	PR #3847: Add GC callbacks for script integrations (Contributed by mhutch)


Change 3575017 by Ben.Marsh

	Move some functions related to generating window resolutions out of Core (FParse::Resolution, GenerateConvenientWindowedResolutions). Also remove a few headers from shared PCHs prior to splitting application functionality out of Core.

Change 3575689 by Ben.Marsh

	Add a fixed URL for opening the API documentation, so it works correctly in "internal" and "perforce" builds.

Change 3575934 by Steve.Robb

	Fix for nested preprocessor definitions.

Change 3575961 by Steve.Robb

	Fix for nested zeros.

Change 3576297 by Robert.Manuszewski

	Material resources will now be discarded in PostLoad (Game Thread) instead of in Serialize (potentially Async Loading Thread) so that shader deregistration doesn't assert when done from a different thread than the game thread.

	#jira FORT-38977

Change 3576366 by Ben.Marsh

	Add shim functions to allow redirecting FPlatformMisc::ClipboardCopy()/ClipboardPaste() to FPlatformApplicationMisc::ClipboardCopy()/ClipboardPaste() while they are deprecated.

Change 3578290 by Graeme.Thornton

	Changes to Ionic zip library to allow building on dot net core

Change 3578291 by Graeme.Thornton

	Ionic zip library binaries built for .NET Core

Change 3578354 by Graeme.Thornton

	Added FBase64::GetDecodedDataSize() to determine the size of bytes of a decoded base64 string

Change 3578674 by Robert.Manuszewski

	After loading packages flush linker cache on uncooked platforms to free precache memory

Change 3579068 by Steve.Robb

	Fix for CLASS_Intrinsic getting stomped.
	Fix to EClassFlags so that they are visible in the debugger.
	Re-added mysteriously-removed comments.

Change 3579228 by Steve.Robb

	BOM removed.

Change 3579297 by Ben.Marsh

	Fix exception if a plugin lists the same module twice.

	#jira UE-48232

Change 3579898 by Robert.Manuszewski

	When creating GC clusters and asserting due to objects still being pending load, the object name and cluster name will now be logged with the assert.

Change 3579983 by Robert.Manuszewski

	More fixes for freeing linker cache memory in the editor.

Change 3580012 by Graeme.Thornton

	Remove redundant copy of FileReference.cs

Change 3580408 by Ben.Marsh

	Validate that arguments passed to the checkf macro are valid sprintf types, and fix up a few places which are currently incorrect.

Change 3582104 by Graeme.Thornton

	Added a dynamic compilation path that uses the latest roslyn apis. Currently only used by the .NET Core path.

Change 3582131 by Graeme.Thornton

	#define out some PerformanceCounter calls that don't exist in .NET Core. They're only used by mono-specific calls anyway.

Change 3582645 by Ben.Marsh

	PR #3879: fix bug when creating a new VS2017 C++ project (Contributed by mnannola)

	#jira UE-48192

Change 3583955 by Robert.Manuszewski

	Support for EDL cooked packages in the editor

Change 3584035 by Graeme.Thornton

	Split RunExternalExecutable into RunExternaNativelExecutable and RunExternalDotNETExecutable. When running under .NET Core, externally launched DotNET utilities must be launched via the 'dotnet' proxy to work correctly.

Change 3584177 by Robert.Manuszewski

	Removed unused member variable (FArchiveAsync2::bKeepRestOfFilePrecached)

Change 3584315 by Ben.Marsh

	Move Android JNI accessor functions into separate header, to decouple it from the FAndroidApplication class.

Change 3584370 by Ben.Marsh

	Move hooks which allow platforms to load any modules into the FPlatformApplicationMisc classes.

Change 3584498 by Ben.Marsh

	Move functions for getting and setting the hardware window pointer onto the appropriate platform window classes.

Change 3585003 by Steve.Robb

	Fix for TChunkedArray ranged-for iteration.

	#jira UE-48297

Change 3585235 by Ben.Marsh

	Remove LogEngine extern from Core; use the platform log channels instead.

Change 3585942 by Ben.Marsh

	Move MessageBoxExt() implementation into application layer for platforms that require it.

Change 3587071 by Ben.Marsh

	Move Linux's UngrabAllInput() function into a callback, so DebugBreak still works without SDL.

Change 3587161 by Ben.Marsh

	Remove headers which will be stripped out of the Core module from Core.h and PlatformIncludes.h.

Change 3587579 by Steve.Robb

	Fix for Children list not being rebuilt after hot reload.

Change 3587584 by Graeme.Thornton

	Logging improvements for pak signature check failures
	 - Added "PakCorrupt" console command which corrupts the master signature table
	 - Added some extra log information about which block failed
	 - Re-hash the master signature table and to make sure that it hasn't changed since startup
	 - Moved the ensure around so that some extra logging messages can make it out before the ensure is hit
	 - Added PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL to IPlatformFilePak.h so we have a single place to make signature check failures fatal again

Change 3587586 by Graeme.Thornton

	Changes to make UBT build and run on .NET Core
	 - Added *_DNC csproj files for DotNETUtilities and UnrealBuildTool projects which contain the .NET Core build setups
	 - VCSharpProjectFile can no be asked for the CsProjectInfo for a particular configuration, which is cached for future use
	 - After loading VCSharpProjectFiles, .NET Core based projects will be excluded unless generating VSCode projects

Change 3587953 by Steve.Robb

	Allow arbitrary UENUM initializers for enumerators.
	Editor-only data UENUM support.
	Enumerators named MAX are now treated as the UENUM's maximum, and will not cause a MAX+1 value to be generated.

	#jira UE-46274

Change 3589827 by Graeme.Thornton

	More fixes for VSCode project generation and for UBT running on .NET Core
	 - Use a different file extension for rules assemblies when build on .NET Core, so they never get used by their counterparts
	 - UEConsoleTraceListener supports stdout/stderror constructor parameter and outputs to the appropriate channel
	 - Added documentation for UEConsoleTraceListener
	 - All platforms .NET project compilation tasks/launch configs now use "dotnet" and not the normal batch files
	 - Restored the default UBT log verbosity to "Log" rather than "VeryVeryVerbose"
	 - Renamed assemblies for .NETCore versions of DotNETUtilities and UnrealBuildTool so they don't conflict with the output of the existing .NET Desktop Framework stuff

Change 3589868 by Graeme.Thornton

	Separate .NET Core projects for UBT and DotNETCommon out into their own directories so that their intermediates don't overlap with the standard .NET builds, causing failures.

	UBT registers ONLY .NET Core C# projects when generating VSCode solutions, and ONLY standard C# projects in all other cases

Change 3589919 by Robert.Manuszewski

	Fixing crash when cooking textures that have already been cooked for EDL (support for cooked content in the editor)

Change 3589940 by Graeme.Thornton

	Force UBT to think it's running on mono when actually running on .NET Core. Disables a lot of windows specific code paths.

Change 3590078 by Graeme.Thornton

	Fully disable automatic assembly info generation in .NET Core projects

Change 3590534 by Robert.Manuszewski

	Marking UObject as intrinsic clas to fix a crash on UFE startup.

Change 3591498 by Gil.Gribb

	UE4 - Fixed several edge cases in the low level async loading code, especially around cancellation. Also PakFileTest is a console command which can be used to stress test pak file loading.

Change 3591605 by Gil.Gribb

	UE4 - Follow up to fixing several edge cases in the low level async loading code.

Change 3592577 by Graeme.Thornton

	.NET Core C# projects now reference source files explicitly, to stop it accidentally compiling various intermediates

Change 3592684 by Steve.Robb

	Fix for EObjectFlags being passed as the wrong argument to csgCopyBrush.

Change 3592710 by Steve.Robb

	Fix for invalid casts in ListProps command.
	Some name changes in command output.

Change 3592715 by Ben.Marsh

	Move Windows event log code into cpp file, and expose it to other modules even if it's not enabled by default.

Change 3592767 by Gil.Gribb

	UE4 - Changed the logic so that engine UObjects boot before anything else. The engine classes are known to be cycle-free, so we will get them done before moving onto game modules.

Change 3592770 by Gil.Gribb

	UE4 - Fixed a race condition with async read completion in the prescence of cancels.

Change 3593090 by Steve.Robb

	Better error message when there two clashing type names are found.

Change 3593697 by Steve.Robb

	VisitTupleElements function, which calls a functor for each element in the tuple.

Change 3595206 by Ben.Marsh

	Include additional diagnostics for missing imports when a module load fails.

Change 3596140 by Graeme.Thornton

	Batch file for running MSBuild

Change 3596267 by Steve.Robb

	Thread safety fix to FPaths::GetProjectFilePath().

Change 3596271 by Robert.Manuszewski

	Added code to verify compression flags in package file summary to avoid cases where corrupt packages are crashing the editor

	#jira UE-47535

Change 3596283 by Steve.Robb

	Redundant casts removed from UHT.

Change 3596303 by Ben.Marsh

	EC: Improve parsing of Android Clang errors and warnings, which are formatted as MSVC diagnostics to allow go-to-line clicking in the Output Window.

Change 3596337 by Ben.Marsh

	UBT: Format messages about incorrect headers in a way that makes them clickable from Visual Studio.

Change 3596367 by Steve.Robb

	Iterator checks in ranged-for on TMap, TSet and TSparseArray.

Change 3596410 by Gil.Gribb

	UE4 - Improved some error messages on runtime failures in the EDL.

Change 3596532 by Ben.Marsh

	UnrealVS: Fix setting command line to empty not affecting property sheet. Also remove support for VS2013.

	#jira UE-48119

Change 3596631 by Steve.Robb

	Tool which takes a .map file and a .objmap file (from UBT) and creates a report which shows the size of all the symbols contributed by the source code per-folder.

Change 3596807 by Ben.Marsh

	Improve Intellisense when generated headers are missing or out of date (eg. line numbers changed, etc...). These errors seem to be masked by VAX, but are present when using the default Visual Studio Intellisense.

	* UCLASS macro is defined to empty when __INTELLISENSE__ is defined. Previous macro was preventing any following class declaration being parsed correctly if generated code was out of date, causing squiggles over all class methods/variables.
	* Insert a semicolon after each expanded GENERATED_BODY macro, so that if it parses incorrectly, the compiler can still continue parsing the next declaration.

Change 3596957 by Steve.Robb

	UBT can be used to write out an .objsrcmap file for use with the MapFileParser.
	Renaming of ObjMap to ObjSrcMap in MapFileParser.

Change 3597213 by Ben.Marsh

	Remove AutoReporter. We don't support this any more.

Change 3597558 by Ben.Marsh

	UGS: Allow adding custom actions to the context menu for right clicking on a changelist. Actions are specified in the project's UnrealEngine.ini file, with the following syntax:

	+ContextMenu=(Label="This is the menu item", Execute="foo.exe", Arguments="bar")

	The standard set of variables for custom tools is expanded in each parameter (eg. $(ProjectDir), $(EditorConfig), etc...), plus the $(Change) variable.

Change 3597982 by Ben.Marsh

	Add an option to allow overriding the local DDC path from the editor (under Editor Preferences > Global > Local Derived Data Cache).

	#jira UE-47173

Change 3598045 by Ben.Marsh

	UGS: Add variables for stream and client name, and the ability to escape any variables for URIs using the syntax $(VariableName:URI).

Change 3599214 by Ben.Marsh

	Avoid string duplication when comparing extensions.

Change 3600038 by Steve.Robb

	Fix for maps being modified during iteration in cache compaction.

Change 3600136 by Steve.Robb

	GitHub #3538 : Fixed a bug with the handling of 'TMap' key/value types in the UnrealHeaderTool

Change 3600214 by Steve.Robb

	More accurate error message when unsupported template parameters are provided in a TSet property.

Change 3600232 by Ben.Marsh

	UBT: Force UHT to run again if the .build.cs file for a module has changed.

	#jira UE-46119

Change 3600246 by Steve.Robb

	GitHub #3045 : allow multiple interface definition in a file

Change 3600645 by Ben.Marsh

	Convert QAGame to Include-What-You-Use.

Change 3600897 by Ben.Marsh

	Fix invalid path (multiple slashes) in LibCurl.build.cs. Causes exception when scanning for includes.

Change 3601558 by Graeme.Thornton

	Simple first pass VSCode editor integration plugin

Change 3601658 by Graeme.Thornton

	Enable intellisense generation for VS Code project files and setup include paths properly

Change 3601762 by Ben.Marsh

	UBT: Add support for adaptive non-unity builds when working from a Git repository.

	The ISourceFileWorkingSet interface is now used to query files belonging to the working set, and has separate implementations for Perforce (PerforceSourceFileWorkingSet) and Git (GitSourceFileWorkingSet). The Git implementation is used if a .git directory is found in the directory containing the Engine folder, the directory containing the project file, or the parent directory of the project file, and spawns a "git status" process in the background to determine which files are untracked or staged.

	Several new settings are supported in BuildConfiguration.xml to allow modifying default behavior:

	<SourceFileWorkingSet>
	    <Provider>Default</Provider> <!-- May be None, Default, Git or Perforce -->
	    <RepositoryPath></RepositoryPath> <!-- Specifies the path to the repository, relative to the directory containing the Engine folder. If not set, tries to find a .git directory in the locations listed above. -->
	    <GitPath>git</GitPath> <!-- Specifies the path to the Git executable. Defaults to "git", which assumes that it will be on the PATH -->
	</SourceFileWorkingSet>

Change 3604032 by Graeme.Thornton

	First attempt at automatically detecting the existance and location of visual studio code in the source code accessor module. Only works for windows.

Change 3604038 by Graeme.Thornton

	Added FSourceCodeNavigation::GetSelectedSourceCodeIDE() which returns the name of the selected source code accessor.
	Replaced all usages of FSourceCodeNavigation::GetSuggestedSourceCodeIDE() with GetSelectedSourceCodeIDE(), where the message is referring to the opening or editing of code.

Change 3604106 by Steve.Robb

	GitHub #3561 : UE-44950: Don't see all caps struct constructor as macro

Change 3604192 by Steve.Robb

	GitHub #3911 : Improving ToUpper/ToLower efficiency

Change 3604273 by Graeme.Thornton

	IWYU build fixes when malloc profiler is enabled

Change 3605457 by Ben.Marsh

	Fix race for intiialization of ThreadID variable on FRunnableThreadWin, and restore a previous check that was working around it.

Change 3606720 by James.Hopkin

	Dave Ratti's fix to character base recursion protection code - was missing a GetOwner call, instead attempting to cast a component to a pawn.

Change 3606807 by Graeme.Thornton

	Disabled optimizations around FShooterStyle::Create(), which was crashing in Win64 shipping game builds due to some known compiler issue. Same variety of fix as BenZ did in CL 3567741.

Change 3607026 by James.Hopkin

	Fixed incorrect ABrush cast - was attempting to cast a UModel to ABrush, which can never succeed

Change 3607142 by Graeme.Thornton

	UBT - Minor refactor of BackgroundProcess shutdown in SourceFileWorkingSet. Check whether the process has already exited before trying to kill it during Dispose.

Change 3607146 by Ben.Marsh

	UGS: Fix exception due to formatting string when Perforce throws an error.

Change 3607147 by Steve.Robb

	Efficiency fix for integer properties, which were causing a property mismatch and thus a tag lookup every time.
	Float and double conversion support added to int properties.
	NAME_DoubleProperty added.
	Fix for converting enum class enumerators > 255 to int properties.

Change 3607516 by Ben.Marsh

	PR #3935: Fix DECLARE_DELEGATE_NineParams, DECLARE_MULTICAST_DELEGATE_NineParams. (Contributed by enginevividgames)


Change 3610421 by Ben.Marsh

	UAT: Move help for RebuildLightMapsCommand into attributes, so they display when running with -help.

Change 3610657 by Ben.Marsh

	UAT: Unify initialization of command environment for build machines and local execution. Always derive parameters which aren't manually set via environment variables.

Change 3611000 by Ben.Marsh

	UAT: Remove the -ForceLocal command line option. Settings are now determined automatically, independently of the -Buildmachine argument.

Change 3612471 by Ben.Marsh

	UBT: Move FastJSON into DotNETUtilities.

Change 3613479 by Ben.Marsh

	UBT: Remove the bIsCodeProject flag from UProjectInfo. This was only really being used to determine which projects to generate an IDE project for, so it is now checked in the project file generator.

Change 3613910 by Ben.Marsh

	UBT: Remove unnecessary code to guess a project from the target name; doesn't work due to init order, actual project is determined later.

Change 3614075 by Ben.Marsh

	UBT: Remove hacks for testing project file attributes by name.

Change 3614090 by Ben.Marsh

	UBT: Remove global lookup of project by name. Projects should be explicitly specified by path when necessary.

Change 3614488 by Ben.Marsh

	UBT: Prevent annoying (but handled) exception when constructing SQLiteModuleSupport objects with -precompile enabled.

Change 3614490 by Ben.Marsh

	UBT: Simplify generation of arguments for building intellisense; determine the platform/configuration to build from the project file generation code, rather than inside the target itself.

Change 3614962 by Ben.Marsh

	UBT: Move the VS2017 strict conformance mode (/permissive-) behind a command line option (-Strict), and disable it by default. Building with this mode is not guaranteed to work correctly without updated Windows headers.

Change 3615416 by Ben.Marsh

	EC: Include an icon showing the overall status of a build in the grid view.

Change 3615713 by Ben.Marsh

	UBT: Delete any files in output directories which match output files in other directories. Allows automatically deleting build products which are moved into another folder.

	#jira UE-48987

Change 3616652 by Ben.Marsh

	Plugins: Fix incorrect dialog when binaries for a plugin are missing. Should only prompt to disable if starting a content-only project.

	#jira UE-49007

Change 3616680 by Ben.Marsh

	Add the CodeAPI-HTML.tgz file into the installed engine build.

Change 3616767 by Ben.Marsh

	Plugins: Tweak error message if the FModuleManager::IsUpToDate() function returns false for a plugin module; the module may be missing, not just incompatible.

Change 3616864 by Ben.Marsh

	Cap the length of the temporary package name during save, to prevent excessively long filenames going over the limit once a GUID is appended.

	#jira UE-48711

Change 3619964 by Ben.Marsh

	UnrealVS: Fix single file compile for foreign projects, where the command line contains $(SolutionDir) and $(ProjectName) variables.

Change 3548930 by Ben.Marsh

	UBT: Remove UEBuildModuleCSDLL; there is no codepath that still supports creating them. Remove the remaining UEBuildModule/UEBuildModuleCPP abstraction.

Change 3558056 by Ben.Marsh

	Deprecate FString::Trim() and FString::TrimTrailing(), and replace them with separate versions to mutate (TrimStartInline(), TrimEndInline()) or return by copy (TrimStart(), TrimEnd()). Also add a functions to trim whitespace from both ends of a string (TrimStartAndEnd(), TrimStartAndEndInline()).

Change 3563309 by Graeme.Thornton

	Moved some common C# classes into the DotNETCommon assembly

Change 3570283 by Graeme.Thornton

	Move some code out of RPCUtility and into DotNETCommon, removing the dependency between the two projects
	Added UEConsoleTraceListener to replace ConsoleTraceListener, which doesn't exist in DotNetCore

Change 3572811 by Ben.Marsh

	UBT: Add -enableasan / -enabletsan command line options and bEnableAddressSanitizer / bEnableThreadSanitizer settings in BuildConfiguration.xml (and remove environment variables).

Change 3573397 by Ben.Marsh

	UBT: Create a <ExeName>.version file for every target built by UBT, in the same JSON format as Engine/Build/Build.version. This allows monolithic targets to read a version number at runtime, unlike when it's embedded in a modules file, and allows creating versioned client executables that will work with versioned servers when syncing through UGS.

Change 3575659 by Ben.Marsh

	Remove CHM API documentation.

Change 3582103 by Graeme.Thornton

	Simple ResX writer implemetation that the xbox deloyment code can use instead of the one from the windows forms assembly, which isn't supported on .NET Core

	Removed reference to System.Windows.Form from UBT.

Change 3584113 by Ben.Marsh

	Move key-mapping functionality into the InputCore module.

Change 3584278 by Ben.Marsh

	Move FPlatformMisc::RequestMinimize() into FPlatformApplicationMisc.

Change 3584453 by Ben.Marsh

	Move functionality for querying device display density to FApplicationMisc, due to dependence on application-level functionality on mobile platforms.

Change 3585301 by Ben.Marsh

	Move PlatformPostInit() into an FPlatformApplicationMisc function.

Change 3587050 by Ben.Marsh

	Move IsThisApplicationForeground() into FPlatformApplicationMisc.

Change 3587059 by Ben.Marsh

	Move RequiresVirtualKeyboard() into FPlatformApplicationMisc.

Change 3587119 by Ben.Marsh

	Move GetAbsoluteLogFilename() into FPlatformMisc.

Change 3587800 by Steve.Robb

	Fixes to container visualizers for types whose pointer type isn't simply Type*.

Change 3588393 by Ben.Marsh

	Move platform output devices into their own headers.

Change 3588868 by Ben.Marsh

	Move creation of console, error and warning output devices int PlatformApplicationMisc.

Change 3589879 by Graeme.Thornton

	All automation projects now have a reference to DotNETUtilities
	Fixed a build error in the WEX automation library

Change 3590034 by Ben.Marsh

	Move functionality related to windowing and input out of the Core module and into an ApplicationCore module, so it is possible to build utilities with Core without adding dependencies on XInput (Windows), SDL (Linux), and OpenGL (Mac).

Change 3593754 by Steve.Robb

	Fix for tuple debugger visualization.

Change 3597208 by Ben.Marsh

	Move CrashReporter out of a public folder; it's not in a form that is usable by subscribers and licensees.

Change 3600163 by Ben.Marsh

	UBT: Simplify how targets are cleaned. Delete all intermediate folders for a platform/configuration, and delete any build products matching the UE4 naming convention for that target, rather than relying on the current build configuration or list of previous build products. This will ensure that build products which are no longer being generated will also be cleaned.

	#jira UE-46725

Change 3604279 by Graeme.Thornton

	Move pre/post garbage collection delegates into accessor functions so they can be used by globally constructed objects

Change 3606685 by James.Hopkin

	Removed redundant 'Cast's (casting to either the same type or a base).

	In SClassViewer, replaced cast with TAssetPtr::operator* call to get the wrapped UClass.
	Also removed redundant 'IsA's from AnimationRetargetContent::AddRemappedAsset in EditorAnimUtils.cpp.

Change 3610950 by Ben.Marsh

	UAT: Simplify logic for detecting Perforce settings, using environment variables if they are set, otherwise falling back to detecting them. Removes special cases for build machines, and makes it simpler to set up UAT commands on builders outside Epic.

Change 3610991 by Ben.Marsh

	UAT: Use the correct P4 settings to detect settings if only some parameters are specified on the command line.

Change 3612342 by Ben.Marsh

	UBT: Change JsonObject.Read() to take a FileReference parameter.

Change 3612362 by Ben.Marsh

	UBT: Remove some more cases of paths being passed as strings rather than using FileReference objects.

Change 3619128 by Ben.Marsh

	Include builder warnings and errors in the notification emails for automated tests, otherwise it's difficult to track down non-test failures.

[CL 3620189 by Ben Marsh in Main branch]
2017-08-31 12:08:38 -04:00
Chris Babcock
dc647b9547 Copying //UE4/Dev-Mobile to //UE4/Main (Source: //UE4/Dev-Mobile @ 3600060)
#rb none
#lockdown nick.penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3292215 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm and wbegl2 support

	- emscripten toolchain

	#jira UEPLAT-1437  Switch [to] web assembly
	#rb none

Change 3293994 on 2017/02/09 by Nick.Shin

	HTML5 emscripten: wasm and webgl2 support

	- OSX toolchain

	#jira UEPLAT-1437  Switch [to] web assembly
	#rb none

Change 3317951 on 2017/02/22 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- emscripten toolchain

	WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5
	#rb none

Change 3318669 on 2017/02/23 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- OSX toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5
	#rb none

Change 3462146 on 2017/05/26 by Nick.Shin

	HTML5 - merge from Release-4.16 to Dev-Mobile

	#jira none
	#rb none
	#rnx

Change 3504996 on 2017/06/22 by Cosmin.Sulea

	UEMOB-362 - Add per-texture and per-format compression quality override settings
	#rb Dmitriy.Dyomin
	#jira UEMOB-362
	#codereview Dmitriy.Dyomin
	#codereview Jack.Porter

Change 3505056 on 2017/06/22 by Cosmin.Sulea

	Back out changelist 3504996 - due to errors generated in xboxOne, PS4 and Switch versions
	#rb none

Change 3508049 on 2017/06/23 by Nick.Shin

	HTML5 toolchain notes corrections

	#jira none
	#rb none
	#rnx

Change 3508663 on 2017/06/24 by Nick.Shin

	HTML5LaunchHelper.exe on linux - redo

	- it seems that i need to also check-in the exe and pdb file instead of having CIS make and checking-in them itself...
	- modified c# program to output a version number to help track which version of HTML5LaunchHelper is running...

	#jira UE-45302  HTML5LaunchHelper.exe hosts the files in the current working directory on Linux
	#rnx
	#rb none

Change 3509210 on 2017/06/26 by Dmitriy.Dyomin

	 ExposureScale will be applied during tonemap pass when MobileHDR is on
	#rb jack.porter
	#codereview Allan.Bentham

Change 3511058 on 2017/06/27 by Cosmin.Sulea

	UEMOB-362 - Add per-texture and per-format compression quality override settings - resubmitted
	#rb Dmitriy.Dyomin
	#jira UEMOB-362
	#codereview Dmitriy.Dyomin

Change 3511069 on 2017/06/27 by Jack.Porter

	PS4, XboxOne and Switch fixes for changes to ITextureFormat interface
	#rb Dmitriy.Dyomin
	#jira UEMOB-362

Change 3513028 on 2017/06/28 by Jack.Porter

	Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
	#rb None

Change 3517409 on 2017/06/30 by Jack.Porter

	Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
	#rb None

Change 3517730 on 2017/06/30 by Cosmin.Sulea

	UEMOB-328 - Improve handling of iOS signing key on remote Mac system keychain when using remote toolchain
	#rb Jack.Porter
	#jira UEMOB-328
	#codereview: peter.sauerbrei

Change 3517757 on 2017/06/30 by Cosmin.Sulea

	UE-46245 - Building with remote toolchain does not use Project Setting for iOS signing identity which can cause signing errors
	#rb Jack.Porter
	#jira UE-46245
	#codereview: peter.sauerbrei

Change 3518149 on 2017/06/30 by Adrian.Chelu

	UE-43035 Tilt axis for X and Z are not consistent between Android and iOS devices
	#rb Jack.Porter
	#jira UE-46245
	#codereview: Chris Babcock <chris.babcock@epicgames.com>

Change 3524242 on 2017/07/06 by Nick.Shin

	HTML5 - refraction shader

	note: this CL also contains fixes to webgl2 [float4 vs half2] and a [% vs Mod()] material custom function changes to some TM-ShaderModels shaders
	specifically: fixes to and similar with: DitherTemporalAA

	#jria UE-46434  No Refraction in QA Game TM-Shadermodels HTML5
	#rb none
	#rn
	#codereview jack.porter dmitriy.dyomin

Change 3535295 on 2017/07/13 by Allan.Bentham

	#jira UEMOB-390
	Add Android cpu stats.
	add 'stat AndroidCPU' to android's console spinner UI.
	increase GetCPUState's core count support to 16.
	#jira UE-45888
	Use cvar value to limit android cpu stat update rate.
	#rb none

Change 3535306 on 2017/07/13 by Allan.Bentham

	Add missing pragma once
	#rb none

Change 3537047 on 2017/07/13 by Ben.Marsh

	Fixing case of iOS directories, pt1

	#rb none

Change 3537051 on 2017/07/13 by Ben.Marsh

	Fixing case of iOS directories, pt2

	#rb none

Change 3537373 on 2017/07/14 by Allan.Bentham

	Add scope level android egl error verification.
	work around minor issue with invalid egl config property.
	#rb chris.babcock

Change 3541735 on 2017/07/18 by Allan.Bentham

	Add 'sustained performance mode' support for API 24+ devices.
	#jira UEMOB-386
	#rb chris.babcock

Change 3543001 on 2017/07/18 by Sorin.Gradinaru

	#jira UE-45766 Improved Virtual Keyboard cannot receive non-English characters.

	- for Android, add an native EditBox above the virtual keyboard to receive the text and pass it to the object from the slate

	#rb Chris.Babcock

Change 3554399 on 2017/07/25 by Nick.Shin

	STATS disabled for non multi-threaded platforms

	#jira UE-47485  ( Pri:1 - 4.18 )  Crash running Stat Command test in TM-Core on Firefox
	#rnx
	#rb none

Change 3554402 on 2017/07/25 by Nick.Shin

	STATS TaskGraph disabled for non multi-threaded platforms

	#jira UE-47486  ( Pri:1 - 4.18 )  QAGame hard locks on Firefox when triggering Task Graph Benchmark test
	#rb none
	#rnx

Change 3556957 on 2017/07/26 by Nick.Shin

	HTML5 - WASM enabled by default - part 1 -- commenting out asmjs stuff

	begin sunsetting ASM.JS

	note to self: CL#3462146 "backout" asmjs

	#jira UEMOB-416  WASM enabled by default
	#rnx
	#rb none

Change 3557654 on 2017/07/26 by Nick.Shin

	HTML5 - WASM enabled by default - part 2 -- remove asmjs code

	sunsetting ASM.JS

	note to self: CL#3462146 "backout" asmjs

	#jira UEMOB-416  WASM enabled by default
	#rn
	#rb none

Change 3557910 on 2017/07/27 by Jack.Porter

	Support Client configuration when packaging in the editor
	#jira UE-39973
	#rb Dmitriy.Dyomin

Change 3557917 on 2017/07/27 by Jack.Porter

	Missing file from CL 3557910
	#rb trivial

Change 3559642 on 2017/07/27 by Nick.Shin

	STATS TaskGraph disabled for non multi-threaded platforms

	- both "LockFree stress test" and "task graph benchmark" are disabled - no multi-threading for WASM exist yet (note: ASM.JS has been sunsetted)

	- stat command crash "fixed" - but, font size are totally broken - i can look at this (much) later...

	- new bug: physx will crash on "gc and level load stress test" -- please bug this as a new jira

	#jira UE-47486  ( Pri:1 - 4.18 )  QAGame hard locks on Firefox when triggering Task Graph Benchmark test
	#rb none
	#rnx

Change 3565656 on 2017/07/31 by Dmitriy.Dyomin

	Added a way to lock level position in Word Composition
	#jira UE-47713
	#rb none

Change 3565757 on 2017/08/01 by Dmitriy.Dyomin

	compile fix
	#rb none

Change 3567446 on 2017/08/01 by Chris.Babcock

	Allow addElement and addElements to only insert once with once="true" attribute in UPL
	#jira UE-47951
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3567592 on 2017/08/01 by Chris.Babcock

	Use absolute path for repositories for Gradle
	#jira UE-47952
	#ue4
	#android
	#rb Tim.Lincoln

Change 3568690 on 2017/08/02 by Chris.Babcock

	Removed warnings for once attribute in UPL
	#ue4
	#android
	#rb none

Change 3569975 on 2017/08/02 by Chris.Babcock

	Add <baseBuildGradleAdditions> to UPL to allow additions to the root-level build.gradle
	#jira UE-47995
	#ue4
	#android
	#rb Tim.Lincoln

Change 3570117 on 2017/08/02 by Chris.Babcock

	Add <setBoolFromPropertyContains> to UPL
	- sets bool to true if string list in ini matches contains attribute
	#jira UE-47996
	#ue4
	#android
	#rb Jack.Porter

Change 3571552 on 2017/08/03 by Chris.Babcock

	Removed unneeded settings.gradle file (generated)
	#jira UE-48041
	#ue4
	#android
	#rb none

Change 3572224 on 2017/08/04 by Dmitriy.Dyomin

	Better selection tracking in world composition
	#rb none

Change 3573662 on 2017/08/04 by Nick.Shin

	HTML5 remove PreLoadMap "feature" (was only available/used with HTML5)

	- asyncronous loads are not allowed during UEngine::LoadMap()
	- the files/code will be repurposed for pakfile CHUNK support

	#jira UEMOB-425  HTML5 streaming content investigation (part 1 of 2)
	#rn
	#rb none

Change 3574471 on 2017/08/07 by Dmitriy.Dyomin

	Export ULevelStreamingKismet::LoadLevelInstance function
	#rb none

Change 3576262 on 2017/08/08 by Dmitriy.Dyomin

	Fixed: widget clipping issues in world composition
	#rb none

Change 3576845 on 2017/08/08 by Nick.Shin

	set HTML5LaunchHelper application's icon to UE4.ico

	#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
	#rb none
	#rnx

Change 3578313 on 2017/08/09 by Dmitriy.Dyomin

	Added: an RHI call to invalidate/clear cached state, RHIInvalidateCachedState
	#jira UEMOB-435
	#rb jack.porter

Change 3578364 on 2017/08/09 by Dmitriy.Dyomin

	Vertex Fog is disabled on mobile by default. If scene uses vertex fog - Mobile preview and device will show on screen message: PROJECT HAS VERTEX FOG ON MOBILE DISABLED
	This saves about 90 instructions in VS and a few in PS
	#jira UEMOB-166
	#rb jack.porter

Change 3578703 on 2017/08/09 by Nick.Shin

	set HTML5LaunchHelper application's icon to UE4.ico

	forgot to check in exe and pdb file

	#jira UE-19225 HTML5LaunchHelper application does not have an unreal icon
	#rb none
	#rnx

Change 3578961 on 2017/08/09 by Peter.Sauerbrei

	deprecate IOS 8 as the minimum OS supported.
	#jira UEMOB-429
	#rb chris.babcock

Change 3579319 on 2017/08/09 by Peter.Sauerbrei

	fixes for compile errors with Xcode 9 beta 4
	#rb none

Change 3579356 on 2017/08/09 by Peter.Sauerbrei

	modified minimum IOS to build with
	#rb chris.babcock

Change 3579687 on 2017/08/09 by Chris.Babcock

	Fix GoogleVR Gradle packaging
	#jira UE-48239
	#ue4
	#android
	#rb none

Change 3579921 on 2017/08/10 by Dmitriy.Dyomin

	GitHub 3670 : More zoom levels for World Composition (300)
	#contributedby: user37337
	#jira UE-45977
	#3670
	#rb none

Change 3580576 on 2017/08/10 by Peter.Sauerbrei

	detection of iPad Pro 10.5 and IPad Pro 12.9 (2nd Gen)
	#rb chris.babcock

Change 3580611 on 2017/08/10 by Chris.Babcock

	Set online provider back to GooglePlay and remove forcing IAP permission (contributed by umerov1999)
	#jira UE-48185
	#PR #3876
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3582166 on 2017/08/11 by Nick.Shin

	nuke PLATFORM_HTML5_WIN32


	PLATFORM_HTML5_WIN32 code removal tested successfully with (force rebuild and repackaging):

	* Win64 server (WindowsServer)
	* Win64 client (WindowsNoEditor)
	* HTML5 client

	all playing together via websocket net driver (i've attached a screen shot of this in jira)


	code changes touches: physics, audio and main build files


	#jira UEMOB-433  Remove Win32 SDL "HTML5 Simulator" code
	#rb ben.marsh
	#rnx
	#codereview josh.adams
	#fyi ori.cohen, aaron.mclera

Change 3582474 on 2017/08/11 by Chris.Babcock

	Don't use V2 signing for Gear VR APKs
	#jira UE-48354
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3582614 on 2017/08/11 by Chris.Babcock

	Filter out unneeded architectures from APK for Gradle builds
	#jira UE-48355
	#ue4
	#android
	#rb Peter.Sauerbrei

Change 3582923 on 2017/08/11 by Nick.Shin

	backport release 4.17 to dev-mobile

	#jira none
	#rb none
	#rnx

Change 3582924 on 2017/08/11 by Nick.Shin

	FNetworkFileServerHttp - error gracefully when port is already in use

	#jira UE-46409  [CrashReport] Assertion on Mac: Could not create a libwebsocket - FNetworkFileServerHttp::Init()
	#rnx
	#rb none

Change 3582925 on 2017/08/11 by Nick.Shin

	HTML5 - turn off pak file compression in favor of gzip packages

	#jira UE-46729  HTML5 - on shipping builds - turn off pak file compression in favor of gzip packages
	#rn
	#rb none

Change 3583943 on 2017/08/14 by Cosmin.Sulea

	UEMOB-363 - second iteration - Project wide texture quality control by texture group
	#rb Dmitriy Dyomin
	#jira UEMOB-363

Change 3583967 on 2017/08/14 by Cosmin.Sulea

	Back out changelist 3583943
	#rb none

Change 3584121 on 2017/08/14 by Peter.Sauerbrei

	fix for mac compile failure
	#rb none

Change 3587877 on 2017/08/15 by Peter.Sauerbrei

	josh's suggested fix is not working for Xcode 8.3, so brute forcing for now
	#rb none

Change 3588612 on 2017/08/15 by Peter.Sauerbrei

	Xcode 9 project compatbility updates
	#rb chris.babcock
	#codereview michael.trepka

Change 3589223 on 2017/08/15 by Dmitriy.Dyomin

	Fixed: bNavigationAutoUpdateEnabled was not always working when reopeinig the map
	Fixed: Navigation Build was not clearing some mesh tiles when bNavigationAutoUpdateEnabled is enabled
	Fixed: Streaming out a level in editor was not always updating NavMesh debug draw
	#rb lukasz.furman

Change 3589900 on 2017/08/16 by Dmitriy.Dyomin

	Support vulkan validation layers on Android, only in Debug and Development configuration (requires r.Vulkan.EnableValidation=1)
	#codereview chris.babcock, rolando.caloca
	#rb none

Change 3590592 on 2017/08/16 by Nick.Shin

	HTML5 emscripten 1.37.19 OSX

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 OSX

Change 3590597 on 2017/08/16 by Nick.Shin

	HTML5 emscripten 1.37.19 Linux

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 Linux

Change 3590624 on 2017/08/16 by Nick.Shin

	HTML5 emscripten 1.37.19 toolchain

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 toolchain

Change 3591720 on 2017/08/16 by Chris.Babcock

	Enable Gradle by default and add button to accept Android SDK license to project settings
	#jira UE-48519
	#ue4
	#android
	#rb Tim.Lincoln
	#fyi Peter.Sauerbrei

Change 3591998 on 2017/08/16 by Chris.Babcock

	Fix nonunity build
	#ue4
	#android
	#rb none

Change 3592407 on 2017/08/17 by Nick.Shin

	HTML5 emscripten 1.37.19 Win64

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 Win64

Change 3592479 on 2017/08/17 by Nick.Shin

	HTML5 3rd Party Libs - compiled with emscripten 1.37.19

	#jira UE-47813
	#rb none
	#rn HTML5 3rd Party Libs - compiled with emscripten 1.37.19 toolchain

Change 3592480 on 2017/08/17 by Nick.Shin

	HTML5 emscripten 1.37.19 toolchain Epic edits

	as well as setting UE4 HTML c# scripts to use new toolchain

	#jira UE-47813
	#rb none
	#rn HTML5 emscripten 1.37.19 toolchain Epic edits

Change 3592481 on 2017/08/17 by Nick.Shin

	HTML5 remove old emscripten toolchain

	#jira UE-47813
	#rb none
	#rn HTML5 remove old emscripten toolchain

Change 3592485 on 2017/08/17 by Nick.Shin

	HTML5 undo CanUseXGE - this might be breaking CIS for HTML5 builds...

	#jira UE-47813
	#rb none
	#rnx

Change 3592549 on 2017/08/17 by Dmitriy.Dyomin

	Added GetDiskTotalAndFreeSpace for IOS and Android
	#jira UE-46479
	#codereview chris.babcock, peter.sauerbrei
	#rb none

Change 3594045 on 2017/08/17 by Peter.Sauerbrei

	comment about potential failure case in the remote tool chain
	#rb none

Change 3594342 on 2017/08/17 by Peter.Sauerbrei

	Merging

	//UE4/Main/...

	to //UE4/Dev-Mobile/...

	#rb none

Change 3594920 on 2017/08/17 by Peter.Sauerbrei

	fix for non-unity builds (accidentally merged something incorrectly)
	#rb none

Change 3595347 on 2017/08/17 by Chris.Babcock

	merge fixes for Android
	#ue4
	#android
	#rb Peter.Sauerbrei
	#lockdown Peter.Sauerbrei

Change 3595752 on 2017/08/17 by Chris.Babcock

	Update Facebook plugin to support Gradle
	#jira UE-48569
	#ue4
	#android
	#fyi Josh.Markiewicz
	#rb none
	#lockdown Peter.Sauerbrei

Change 3595849 on 2017/08/17 by Chris.Babcock

	Fix issue with libovrplatformloader.so for non armv7 targets
	#jira UE-48533
	#ue4
	#android
	#rb none
	#lockdown Peter.Sauerbrei

Change 3596419 on 2017/08/18 by Peter.Sauerbrei

	fix for Mac Editor build failure
	#rb none

Change 3597023 on 2017/08/18 by Peter.Sauerbrei

	fix for game editor build failure
	#rb none

Change 3597032 on 2017/08/18 by Peter.Sauerbrei

	fix for app bundle id in Info-Editor.plist
	#rb none

Change 3597034 on 2017/08/18 by Peter.Sauerbrei

	put back the info.plist, found the real problem
	#rb none

Change 3597197 on 2017/08/18 by Peter.Sauerbrei

	pull Info.plist from the build products
	#rb none

[CL 3600450 by Chris Babcock in Main branch]
2017-08-21 15:05:19 -04:00
Ben Marsh
398d16ab8a Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3491552)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3421703 on 2017/05/03 by Ben.Marsh

	Surround invalid character message in quotes, so it's clear when a space is listed.

	#jira UE-44606

Change 3422644 on 2017/05/04 by Steve.Robb

	Ranged-for support for TChunkedArray.

Change 3422754 on 2017/05/04 by Steve.Robb

	IAsyncReadFileHandle made non-copyable to prevent accidental wrong stat calculation.

Change 3422758 on 2017/05/04 by Steve.Robb

	Misc readability/standards improvements in stats code.

Change 3427955 on 2017/05/08 by Steve.Robb

	Version fix for IOS optimization pragmas, copied from equivalent Mac code.

Change 3428017 on 2017/05/08 by Steve.Robb

	Unused property types removed.

Change 3428641 on 2017/05/08 by Ben.Marsh

	UAT: Remove failed attempt to separate out BuildCookRun into separate commands, which have since rotted.

Change 3430407 on 2017/05/09 by Ben.Marsh

	UBT: Define UE_4_X_OR_LATER macros for every UE4 version greater than 4.17 (eg. UE_4_17_OR_LATER, etc...).

Change 3430682 on 2017/05/09 by Gil.Gribb

	UE4 - Added a fatal error for asking for very large alignments from MallocBinned2 and also return the true size of the memory block in GetAllocationSize().

Change 3430685 on 2017/05/09 by Gil.Gribb

	UE4 - Fixed a bug with the windows async IO stuff related to an unsafe pointer cast to LPDWORD from int64*.

Change 3430756 on 2017/05/09 by Ben.Marsh

	UBT: Switch some receipt stuff to use FileReference/DirectoryReference objects rather than raw paths.

Change 3431157 on 2017/05/09 by Ben.Marsh

	UBT: Store absolute paths when receipts are in memory; only insert pseudo-variables for $(EngineDir) and $(ProjectDir) when saved to disk.

Change 3432334 on 2017/05/10 by Graeme.Thornton

	Include project name in the UBT error message which appears when a plugin is missing

Change 3432481 on 2017/05/10 by Gil.Gribb

	UE4 - Fixed code to detect cycles in parallel tick sorting.

Change 3432485 on 2017/05/10 by Steve.Robb

	Simplified templating around bitfield offset calculation.

Change 3432608 on 2017/05/10 by Steve.Robb

	'bool == byte' static_assert restored after being removed in CL# 3432485.

Change 3432767 on 2017/05/10 by Ben.Marsh

	UBT: Fix exception when a missing plugin is encountered if the target does not have a project.

Change 3433031 on 2017/05/10 by Ben.Marsh

	UAT: Add classes to allow safer manipulation of paths within the staging directory (StagedFileReference, StagedDirectoryReference), and convert staging code over to using those and their regular filesystem counterparts (FileReference/DirectoryReference). Lots of cleanup and refactoring of staging code.

Change 3433049 on 2017/05/10 by Ben.Marsh

	Add more diagnostic information to asserts in TStaticIndirectArrayThreadSafeRead, to try and shed light on what sort of corrupted data is being passed in from the cooker.

	#jira UE-44336

Change 3433097 on 2017/05/10 by Steve.Robb

	Value initialization fix for MakeUnique<T[]>().

Change 3433972 on 2017/05/10 by Daniel.Lamb

	Stop unrealpak from crashing if generating a patch with more pak files then the original game.

Change 3434124 on 2017/05/10 by Ben.Marsh

	UAT: Remove hacky bUseWebSocketNetDriver option.

Change 3434824 on 2017/05/11 by Gil.Gribb

	UE4 - Printed an error instead of asserting when there are missing native classes.

Change 3434916 on 2017/05/11 by Ben.Marsh

	UAT: Separate the list of files to be staged into a separate class.

Change 3435427 on 2017/05/11 by Gil.Gribb

	UE4 - Fixed attempts to load compiled in packages, which produces warnings and is slow.

Change 3436240 on 2017/05/11 by Ben.Marsh

	UAT: Add a command to search for restricted folders under a given base directory.

Change 3438068 on 2017/05/12 by James.Fox

	Checking in Phase 1 of the Dev-Core test map for repro purposes. UE-44996 #rb none

Change 3438855 on 2017/05/15 by Robert.Manuszewski

	When verbose cluster logging is enabled and new object is added to an already existing cluster, the cluster will be dumped to log.

Change 3438929 on 2017/05/15 by Robert.Manuszewski

	Merging CL # 3436939 using Dev-Core_To_Dev-LoadTimes:

	Fix for potential crashes caused by levels staying in memory through material references.

Change 3439021 on 2017/05/15 by Ben.Marsh

	PR #3566: fix non-ascii characters in help command HTML converted to "?" (Contributed by kayama-shift)


Change 3439079 on 2017/05/15 by Ben.Marsh

	PR #2832: Implement missing MessageBox (Contributed by projectgheist)


Change 3439258 on 2017/05/15 by Ben.Marsh

	Highlight lines containing the strings "Error:" or "Warning:" in the output log, so that diagnostics from child processes are highlighted appropriately. The build system already relies similar logic for scraping diagnostics from logs, so it should be safe and predictable to check for messages in this way.

	#jira UE-43673

Change 3439358 on 2017/05/15 by Ben.Marsh

	UBT: Fix Visual Studio solution referencing the incorrect platform for existing C# project ("Any CPU" instead of "AnyCPU"). Was causing prompt to save the solution the first time it is opened.

Change 3439665 on 2017/05/15 by Ben.Marsh

	UAT: Remove DeployPakInternalLowerCaseFilenames(). No platforms require this to be true.

Change 3440735 on 2017/05/16 by Robert.Manuszewski

	UBT compile fix after the last merge

Change 3440889 on 2017/05/16 by Ben.Marsh

	EC: Fix regex for matching path to source files included in error messages from the Linux toolchain.

Change 3442776 on 2017/05/17 by Steve.Robb

	Platform fix for FPaths::IsSamePath.

Change 3445411 on 2017/05/17 by Ben.Marsh

	UBT: Fix typo in makefile diagnostic string.

Change 3446070 on 2017/05/18 by Steve.Robb

	Fix to array sizes in generated UFunction code, which should now handle editor-only functions.

Change 3446091 on 2017/05/18 by Steve.Robb

	Another array size fix for generated code.

Change 3446605 on 2017/05/18 by Steve.Robb

	BuildConfiguration option for static analysis.

Change 3448601 on 2017/05/19 by Richard.Fawcett

	Change FWindowsPlatformProcess::ApplicationSettingsDir() so that it no longer returns a path with a mixture of "\" and "/" characters, and only contains "/" characters.

	This makes it consistent with other related functions like FWindowsPlatformProcess::UserSettingsDir().

Change 3449026 on 2017/05/19 by Ben.Marsh

	Fix whitespace in template file.

Change 3449697 on 2017/05/19 by James.Fox

	Checking in Phase 2 of Dev-Core test map for QAGame
	Also enabled Blueprint and Actor clustering by default in QAGame for more thorough GC testing.

Change 3451352 on 2017/05/22 by Steve.Robb

	UFunction flags are now viewable in the debugger.

Change 3451355 on 2017/05/22 by Steve.Robb

	ARRAY_COUNT fix for zero-sized arrays in Clang.

Change 3451379 on 2017/05/22 by Steve.Robb

	C++14 operator delete overloads with size, for consistency.

Change 3451398 on 2017/05/22 by Graeme.Thornton

	Add AES and RSA encryption keys to the list of config fields that get stripped from ini files when staging
	When creating a pak file, do a filtered copy of all ini files to a temp directory so that all confidential fields can be stripped. Equivalent behaviour to staging a loose file distribution

Change 3451476 on 2017/05/22 by Ben.Marsh

	Compile shipping builds for WEX and Ocean, and post telemetry for the resulting executable size.

Change 3451478 on 2017/05/22 by Graeme.Thornton

	PR #3197: Improved log message formatting (Contributed by projectgheist)


Change 3451868 on 2017/05/22 by Steve.Robb

	Static log category moved out of header.
	ENUM_CLASS_FLAGS macro used instead of explicit operators.

Change 3452319 on 2017/05/22 by Ben.Marsh

	UBT: Add a new "package" build product type, which can be used for APK files on Android and Stub files on iOS. Treating these files as executables is causing the measured executable size to be incorrect.

Change 3452607 on 2017/05/22 by Ben.Marsh

	UBT: Filter out folders for other platforms when searching for headers to pass to UHT.

Change 3453600 on 2017/05/23 by Graeme.Thornton

	PR #3226 - Updated some code comments to better describe the usage of the log category definition macros

Change 3453616 on 2017/05/23 by Steve.Robb

	Error reported instead of a crash when there's a space between UCLASS or UINTERFACE and the open parenthesis.

Change 3453714 on 2017/05/23 by Ben.Marsh

	Build: Add some Visual Studio 2017 test compiles to the build system.

Change 3453795 on 2017/05/23 by Ben.Marsh

	UBT: Fix parsing of command line attributes that have a specific value assigned. We should never have an '=' suffix for such arguments.

Change 3454606 on 2017/05/23 by Ben.Marsh

	UAT: Make sure log filenames are unique by creating a 0-byte file in its place.

Change 3454709 on 2017/05/23 by Ben.Marsh

	UBT: Enable the /permissive- option for stricter standards compliance on Visual Studio 2017. Currently have /Zc:strictStrings disabled due to violations in Windows headers; all UE4 instances have been fixed up.

Change 3456445 on 2017/05/24 by Graeme.Thornton

	MemoryProfiler2 - Add mprof filename into title bar after opening

Change 3457129 on 2017/05/24 by Ben.Marsh

	Fix comment for FVector::Normalize().

	#jira UE-45369

	#rnx

Change 3457228 on 2017/05/24 by Ben.Marsh

	Do not allow forward-declaring Rect structs. They are not public, and it conflicts with third party libraries.

	#rnx

Change 3458357 on 2017/05/24 by Ben.Marsh

	Fix name resolution issue with /permissive- in VS2017.

Change 3458812 on 2017/05/25 by Robert.Manuszewski

	PR #2407: Fix LoadLibrary error with Microsoft Group Policy CWDIllegalinDllSearch mode 1 or 2 (Contributed by bozaro)


Change 3458894 on 2017/05/25 by Robert.Manuszewski

	PR #2096: Fix argument parsing in DiffAssets Comandlet (Contributed by cgrebeld)


Change 3461205 on 2017/05/26 by Robert.Manuszewski

	Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
	#jira UE-33790

Change 3464714 on 2017/05/30 by Robert.Manuszewski

	Fixing potential deadlock caused by a race condition when using FMallocVerifyProxy with FMallocBinned

Change 3465310 on 2017/05/30 by Ben.Marsh

	UBT: Enable bAdaptiveUnityDisablesOptimizations by default.

Change 3465346 on 2017/05/30 by Ben.Marsh

	UBT: Require Update 3 to be installed when compiling using VS2015.

Change 3465389 on 2017/05/30 by Ben.Marsh

	UBT: Fix support for RTTI when creating PCHs and shared PCHs.

Change 3466084 on 2017/05/30 by Ben.Marsh

	Fix compiling plain C files, where it would incorrectly use a C++ PCH.

Change 3467018 on 2017/05/31 by Robert.Manuszewski

	Async loading code will now properly handle cases when the requested package could not be created.

Change 3467113 on 2017/05/31 by Ben.Marsh

	UGS: When opening a solution in Visual Studio, always start the process in the solution's directory.

Change 3467508 on 2017/05/31 by Ben.Marsh

	Add a function to fix a long package name so it matches the case of a file on disk. Fixes deterministic cooking issues when on-disk case changes.

Change 3467510 on 2017/05/31 by Ben.Marsh

	Fix deterministic cooking issue caused by LODGroup only being initialized in the CDO if it's serialized, causing inconsistent delta serialization for instances.

Change 3467967 on 2017/05/31 by Ben.Marsh

	Always allow UAT to compile on non-Windows platforms, even if a debugger is present, since MSVC is the only one that will load C# PDBs.

Change 3468544 on 2017/05/31 by Ben.Marsh

	UBT: Add a more helpful message when a module is being compiled with implicit PCHs, but a source file is not configured correctly.

Change 3469241 on 2017/06/01 by Ben.Marsh

	UBT: Fix single-file compile causing a different UHT manifest to be generated, potentially excluding hidden dependencies.

Change 3471709 on 2017/06/02 by Daniel.Lamb

	Rebuild lighting commandlet now rebuilds reflections also instead of trashing them.

	#test None

Change 3471719 on 2017/06/02 by Daniel.Lamb

	Fixed crash in cooker while trying to cook for multiple platforms

	#test Launch on shootergame windows + ps4
	#jira UE-45356

Change 3472261 on 2017/06/02 by Ben.Marsh

	CRP: Clear out MDD logs whenever we clear out CRP logs.

Change 3473169 on 2017/06/05 by Graeme.Thornton

	PR #3622: Log category code cleanup (Contributed by projectgheist)


Change 3473176 on 2017/06/05 by Graeme.Thornton

	PR #3622: Log category code cleanup (Contributed by projectgheist) (Part II)

	 - Missed some files from my previous checkin


Change 3473597 on 2017/06/05 by Ben.Marsh

	UnrealVS: Fix massive slowdown on startup caused by searching the directory tree under the solution for *.uproject files (including intermediate folders, etc...). Now reads *.uprojectdirs files and only checks the listed directories within. Measured it taking > 30s to run before, now takes < 0.1s.

Change 3473722 on 2017/06/05 by Steve.Robb

	GitHub #3444: UE-42521: Added missing macro's for TMap and TSet

	PREPROCESSOR_COMMA_SEPARATED added as a better solution for the hacky comma separator solution in the PR.

Change 3475073 on 2017/06/06 by Steve.Robb

	Fix for TPromise's move assignment operator return value.

Change 3475331 on 2017/06/06 by Ben.Marsh

	UAT: Fix invalid paths being generated when stripping encryption settings from config files.

	* In cases where INI files were in a subfolder of the Config folder (eg. Config\Localization), it was not stripping the separating slash, resulting in files being written to the root directory of the current drive.
	* Paths under the config folder are not guaranteed to be unique.

Change 3475453 on 2017/06/06 by Ben.Marsh

	UBT: Add an error if a plugin lists a non-plugin module as belonging to it.

	#jira UE-45178

Change 3475668 on 2017/06/06 by Ben.Marsh

	Add a message showing when we begin creating the asset registry, since it can take a long time.

	#jira UE-41675

Change 3475747 on 2017/06/06 by Steve.Robb

	Replicated from CL# 3332960:

	Force a gather on hot reload, so we don't use stale state from the makefile.

	#jira UE-42205

Change 3475897 on 2017/06/06 by Ben.Marsh

	PR #3655: Improved behavior for Automation.IsBuildMachine (Contributed by projectgheist)


Change 3477432 on 2017/06/07 by Robert.Manuszewski

	Removed AsyncIOBandwidthLimit as it was no longer being used by anything.

Change 3478582 on 2017/06/07 by Ben.Marsh

	UBT: Allow setting the UE_ENGINE_DIRECTORY macro for any monolithic builds, to fix being able to debug cooked foreign projects in the binary release.

Change 3480035 on 2017/06/08 by Gil.Gribb

	UE4 - Fixed async loading from pak files < 64k.

Change 3484348 on 2017/06/12 by Robert.Manuszewski

	Removed private_subobject macro which was a temporary measure to make all subobjects private without breaking game code.

Change 3484863 on 2017/06/12 by Steve.Robb

	Fix for TSparseArray::operator= corrupting non-POD objects.
	InCopy.ArrayMax cached in a local instead of being read each time.
	Const-correctness fix for element copy construction.
	SrcData and DestData names flipped as they were the wrong way around.

	Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html

Change 3485003 on 2017/06/12 by Ben.Marsh

	UGS: Add support for multiple tabs. Each tab can monitor changes in a separate workspace, and scheduled syncs will run for all open tabs.

Change 3485063 on 2017/06/12 by Ben.Marsh

	UGS: Fix a null reference exception when right clicking on the notification icon during startup.

Change 3485104 on 2017/06/12 by Ben.Marsh

	PR #2084: [UAT] Command-line parameter to override branch name (Contributed by nbjk667)


Change 3485112 on 2017/06/12 by Steve.Robb

	TSetElement generic constructor protected from becoming a copy constructor.
	Redundant #include removed from AreTypesEqual.h.

	Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html

Change 3485452 on 2017/06/12 by Ben.Marsh

	UnrealVS: Fix command line not being updated for C# projects. IVsBuildPropertyStorage.SetPropertyValue does not seem to update properties that are cached in memory.

	#jira UE-45716

Change 3486182 on 2017/06/12 by Ben.Marsh

	UGS: Include option to selet tab names in the options menu.

Change 3486189 on 2017/06/12 by Ben.Marsh

	UGS: Fix browse button from context menu always opening a new tab.

Change 3486636 on 2017/06/13 by Steve.Robb

	FStatMessagesArray iteration changed to use ranged-for instead of indexing.

Change 3486688 on 2017/06/13 by Steve.Robb

	Fix for CDO pointer replacement in non-UObject properties during hot reload.

	#jira UE-38146

Change 3486704 on 2017/06/13 by Ben.Marsh

	UGS: Fix exception when closing the last open tab.

Change 3486707 on 2017/06/13 by Ben.Marsh

	UGS: Fix exception on load if UGS was closed with no projects open.

Change 3486715 on 2017/06/13 by Ben.Marsh

	UGS: Change tabs to show the project file by default.

Change 3486718 on 2017/06/13 by Ben.Marsh

	UGS: Only allow one workspace to sync at a time.

Change 3486880 on 2017/06/13 by Ben.Marsh

	UGS: Show the sync progress of each tab via the underline on the tab button.

Change 3486912 on 2017/06/13 by Ben.Marsh

	UGS: Include the open project and recent project list as separate top-level menu items.

Change 3486914 on 2017/06/13 by Ben.Marsh

	UGS: Update version to 1.101.

Change 3487092 on 2017/06/13 by Ben.Marsh

	UGS: Fix crash on startup if log window is minimized.

Change 3487099 on 2017/06/13 by Ben.Marsh

	UGS: Update version to 1.102

Change 3487198 on 2017/06/13 by Ben.Marsh

	Remove debug code.

Change 3487285 on 2017/06/13 by Ben.Marsh

	Restore Remap() function that was accidentally removed in merge.

Change 3487769 on 2017/06/13 by Ben.Marsh

	Disable the promoted flag when using the SyncProject command on Mac; doing so prevents UE4Game being compiled when packaging blueprint projects.

	#jira UE-45995

Change 3487915 on 2017/06/13 by Ben.Marsh

	UAT: Fix exception due to collection being modified while packaging for Linux.

	#jira UE-46013

Change 3487972 on 2017/06/13 by Ben.Marsh

	UAT: Always allow staged files to overwrite previously staged files. New iOS code relies on old behavior to overwrite engine icons and metadata with game copies.

	#jira UE-46014

Change 3487991 on 2017/06/13 by Ben.Marsh

	UAT: Ensure that the directory exists before trying to create a placeholder log filename.

	#jira UE-46015

Change 3489062 on 2017/06/14 by Robert.Manuszewski

	Removed FPackageFileSummary's AdditionalPackagesToCook as it was not used by anything. This should reduce the package header size considerably for levels with many streaming sublevels.

	#jira UE-45563

Change 3489063 on 2017/06/14 by Robert.Manuszewski

	Increasing the maximum package summary size to handle levels with multiple streaming sublevels.

	#jira UE-45563

Change 3491552 on 2017/06/15 by Ben.Marsh

	Handle failures to load *MeshReduction modules.

[CL 3492074 by Ben Marsh in Main branch]
2017-06-15 12:43:54 -04:00
Jack Porter
ae727f8dab Copying //UE4/Dev-Mobile to //UE4/Dev-Main (Source: //UE4/Dev-Mobile @ 3383462)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3292174 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm and webgl2 support

	- Linux toolchain

	#jira UEPLAT-1437  Switch [to] web assembly

Change 3292193 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm and webgl2 support

	- ThirdParty libs compiled with new toolchain with wasm support

	#jira UEPLAT-1437  Switch [to] web assembly

Change 3292215 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm and wbegl2 support

	- emscripten toolchain

	#jira UEPLAT-1437  Switch [to] web assembly

Change 3292222 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm support

	- ENGINE changes (c# & cpp files)

	#jira UEPLAT-1437  Switch [to] web assembly

Change 3292223 on 2017/02/08 by Nick.Shin

	HTML5 merge ThirdParty lib build scripts from Dev-Platform to Dev-Mobile

Change 3292228 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: webgl support

	- webgl patches
	- and a lot of UE4 patches to package HTML5 on LINUX
	- mostly from mozilla's jukka -- thx jukka!

	#jira  UEPLAT-828  (4.16)  Support ES3 / WebGL2 in HTML5

Change 3292285 on 2017/02/08 by Nick.Shin

	HTML5 emscripten: wasm and webgl2 support

	- Windows toolchain

	#jira UEPLAT-1437  Switch [to] web assembly

Change 3293994 on 2017/02/09 by Nick.Shin

	HTML5 emscripten: wasm and webgl2 support

	- OSX toolchain

	#jira UEPLAT-1437  Switch [to] web assembly

Change 3294391 on 2017/02/09 by Nick.Shin

	HTML5 "black box issues" revisited

	- jukka rewrote the window resize handler -- much cleaner and more straightforward

	#jira UE-36341  HTML5 - View is incorrectly drawn
	#jira UE-32311  Templates on Firefox/Chrome on HTML5 are not full screen during Launch On

Change 3296421 on 2017/02/10 by Jack.Porter

	Fix landscape spline segment splitting placing when using streaming levels

Change 3296587 on 2017/02/10 by Jack.Porter

	Additional fix for landscape spline segment splitting when using streaming levels

Change 3301241 on 2017/02/14 by Mi.Wang

	Fixed DeviceProfileEditor bug for incorrect clamp the Texture Mip LOD size. #jira UE-36237 #rb jack.porter

Change 3301387 on 2017/02/14 by Nick.Shin

	HTML5 emscripten: webgl support

	- webgl patches from mozilla's jukka
	  + hardware instancing
	  + glBlitFramebuffer
	  + GL AlaphaBlendOperation

	#jira  UEPLAT-828  (4.16)  Support ES3 / WebGL2 in HTML5

Change 3301405 on 2017/02/14 by Nick.Shin

	HTML5 plugin fix when blueprint projects are promoted to code projects automatically.

	#jira UE-41710  HTML5 - Package Failure - Failed to Produce item ProjectName-OnlineSubsystemNull.bc

Change 3302278 on 2017/02/14 by Omar.Rodriguez

	UE-36651: Mac Vulkan Android Projects crash on launch.

	* Glslang library has been built for Mac but flag was not updated
	* Set GlslangAvailable to true for Mac when building an Android project with vulkan

	#jira UE-36651

Change 3302773 on 2017/02/14 by Chris.Babcock

	Add a dropdown with some common console commands on Android (contributed by rafortis)
	#jira UE-40834
	#PR #3143
	#ue4
	#android

Change 3305604 on 2017/02/16 by Nick.Shin

	HTML5 webgl2 shader- turn on: instance static mesh vertex factory

	#jira  UEPLAT-828  (4.16)  Support ES3 / WebGL2 in HTML5

Change 3308154 on 2017/02/16 by Nick.Shin

	HTML5 GitHub PR

	#jira UE-42019  GitHub 3258 : Added suport for emscripten --pre-js and --post-js option when building for HTML5

Change 3308510 on 2017/02/16 by Nick.Shin

	HTML5 webgl2 shader fixes

	#jria UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3308971 on 2017/02/17 by Jack.Porter

	Fix for landscape painting when height<0 in the Ortho viewports

Change 3309075 on 2017/02/17 by Allan.Bentham

	Include static subject meshes when masking out modulated shadow casters.

	#jira UE-41581

Change 3309531 on 2017/02/17 by Chris.Babcock

	Handle large OBB files in APK
	#jira UE-41443
	#ue4
	#android

Change 3311320 on 2017/02/19 by Dmitriy.Dyomin

	Fixed: Particle Cutout Crashes On Mobile Devices That Don't Support Hardware Instancing (Mali-400 GPU)
	#jira UE-41970

Change 3311347 on 2017/02/20 by Dmitriy.Dyomin

	Fixed: Engine Crashes When Previewing ES3_1 With Material Using World Position Offset (Need Custom Stencil)
	#jira UE-41976

Change 3311398 on 2017/02/20 by Dmitriy.Dyomin

	Fixed: Landscapes do not render on PowerVR device
	#jira UE-35530

Change 3311428 on 2017/02/20 by Dmitriy.Dyomin

	Fixed: Exposure Is More Extreme In High-End Mobile Preview Modes
	#jira UE-42036

Change 3311448 on 2017/02/20 by Dmitriy.Dyomin

	Fixed: Packaged game Crashes on android after entering "Help" command twice
	#jira UE-41956

Change 3311587 on 2017/02/20 by Allan.Bentham

	ES2 GLSL - Silently swap all uint to ints
	#jira UE-41548

Change 3313930 on 2017/02/21 by Allan.Bentham

	Print literal uints as ints when generating ES2 code.
	#jira UE-41548

Change 3317924 on 2017/02/22 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- Linux toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3317929 on 2017/02/22 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- ThirdParty libs compiled with new toolchain with wasm and webgl2 support

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3317951 on 2017/02/22 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- emscripten toolchain

	WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3318004 on 2017/02/22 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- windows toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3318669 on 2017/02/23 by Nick.Shin

	HTML5 emscripten: wasm & webgl2 support - RC1

	- OSX toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3318672 on 2017/02/23 by Nick.Shin

	HTML5 webgl2 shader fixes

	#jria UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3318819 on 2017/02/23 by Dmitriy.Dyomin

	Fixed: Rendering artifacts with bloom on iPhone7 Metal
	#jira UE-40978

Change 3319702 on 2017/02/23 by Chris.Babcock

	Disable eglSwapInterval since it can cause issues with some drivers
	#ue4
	#android

Change 3320880 on 2017/02/24 by Dmitriy.Dyomin

	Added r.Mobile.TonemapperFilm cvar which can be used to enable/disable filmic tonemapper on mobile, independently from desktop (disabled by default)
	#jira UEMOB-195

Change 3321042 on 2017/02/24 by Jack.Porter

	Fixed incorrect sizeof in Vulkan pipleine cache
	pointed out here: http://coconutlizard.co.uk/blog/ue4/ue4-its-a-size-jim/

	#code_review: rolando.caloca

Change 3322383 on 2017/02/24 by Chris.Babcock

	Fix issue with ad banner on Android 7.0 devices
	#jira UE-42390
	#ue4
	#android

Change 3322479 on 2017/02/24 by Omar.Rodriguez

	UEMOB-199 - WEX: Improved virtual keyboard for Android

	* Calculating the area covered by the virtual keyboard
	* Calling OnVirtualKeyboardShown and OnVirtualKeyboardHidden events
	* Passing the Rect of the area covered by the virtual keyboard OnVirtualKeyboardShown event

	#jira UEMOB-199

Change 3323353 on 2017/02/27 by Allan.Bentham

	Fix broken mobile scene captures when !mobileHDR and RHINeedsToSwitchVerticalAxis
	#jira UE-42191

Change 3323431 on 2017/02/27 by Allan.Bentham

	CIS fix

Change 3323687 on 2017/02/27 by Allan.Bentham

	Disable GRHINeedsUnatlasedCSMDepthsWorkaround for mobile devices.
	#jira UE-42131

Change 3324652 on 2017/02/28 by Dmitriy.Dyomin

	Fixed: Canvas elements appear darker on iOS Metal

Change 3324885 on 2017/02/28 by Jack.Porter

	Fixed "Minimum iOS Version" setting display name

	#jira UE-42270

Change 3324899 on 2017/02/28 by Jack.Porter

	GitHub 3063 : removed duplicate gc.MaxObjectsInGame setting in IOSEngine.ini
	#jira UE-40018

	#3063

Change 3324932 on 2017/02/28 by Jack.Porter

	GitHub 3257 : iPhonePackager errors in output log when opening project settings on Windows

	#jira UE-41984
	#3257
	#codereview: Peter.Sauerbrei

Change 3324956 on 2017/02/28 by Jack.Porter

	FOpenGLFrontend::GetMaxSamplers incorrect for IOS
	#jira UE-42038
	#3264

Change 3325478 on 2017/02/28 by Allan.Bentham

	PR # 3188   : Fix far distance bug with cascaded shadows on mobile (Metal) and PC mobile preview  (Contributed by ufna)

	#jira UE-41442

Change 3327300 on 2017/03/01 by Allan.Bentham

	PR #3175   : Fixes high quality reflection blending seams  (Contributed by kallehamalainen)
	#jira UE-41257

Change 3328917 on 2017/03/02 by Nick.Shin

	HTML5 project settings

	expose ini settings to edtior HTML5 project settings panel

	#jira UE-42331  Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini
	#jira UE-41584  Editor locks up when adding an element for HTML5 devices on Mac
	#jira UE-41701  Editor freezes when setting browser filepath for inserted element in project settings

Change 3329169 on 2017/03/02 by Allan.Bentham

	increase render thread timeout to 1 minute for suntemple / android.
	Prevents low end devices timing out during load.
	#jira UE-40696

Change 3330849 on 2017/03/02 by Nick.Shin

	HTML5 project settings

	expose ini settings to edtior HTML5 project settings panel

	#jira UE-42331  Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini

Change 3331078 on 2017/03/03 by Dmitriy.Dyomin

	Fixed: Device output log partial lines

	integrated from WEX (3250488)

Change 3331112 on 2017/03/03 by Dmitriy.Dyomin

	Reduced state setup for slate draw calls (saves about 4ms RT time on mobile)

	integrated from WEX (3256584)

Change 3331117 on 2017/03/03 by Dmitriy.Dyomin

	Fixed redundant blend state changes in opengl

	integrated from WEX (3256586)

Change 3331173 on 2017/03/03 by Dmitriy.Dyomin

	Slate pixel shaders will use half precision where possible on mobile

	integrated from WEX (3256656)

Change 3332865 on 2017/03/06 by Dmitriy.Dyomin

	Better MobileContentScaleFactor defaults for iOS devices
	#jira UEMOB-330

Change 3333129 on 2017/03/06 by Peter.Sauerbrei

	move to Library/Caches instead of documents for saved files
	re-enable iterative deploy on TVOS
	#jira UEMOB-284

Change 3334692 on 2017/03/06 by Jack.Porter

	Allow r.MobileContentScaleFactor to be changed at runtime on Android

	#jira UEMOB-173

Change 3336255 on 2017/03/07 by Nick.Shin

	HTML5 project settings

	marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...

	#jira UE-42331  Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini

Change 3337094 on 2017/03/08 by Nick.Shin

	HTML5 project settings

	marking SIMD and multithreading as experimental - these do not play nice with WASM builds currently...

	#jira UE-42331  Project Settings - HTML5 SDK - HTML Device population should be moved to an .ini

Change 3338800 on 2017/03/08 by Chris.Babcock

	Update AAR handling to deal with versioning, subproject dependencies for resources, and scope
	#jira UE-42677
	#ue4
	#android

Change 3338813 on 2017/03/08 by Chris.Babcock

	Pass build configuration to UPL for access during packaging as $S(Configuration)
	#jira UE-42678
	#ue4
	#android
	#ios

Change 3339401 on 2017/03/09 by Alicia.Cano

	Android runtime permissions
	- Fix for WRITE_EXTERNAL_STORAGE if it is not granted at time of onCreate for non-shipping builds
	- Fix for Location Services
	- Fix for if target sdk is not set to 23+
	#jira UE-38512
	#android
	#rb: chris.babcock

Change 3340736 on 2017/03/09 by Chris.Babcock

	Implement support for new controllers (Xbox Wireless, SteelSeries Stratus XL, PS4) (contributed by TRS-justing)
	#jira UE-41965
	#PR #3254
	#ue4
	#android

Change 3340744 on 2017/03/09 by Jack.Porter

	Expose Custom Depth to Foliage
	#jira UE-6061

Change 3340849 on 2017/03/09 by Dmitriy.Dyomin

	Fixed: iOS movie become laggy and crashes when played in iPhone 6/6s.
	#jira UE-42351

Change 3341268 on 2017/03/10 by Alicia.Cano

	PR #2894: Initial VoiceModuleAndroid support. (Contributed by devbm)
	#jira UE-37945
	#android
	#rb: chris.babcock, jack.porter

Change 3341303 on 2017/03/10 by Allan.Bentham

	Remove optimisation that prevents full specular occulsion on mobile.
	PR #3186  : Specular can't be blocked on high-end mobile.
	#jira UE-41393

Change 3342304 on 2017/03/10 by Alicia.Cano

	build fix
	#rb: chris.babcock

Change 3343344 on 2017/03/13 by Alicia.Cano

	build fix
	#rb: chris.babcock

Change 3343591 on 2017/03/13 by Brent.Pease

	iOS multiplayer fix part 1. Correct byte ordering.

	#jira UE-34875

Change 3343669 on 2017/03/13 by Chris.Babcock

	Update carefullyredist script version
	#jira UE-42832

Change 3344212 on 2017/03/13 by Will.Fissler

	Various compile fixes for Xcode 8.3.
	These fixes must also be added to //UE4/Release-4.15.
	#jira UE-41313

Change 3344396 on 2017/03/13 by Chris.Babcock

	Fix Java 1.5 obsolete warnings
	#jira UE-42851
	#ue4
	#android

Change 3345132 on 2017/03/14 by Will.Fissler

	Added ifdef wrapper to check clang version for presentDrawable.

Change 3345336 on 2017/03/14 by Will.Fissler

	Moved #if (__clang_major__ > 8) || (__clang_major__ == 8 && __clang_minor__ >= 1) check inside of the presentDrawable method.

Change 3345460 on 2017/03/14 by Will.Fissler

	ifdef changes for presentDrawable. The last submission duped the changes, instead of merging. #rb none

Change 3346046 on 2017/03/14 by Will.Fissler

	Fixed MetalCommandBuffer.cpp [again] after last submission duped changes instead of merging.

Change 3346367 on 2017/03/14 by Chris.Babcock

	Fix issue with GoogleVR ARMv7 libraries included for other architectures in link
	#ue4
	#android

Change 3347682 on 2017/03/15 by Allan.Bentham

	Enable HW sRGB correction with retainer widget's render target.
	Use slate's gamma correction for mobile (where no such support exists)
	Render retainer box RT content with gamma correction.
	#jira UE-40967

Change 3348712 on 2017/03/15 by Nick.Shin

	HTML5 - upload to S3

	updated to AWS "signature version 4" authentication

	#jira UE-42525  HTML5 Upload to Amazon S3 fails with Incorrect Configuration error

Change 3349254 on 2017/03/16 by Jack.Porter

	Fix for crash using the mobile previewer when the LQ lightmap shader permutation is disabled.
	#jira UE-42971

Change 3349739 on 2017/03/16 by Nick.Shin

	HTML5 - upload to S3

	better error message feedback on upload failures

	#jira UE-42525  HTML5 Upload to Amazon S3 fails with Incorrect Configuration error

Change 3349765 on 2017/03/16 by Alicia.Cano

	Disable mouseover events in Mobile Previewer

	#jira UE-19903
	#mobile
	#rb: Jack.Porter

Change 3350049 on 2017/03/16 by Nick.Shin

	HTML5 - upload to S3

	folder in bucket is optional

	#jira UE-42525  HTML5 Upload to Amazon S3 fails with Incorrect Configuration error

Change 3350153 on 2017/03/16 by Nick.Shin

	HTML5 - upload to S3

	updated S3 public link generator

	#jira UE-42525  HTML5 Upload to Amazon S3 fails with Incorrect Configuration error

Change 3351582 on 2017/03/17 by Will.Fissler

	Reverting the attempted fix for Xcode 8.3: Result += " -mcpu=cortex-a9";

	Currently we cannot build arm64 for iOS with this change.

Change 3352085 on 2017/03/17 by Alicia.Cano

	iOS doesn't honor request to close the virtual keyboard leading to a crash
	#jira UE-36447
	#ios
	#rb:Peter.Sauerbrei

Change 3353313 on 2017/03/19 by Ben.Marsh

	Always allow large *.js files in Github.

Change 3354444 on 2017/03/20 by Nick.Shin

	HTML5 - upload to S3

	to help make it obvious that "upload to S3" checkbox is set/or not -- disable S3 details if checkbox for "uploading to S3" is not set

	#jira UE-42525  HTML5 Upload to Amazon S3 fails with Incorrect Configuration error

Change 3355618 on 2017/03/20 by Nick.Shin

	HTML5 Save Game System

	- ripped out HTML5 code [from Engine's SaveGameSystem.h] and placed it in HTML5Platform.cpp
	- cleaned up HTML5PlatformFile.cpp (make it match as clost to linux's version)
	- created HTML5's own PlatformFeature & SaveGameSystem files -- and updated HTML5PlatformMisc to make use of the the new HTML5 SaveGame code

	#jira UE-42081 Remove heinous HTML5 code from engine

Change 3355621 on 2017/03/20 by Nick.Shin

	remove temp debugging code

	#jira UE-42081 Remove heinous HTML5 code from engine

Change 3356937 on 2017/03/21 by Chris.Babcock

	Add "stat vulkanrhi" to new console dropdown
	#jira UE-43149
	#ue4
	#android

Change 3357652 on 2017/03/21 by Nick.Shin

	HTML5 performance speed ups

	added "use fixed timestep" setting option for HTML5 builds (this has been separated from Engine - General Settings - Framerate)
	- this is slightly different to smooth framerate and fixed framerate - thus, the timestep option was put in the HTML5 specific panel

	this option is based on the suggestions by jukka's post:
	- https://answers.unrealengine.com/questions/409629/smooth-frame-rate-and-use-fixed-frame-rate-should.html

	however, using this option will make the player "run faster" on (for example) thirdperson blueprint template -- but, it has no effect on other (for example) zen garden...

	#jira UE-30214 - Implement a warning message for fps settings

Change 3360415 on 2017/03/23 by Allan.Bentham

	Fix crash that occurs when ES3.1 preview is used with r.MobileHDR32bppMode modes.

Change 3360418 on 2017/03/23 by Allan.Bentham

	Disable filmic tonemapper if r.MobileHDR32bppMode is in use.
	#jira UE-40913

Change 3360557 on 2017/03/23 by Allan.Bentham

	Better fix for mobile CSM shadow flickering (UE-42131), now works for PC OpenGL based mobile preview.
	#jira UE-42131

Change 3362258 on 2017/03/23 by Dmitriy.Dyomin

	Fixed: Canvas texture element gamma issues on iOS Metal

Change 3362321 on 2017/03/24 by Dmitriy.Dyomin

	GitHub 3173 : MaterialAO support for mobile rendering path (contributed by kallehamalainen)

	#3173

Change 3363550 on 2017/03/24 by Alicia.Cano

	build fix for devices < Android 5.0
	#jira UE-43299
	#android
	#rb: chris.babcock

Change 3363687 on 2017/03/24 by Chris.Babcock

	Fix Android password hiding in input dialog
	#jira WEX-5159
	#ue4
	#android

Change 3365280 on 2017/03/27 by Dmitriy.Dyomin

	Fix for GL_EXT_shader_framebuffer_fetch on Zenfone5. Use UE_EXT_shader_framebuffer_fetch define on all devices to enable extension

Change 3365291 on 2017/03/27 by Dmitriy.Dyomin

	Copied form WEX CL# 3308653
	Fixed: Enabling shader cache causes crash on NVIDIA Shield

	#jira UE-41639

Change 3365293 on 2017/03/27 by Dmitriy.Dyomin

	GitHub 3411 : Fix crash in patching utils mount method (contributed by nverenik)
	#jira UE-43247
	#3411

Change 3365340 on 2017/03/27 by Dmitriy.Dyomin

	Fixed: Moving sublevel in world composition browser does not appear in Undo History
	#jira UE-35535

Change 3365564 on 2017/03/27 by Allan.Bentham

	SkyLightComponent now serializes IrradianceMap SH values.
	clicking Recapture sky button in mobile preview switches back to SM4/5 to update captures.
	Skylights that are dirty from load will trigger reflection capture update once shaders are rebuilt.
	#jira UE-42436

Change 3366282 on 2017/03/27 by Nick.Shin

	remove dead links

	these files to not exist anywhere in the make-3.81 subfolders

	#UDN-354501
	#jira none

Change 3366306 on 2017/03/27 by Nick.Shin

	HTML5 - disable multi-threading for wasm

	#jira UE-43219 - HTML5 disable multi-threading for wasm

Change 3366307 on 2017/03/27 by Nick.Shin

	HTML5 packaging Shipping builds

	big cleanup / additions to *gz file support for amazon s3

	* both, uploading to s3
	* and allowing s3 to host the games there

	#jira UE-43002 HTML5 in Shipping fails downloading symbols files
	#jria UE-43001 HTML5 Shipping Projects fail looking for compressed files when "Compress files during shipping packaging" is not selected.

Change 3367385 on 2017/03/28 by Allan.Bentham

	Display skylight serialization warning only when cooking for mobile platforms.
	#jira UE-42436

Change 3368583 on 2017/03/28 by Chris.Babcock

	Expose JAVA_HOME setting in Android SDK project settings on Mac
	#jira UE-43418
	#ue4
	#android

Change 3368803 on 2017/03/28 by Chris.Babcock

	Fix features requested in manifest for "Daydream and Cardboard" mode
	#jira UE-43314
	#ue4
	#android

Change 3369087 on 2017/03/28 by Jack.Porter

	Changed tooltip and added supported devices in paretheses for Android Mobile Deferred / ES31+AEP
	#jira UE-42438

Change 3369372 on 2017/03/29 by Allan.Bentham

	Fix disappearing meshes when r.mobile.allowdistancefieldshadows is disabled.
	#jira UE-43366

Change 3369381 on 2017/03/29 by Jack.Porter

	Show warnings when mobile shader permutations required for rendering are disbaled
	Made FReadOnlyCVARCache a singleton and added mobile CVars, used for MobileBasePassRendering.
	#jira UE-43050

Change 3369430 on 2017/03/29 by Allan.Bentham

	fix CIS build

Change 3369740 on 2017/03/29 by Allan.Bentham

	Added Android option to enable builds with hidden symbol visbility by default. (bBuildWithHiddenSymbolVisibility)
	Android links with -gc-sections to remove unused code/data
	Add JNI_METHOD for java accessible native functions, fixed up existing JNI functions to use macro.
	Add support for map file generation with android.
	Add 'bBuildWithHiddenSymbolVisibility' to AndroidPlatform.HasDefaultBuildConfig()
	bBuildWithHiddenSymbolVisibility defaults to false in BaseEngine.ini

	#jira UEMOB-168

Change 3369975 on 2017/03/29 by Nick.Shin

	HTML5 - AWS S3 shareable link for shipping builds corrected

	#jira UE-43379 Amazon S3 Shareable link does not generate correct filepath.

Change 3369998 on 2017/03/29 by Nick.Shin

	HTML5 python build scripts

	PR:
	1cb836d43c

	#jira none

Change 3370214 on 2017/03/29 by Nick.Shin

	HTML5 - default bUseFixedTimeStep to false...

	#jira UE-43380 - Default HTML5 gamespeed is faster than equivalent platforms

Change 3370762 on 2017/03/29 by Chris.Babcock

	Fixes to new keyboard for Android
	- Ensure the local scope ScreenRect passed into OnVirtualKeyboardShown in AndroidJNI is captured by value instead of by reference.
	- Moved ShowVirtualKeyboardInput's bKeyboardShowing early-out checks into the UI thread task. This allows the keyboard to continue showing when changing focus between multiple EditableTextBox widgets.
	#ue4
	#android

Change 3371344 on 2017/03/30 by Jack.Porter

	Fixed issue where Vulkan screenshot R/B channels were reversed on Android
	#jira UE-43479

Change 3372926 on 2017/03/30 by Peter.Sauerbrei

	start the process of sunsetting 32-bit and GLES2 on iOS
	#jira UE-42266

Change 3372970 on 2017/03/30 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	- windows toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

	#rn

Change 3372989 on 2017/03/30 by Peter.Sauerbrei

	fix for Xcode 8.3 build with 32-bit

Change 3373007 on 2017/03/30 by Peter.Sauerbrei

	fix for crash when online subsystem is disabled on IOS

Change 3373108 on 2017/03/30 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	- emscripten toolchain

	WARNING: emscripten/incoming/source/include/libc/bit (the file) might need to be deleted first

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

	#rn

Change 3373163 on 2017/03/30 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	- OSX toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

	#rn

Change 3373169 on 2017/03/30 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	license file updated

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

	#rnx

Change 3373287 on 2017/03/30 by Nick.Shin

	HTML5 - 1.36.11 emscripten - remove old SDK

	#jira none

	#rnx

Change 3373289 on 2017/03/30 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	- Linux toolchain

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

	#rn

Change 3373595 on 2017/03/30 by Chris.Babcock

	Reenable GooglePlay for ARM64 now that it doesn't crash
	#jira UE-36198
	#ue4
	#android

Change 3373606 on 2017/03/30 by Chris.Babcock

	Submitting Allan's shelved EXT_shader_framebuffer_fetch fix
	#ue4
	#android

Change 3375456 on 2017/03/31 by Chris.Babcock

	Add missing keycodes for Android keyboard (@ and #)
	#jira WEX-5777
	#ue4
	#android

Change 3376309 on 2017/04/03 by Allan.Bentham

	Fix overflow issues with mobile DoF.

Change 3377041 on 2017/04/03 by Will.Fissler

	Adding Testbed content for PlatformShowcase.

Change 3377582 on 2017/04/03 by Alicia.Cano

	adding back in GET_ACCOUNTS permission as it is required for Reset Achievements

	#jira: UE-43265
	#android
	#rb: Chris.Babcock

Change 3377643 on 2017/04/03 by Peter.Sauerbrei

	fix for memory leak in MallocBinned
	#jira UE-43008

Change 3378033 on 2017/04/04 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	- ThirdParty libs compiled with new toolchain with wasm and webgl2 support

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

	#rn

Change 3378034 on 2017/04/04 by Nick.Shin

	HTML5 - 1.37.9 emscripten: wasm & webgl2 support

	- ThirdParty build scripts

	#jira UEMOB-263  Switch [to] web assembly
	#jira UEMOB-201  Support ES3 / WebGL2 in HTML5

Change 3378035 on 2017/04/04 by Nick.Shin

	HTML5 - Update GameX template to make it work with trunk Emscripten

	PR
	dc2b26f452 (commitcomment-21454978)

	#jira none

	#rn

Change 3378044 on 2017/04/04 by Nick.Shin

	HTML5 harfbuzz - double checking recompiled with NO multithreading

	wasm currently does not support pthreads

	*** THIS IS STILL WIP ***
	checking in to match 3rd party libs compiled configuration

	#jira UE-28588 - Build HarfBuzz for HTML5

	#rnx

Change 3378264 on 2017/04/04 by Allan.Bentham

	Fix crash when using consolas font on android sdk 24
	#jira UE-43464

Change 3379097 on 2017/04/04 by Nick.Shin

	CIS HTML5 build warning fix

	#jria none

	#rnx

Change 3379333 on 2017/04/04 by Chris.Babcock

	Prevent inserting extra permissions into manifest multiple times
	#jira UE-43583
	#ue4
	#android

Change 3380870 on 2017/04/05 by Chris.Babcock

	Fix merge issue

Change 3380898 on 2017/04/05 by Chris.Babcock

	Fixed again

Change 3381443 on 2017/04/05 by Chris.Babcock

	Fix for GearVR non-unity build
	#ue4
	#android

Change 3381941 on 2017/04/05 by Chris.Babcock

	Fix HTTPChunkInstaller texture format checks and missing #define warning
	#jira UE-43706
	#ue4
	#android

Change 3382056 on 2017/04/05 by Chris.Babcock

	Updates to Android AARs needed for Facebook plugin

Change 3382097 on 2017/04/05 by Chris.Babcock

	Disable java console cmd receiver only in shipping builds
	#jira UE-43710
	#ue4
	#android

Change 3382497 on 2017/04/06 by Allan.Bentham

	Fix Fortnite Cooked Server crashes when joining game from lobby.
	#jira UE-43695

Change 3383227 on 2017/04/06 by Will.Fissler

	Reverted case sensitive change, from yesterday, and implemented a pragma instead.

	#jira UE-41313

[CL 3383473 by Jack Porter in Main branch]
2017-04-06 16:13:17 -04:00
Ben Marsh
6748a24fb1 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3232619)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3121996 on 2016/09/12 by Ben.Marsh

	Add support for Visual Studio 2017 (aka "15"; assuming consistent naming with other versions until final name is announced).

	* Compiler, STL implementation and CRT are binary compatible with VS2015 (see https://blogs.msdn.microsoft.com/vcblog/2016/08/24/c1417-features-and-stl-fixes-in-vs-15-preview-4/), so no new third-party libraries needed so far. WindowsPlatform.GetVisualStudioCompilerVersionName() returns "2015" as a result.
	* Default compiler for compiling and generating project files is still VS 2015 for now. Pass -2017 on the command line to GenerateProjectFiles.bat to generate VS2017 projects. Projects generated for VS2017 will use the 2017 compiler by default.
	* Visual Studio source code accessor can talk to VS 2017 instances.
	* Added a VS2017 configuration for UnrealVS, and added precompiled vsix package.
	* Switched GetVSComnTools to check the SOFTWARE\Microsoft\VisualStudio\SxS\VS7 registry key rather than the individual product install registry key. "15" doesn't seem to have it's own "InstallDir" key, but this system seems to work for all versions of Visual Studio (including previous releases of VS Express).
	* Removed ATL dependency from VisualStudioSourceCodeAccessor. It's not installed with VS by default any more, and is only used for a couple of smart pointer classes.

	Tested running the editor and packaging TP_Flying for Win64. Packaging from the editor still defaults to using the 2015 compiler, so ConfigureToolchain() needs to be overriden from the .target.cs file if multiple Visual Studio versions are installed.

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3210598 on 2016/11/27 by Ben.Marsh

	UBT: Prevent the name of each file compiled being output twice on XboxOne. Compiler already outputs this string; the action doesn't need to.

Change 3210601 on 2016/11/27 by Ben.Marsh

	PR #2967: Add silent version of switch game version (Contributed by EricLeeFriedman)

Change 3210602 on 2016/11/27 by Ben.Marsh

	PR #2964: GitDependencies shouldn't try to clean up working directory files that are excluded or ignored (Contributed by joelmcginnis)

Change 3210605 on 2016/11/27 by Ben.Marsh

	UGS: Add a warning when syncing latest would remove changes that have been authored locally. Typically happens when working with precompiled binaries.

Change 3211656 on 2016/11/28 by Ben.Marsh

	UBT: Move ModuleRules and TargetRules into their own file.

Change 3211797 on 2016/11/28 by Ben.Marsh

	UBT: Remove utility functions from TargetRules for checking different classes of target types. Moving TargetRules to be data-only.

Change 3211833 on 2016/11/28 by Ben.Marsh

	UBT: Remove overridable configuration name from target rules. This feature is not used anywhere.

Change 3211859 on 2016/11/28 by Ben.Marsh

	UBT: Deprecate the GetGeneratedCodeVersion() callback in favor of a member variable instead.

Change 3211942 on 2016/11/28 by Ben.Marsh

	UBT: Remove legacy code which tries to change the output paths for console binaries. Output paths for monolithic binaries are always in the project folder now.

Change 3215333 on 2016/11/30 by Ben.Marsh

	UBT: Replace the GetSupportedPlatforms() callback on TargetRules with a SupportedPlatforms attribute. Since a TargetRules object can only be instantiated with an actual platform, it doesn't make sense for it to be an instance method.

Change 3215482 on 2016/11/30 by Ben.Marsh

	UBT: Remove the GetSupportedConfigurations() callback on the TargetRules class. A configuration is required to construct a TargetRules instance, so it doesn't make sense to need to call an instance method to find out which configurations are supported.

Change 3215743 on 2016/11/30 by Ben.Marsh

	UBT: Deprecate the TargetRules.ShouldCompileMonolithic() function: this function requires access to the global command line to operate correctly, which prevents creating target-specific instances, and does not use the platform/configuration passed into the TargetRules constructor.

	Rather than being a callback, the LinkType field can now be set to TargetLinkType.Modular or TargetLinkType.Monolithic from the constructor as appropriate. The default value (TargetLinkType.Default) results in the default link type for the target type being used. Parsing of the command-line overrides is now done when building the TargetDescriptor.

Change 3215778 on 2016/11/30 by Ben.Marsh

	UBT: Mark overrides of the TargetRules.GetModulesToPrecompile method as obsolete.

Change 3217681 on 2016/12/01 by Ben.Marsh

	UAT: Prevent UE4Build deleting .modules files when running with the -Clean argument; these files are artifacts generated by UBT itself, not by the exported XGE script.

Change 3217723 on 2016/12/01 by Ben.Marsh

	UBT: Run pre- and post-build steps for all plugins that are being built, not just those that are enabled.

Change 3217930 on 2016/12/01 by Ben.Marsh

	UGS: Add a perforce settings window, allowing users to set optional values for tuning Perforce performance on unreliable connections.

Change 3218762 on 2016/12/02 by Ben.Marsh

	Enable warnings whenever an undefined macro is used in a constant expression inside an #if or #elif directive, and fix existing violations.

Change 3219161 on 2016/12/02 by Ben.Marsh

	Core: Use the directory containing the current module to derive the UE4 base directory, rather than the executable directory. Allows UE4 to be hosted by a process in a different directory.

Change 3219197 on 2016/12/02 by Ben.Marsh

	Core: When loading a DLL from disk, convert any relative paths to absolute before calling LoadLibrary. The OS resolves these paths relative to the directory containing the process executable -- not the working directory -- so paths need to be absolute to allow UE4 to be hosted by a process elsewhere.

Change 3219209 on 2016/12/02 by Ben.Marsh

	Replace some calls to LoadLibrary() with FPlatformProcess::GetDllHandle(). The UE4 function makes sure that relative paths are resolved relative to the correct base directory, which is important when the host executable is not in Engine/Binaries/Win64.

Change 3219610 on 2016/12/02 by Ben.Marsh

	Add the -q (quiet) option to the Mac unzip command, since it's creating too much log output to be useful.

Change 3219731 on 2016/12/02 by Ben.Marsh

	UBT: Add option to disable IWYU checks regarding the use of monolithic headers (Engine.h, UnrealEd.h, etc...) and including the matching header for a cpp file first. bEnforceIWYU can be set to false in UEBuildConfiguration or on a per-module basis in the module rules.

Change 3220796 on 2016/12/04 by Ben.Marsh

	Remove PrepForUATPackageOrDeploy from the UEBuildDeploy base class. It never has to be accessed through the base class anyway.

Change 3220825 on 2016/12/04 by Ben.Marsh

	UBT: Change all executors to derive from a common base class (ActionExecutor).

Change 3220834 on 2016/12/04 by Ben.Marsh

	UBT: Remove the global CommandLineContains() function.

Change 3222706 on 2016/12/05 by Ben.Marsh

	Merging CL 3221949 from //UE4/Release-4.14: Fixes to code analysis template causing problems with stock install of VS2017.

Change 3222712 on 2016/12/05 by Ben.Marsh

	Merging CL 3222021 from //UE4/Release-4.14: Change detection of MSBuild.exe path to match GetMSBuildPath.bat

Change 3223628 on 2016/12/06 by Ben.Marsh

	Merging CL 3223369 from 4.14 branch: Use the same logic as GetMsBuildPath.bat inside FDesktopPlatformBase to determine path to MSBuild.exe

Change 3223817 on 2016/12/06 by Ben.Marsh

	Remove non-ANSI characters from source files. Compiler/P4 support is patchy for this, and we want to avoid failing prey to different codepages resulting in different interpretations of the source text.

Change 3224046 on 2016/12/06 by Ben.Marsh

	Remove the need for the iOS/TVOS deployment instances to have an IOSPlatformContext instance. The only dependency between the two -- a call to GetRequiredCapabilities() -- is now implemented by querying the INI file for the supported architectures when neeeded.

Change 3224792 on 2016/12/07 by Ben.Marsh

	UBT: Touch PCH wrapper files whenever the file they include is newer rather than writing the timestamp for the included file into it as a comment. Allows use of ccache and similar tools.

Change 3225212 on 2016/12/07 by Ben.Marsh

	UBT: Move settings required for deployment into the UEBuildDeployTarget class, allowing them to be serialized to and from a file the intermediate directory without having to construct a phony UEBuildTarget to deploy.

	Deployment is now performed by a method on UEBuildPlatform, rather than having to create a UEBuildPlatformContext and using that to create a UEBuildDeploy object.

	The -prepfordeploy UBT invocation from UAT, previously done by the per-platform PostBuildTarget() callback when building with XGE, is replaced by running UBT with a path to the serialized UEBuildDeployTarget object, and can be done in a platform agnostic manner.

Change 3226310 on 2016/12/07 by Ben.Marsh

	PR #3015: Fixes wrong VSC++ flags being passed for .c files (Contributed by badlogic)

Change 3228273 on 2016/12/08 by Ben.Marsh

	Update copyright notices for QAGame.

Change 3229166 on 2016/12/09 by Ben.Marsh

	UBT: Rewritten config file parser. No longer requires hard-coded list of sections to be parsed, but parses them on demand. Measured 2x faster read speeds (largely due to eliminating construction of temporary string objects when parsing each line, to trim whitespace and so on). Also includes an attribute-driven parser, which allows reading named config values for marked up fields in an object.

Change 3230601 on 2016/12/12 by Ben.Marsh

	Swarm: Change Swarm AgentInterface to target .NET framework 4.5, to remove dependency on having 4.0 framework installed.

Change 3230737 on 2016/12/12 by Ben.Marsh

	UAT: Stop UE4Build deriving from CommandUtils. Confusing pattern, and causes problems trying to access instance variables that are only set for build commands.

Change 3230751 on 2016/12/12 by Ben.Marsh

	UAT: Move ParseParam*() functions which use the instanced parameter list from CommandUtils to BuildCommand, since that's the only thing that it's instanced for.

Change 3230804 on 2016/12/12 by Ben.Marsh

	UBT: Add the IsPromotedBuild flag to Build.version, and only set the bFormalBuild flag in UBT if it's set. This allows UGS users to avoid having to compile separate RC files for each output binary.

Change 3230831 on 2016/12/12 by Ben.Marsh

	UGS: Warn when trying to switch streams if files are checked out.

Change 3231281 on 2016/12/12 by Chad.Garyet

	Fixing a bug where .modules files were getting put into receipts with their absolute path instead of their relative one

Change 3231496 on 2016/12/12 by Ben.Marsh

	Disable code analysis in CrashReportProcess; causes warnings when compiled with VS2015.

Change 3231979 on 2016/12/12 by Ben.Marsh

	UBT: Suppress LNK4221 when generating import libraries. This can happen often when generating import libraries separately to linking.

Change 3232619 on 2016/12/13 by Ben.Marsh

	Fix "#pragma once in main file" errors on Mac, which are occurring in //UE4/Main.

[CL 3232653 by Ben Marsh in Main branch]
2016-12-13 11:58:16 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Ben Marsh
57097692aa Change deployment context and project params to use file references rather than raw paths.
[CL 2707182 by Ben Marsh in Main branch]
2015-09-26 14:41:15 -04:00
James Moran
4e2577f5b3 Fix numerous path slash issues for HTML5 packaging on Mac.
Fixes UE-20141

[CL 2693468 by James Moran in Main branch]
2015-09-16 10:49:15 -04:00
James Moran
e89583075e emscripten's file_packager.py requires EM_CONFIG is set before it's run.
#codereview ankit.khare

[CL 2615093 by James Moran in Main branch]
2015-07-09 10:31:56 -04:00
Ankit Khare
9b38554ee8 UEPLAT-826 : use HTML5 SDK from third party directories.
- Always pickup HTML5 sdk from third party directory.
   - Use the new html5 template by default.

[CL 2610587 by Ankit Khare in Main branch]
2015-07-04 18:45:54 -04:00
Ankit Khare
fc94ebce37 HTML5: Don't create per map paks when doing "Launch On".
[CL 2507081 by Ankit Khare in Main branch]
2015-04-09 14:18:38 -04:00
Ankit Khare
79542f541b Allow HTML5 to download maps on the fly.
UPLAT-685 (Remove Virtual File System to reduce run-time memory overhead and allow for larger worlds in HTML5)

#codereview josh.adams, james.moran

[CL 2505577 by Ankit Khare in Main branch]
2015-04-08 14:53:36 -04:00