#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 4042043 by Steve.Robb
GitHub #4705 : Added weak lambda's for delegates and multicast delegates.
Change 4042056 by Robert.Manuszewski
Optimized Mark Phase of GC by up to 10ms by making it run in parallel and removing a huge array presize which we didn't need.
Change 4042104 by Robert.Manuszewski
Set the minimum GC cluster size to 5 so that GC doesn't have to process micro clusters which are more expensive than processing individual objects
+ Exposed the minimum cluster size to ini and project settings as gc.MinGCClusterSize
+ Added the ability to sort clusters by name/object count/mutable object count/referenced clusters count when dumping them with gc.ListClusters command
Change 4042377 by Robert.Manuszewski
Reworked how GC and other threads (ALT specifically) interact - GC will now notify the ALT it wants to run and ALT will immediately try to finish its current work to allow that. Also the entire ALT tick is now protected against GC running at the same time to improve ALT stability.
+ added gc.ForceCollectGarbageEveryFrame console variable that triggers a forced GC every frame
Change 4042427 by Robert.Manuszewski
Changed FGCCSyncObject to use events when waiting for GC to finish so that it doesn't spin on non-game threads when GC is running
Change 4042482 by Robert.Manuszewski
Unhashing unreachable objects (ConditionalBeginDestroy) will now also be done incrementally, just like the purge phase of Garbage Collection
Change 4042635 by Robert.Manuszewski
Fix for a potential assert when incremental purge garbage is pending and something forces a full purge
Change 4044092 by Steve.Robb
Fix for forward declared CoreUObject weakobject types in delegates when building in Clang.
Change 4044102 by Robert.Manuszewski
Fix for a possible hang when worker threads are preventing GC from running and something is later trying to FlushAsyncLoading with the Async Loading Thread enabled
Change 4044113 by Steve.Robb
Another Clang fix.
Change 4044160 by Robert.Manuszewski
Disregard For GC pool will now be enabled by default in cooked builds
Change 4044287 by Steve.Robb
Typo fix.
Change 4047723 by Graeme.Thornton
TBA: Fixes for import/export name cache and object resolving
Change 4048015 by Graeme.Thornton
TBA: Weak/Soft/Lazy pointer serialization changes
* Remove FWeakObjectPtr::Serialize, move it's logic into, and replace usages of with calls to, FArchiveUObject::SerializeWeakObjectPtr(). Ensures that something is always sent to the archive so that structured archives can be kept happy in the future.
* Added Weak/Soft/Lazy pointer handling to the structured archive slot interface and all the formatters. Binary formatters just forward the call onto their inner and text archives store as a string path reference.
* FArchiveUObjectFromStructuredArchive caches all these pointer types and stores indices in the binary block, same as with a UObject*. All pointers are then forwarded to the underlying formatter in one go on finalization.
Change 4048021 by Steve.Robb
Fix for binding an unbound TFunction to another TFunction with a different signature. Also all null pointers now count as unbindings, not just nullptr.
TIsMemberPointer added.
TIsATFunction and TIsATFunctionRef renamed to remove the 'A's.
Change 4048544 by Robert.Manuszewski
Fixing ConditionalBeginDestroy profiling after changes to incremental CBD.
Change 4051028 by Graeme.Thornton
TBA: ArchiveFromStructuredArchive adapter uses Inner to determine if it is outputting to text, and sets it's own ArIsTextFormat to false
Change 4051056 by Graeme.Thornton
TBA: High level tagged property / UObject base class text serialization
- UObject serialize converted to structured archive
- Properties written to text individually with text tags, and then binary adapted values
- Only saves, doesn't load
Change 4051111 by Graeme.Thornton
TBA: Temporarily disable loading of text assets until tagged property serialization path is fixed up
Change 4051154 by Graeme.Thornton
TBA: Convert a few uobject serializers to structured archive format for example purposes
Change 4051181 by Graeme.Thornton
TBA: Added default structured archive implementation of SerializeItem to UProperty, which just calls the FArchive version on an FArchiveUObjectFromStructuredArchive adapter. Implemented structured archive SerializeItem for UArrayProperty
Change 4051197 by Graeme.Thornton
TBA: ObjectProperty text serialization
Change 4051216 by Graeme.Thornton
Restored a modified FWeakObjectPtr::Serialize function to keep backwards compatibility in code I don't have access to.
Change 4051261 by Graeme.Thornton
TBA: Convert UMetaData to structured archive
Change 4051374 by Steve.Robb
Incorrect assert removed.
Change 4051562 by Robert.Manuszewski
Adding stats for the new GC internal functions
Change 4051614 by Graeme.Thornton
TBA: Removed UProperty::SerializeItem(FArchive, ...) and replaced with UProperty::SerializeItem(FStructuredArchive::FSlot, ...). Fixed up most of them to work properly and added adapters in for any that were non-trivial.
Change 4052512 by Graeme.Thornton
TBA: Temporary workaround for softobjectptr and lazyobjectptr uproperties not serialization anything when they know the archive is a reference collector. They should always be serializing their pointers and letting the underlying archive itself ignore them.
Change 4053917 by Robert.Manuszewski
Clustered objects from clusters that are no longer reachable will now be marked as unreachable immediately when gathering unreachable objects
Change 4053919 by Robert.Manuszewski
Added the ability to disable incremental BeginDestroy in ini/project settings
Change 4055518 by Daniel.Lamb
Fixup for deterministic audio generation issue.
Submitted on behalf of Rich.Whitehouse
#jira nojira
#test prefilght automated test.
Change 4056854 by Graeme.Thornton
TBA: Added a test asset to EngineTest which contains all the different property types and test cases.
Change 4056858 by Graeme.Thornton
TBA: Updated USetProperty to proper structured archive usage
Change 4056872 by Graeme.Thornton
TBA: Add map property field to test object
Change 4056873 by Graeme.Thornton
TBA: Convert UMapProperty to full structured archive
Change 4056994 by Graeme.Thornton
TBA: Converted FText over to structured archive. Implemented saving, but not loading.
Change 4059728 by Ben.Marsh
UBT: Add support for using adaptive non-unity builds when the engine and project are in separate repositories.
Change 4059805 by Graeme.Thornton
Fixed typo in text serialization. Fixes CIS automation test errors
Change 4060007 by Graeme.Thornton
TBA: FArchiveFromStructuredArchive will now access it's host slot lazily, i.e. only when a value is actually written to the archive.
Change 4060092 by Stefan.Boberg
Added optimized Windows console window output path to GenericConsoleOutput since this slowed down cooking considerably (2 minutes spent in wprintf alone for one large dataset)
When stdout is attached to a console we use the WriteConsoleW function instead of wprintf since the latter is very slow especially in unbuffered mode which the engine currently configures for stdout (see setvbuf call in LaunchEngineLoop.cpp).
At some point we should reconsider this buffering policy since it's likely to slow down other platforms as well but I wanted to do a safe change for now as I don't yet fully understand why the setvbuf call is there in the first place.
Change 4060108 by Stefan.Boberg
Introduced some additional target platform utilities to help with asset cook optimizations
* We now assign each ITargetPlatform a zero-based ordinal value
* Introduced FTargetPlatform and FTargetPlatformSet types to help store platform references and platform sets efficiently.
These are not currently used in the engine but are designed to replace the existing ITargetPlatform/string/FName representations in the cooking data structures.
Change 4060143 by Graeme.Thornton
Undo //UE4/Dev-Core/Engine/Source/Runtime/... changelist 4060007
Needs some other changes that I haven't checked in yet...
Change 4062432 by Ben.Marsh
Fix error message when enumerating P4 changes.
Change 4062648 by Ben.Marsh
Add missing p4 integration action.
Change 4063620 by Graeme.Thornton
Integrated a fix from UDN where the engine would crash when trying to load a very small encrypted file (<16bytes) from a pak file, where the read address wasn't already aligned to the AES block size.
(https://udn.unrealengine.com/questions/431989/crash-while-reading-a-very-small-file-in-encrypted.html)
Change 4066963 by Robert.Manuszewski
Fixing GC cluster verification code reporting false positives when a cluster is referencing another cluster through 'mutable' objects list.
Change 4067133 by Robert.Manuszewski
Changed log verbosity when reporting individual cases of GC cluster assumption violations as they are followed by an asser anyway and this way we get the chance to see all issues before we assert at the end of these checks.
Change 4067443 by Steve.Robb
FString can now be constructed from any char pointer type and length.
Change 4068156 by Steve.Robb
Fix necessary because of FString constructor change in CL# 4067443.
Change 4070258 by Graeme.Thornton
Fixes for VSCode
Change 4070372 by Graeme.Thornton
TBA: Script struct serialization to structured archives
Change 4071913 by Ben.Marsh
Move bulk of the code for UnrealPak into an engine developer module, so it can be used in the editor.
Change 4071914 by Ben.Marsh
Missing files.
Change 4071937 by Ben.Marsh
Missing header.
Change 4072015 by Ben.Marsh
Fixes for compiling PakFileUtilities as part of the editor.
Change 4072826 by Steve.Robb
TBitArray::Reserve() added.
TBitArray::Add() overloaded to allow adding multiple bits.
TSparseArray::Reserve() optimized to call the overloaded Add().
Change 4073271 by Daniel.Lamb
Fixed add patch tier in project launcher passing the wrong commandline option to UAT.
#test none
Change 4074708 by James.Hopkin
#core Removed redundant Casts
Change 4074763 by Steve.Robb
Fix for TSparseArray::Reserve() size.
Change 4076063 by Ben.Marsh
Add an "UnrealPak" commandlet with the same functionality as the standalone UnrealPak program. Invoke by running the editor with -run=UnrealPak and the standard UnrealPak commandline options.
Change 4077064 by Robert.Manuszewski
Fixing compile error in PakFileUtilities
Change 4077144 by Graeme.Thornton
TBA: TextAssetCommandlet improvements
* Collect lists of broken assets during roundtrip tests and print a summary of packages that failed each phase at the end
* After resaving as text, load the file back as a plain JSON hierarchy to ensure the output was valid
Change 4077412 by Ben.Marsh
Set the correct exit code for UnrealPak. Should return 0 on success, not 1.
Change 4077760 by Graeme.Thornton
TBA: Loading fixed for tagged property serialization
Includes conversion of all UProperty::ConvertFromType() and SerializeFromMismatchedTag() functions to use structured archives
Lazy initialization of FArchiveFromStructruredArchive when loading, to support the possibility of an adapter being create around an object property serialize call to its inner UStruct, which then decides not to do anything and return false. Stops the ArchiveFromStructuredArchive from consuming the slot and getting upset later on when we try to serialize normal tagged properties from it.
Disabled lazy bulk data loading from text assets. Requires a bigger change to make it work.
Added some debug checks to json input formatter which track the current value stack size when a new object is pushed onto the stack, and makes sure that the stack has returned to the same size when the object is popped. Catches cases where we unpack an array/stream to the value stack but then don't consume all the items.
Change 4078800 by Ben.Marsh
Change UAT to using the editor's UnrealPak commandlet rather than invoking the standalone UnrealPak executable. To improve performance when building several PAK files, also add a new -batch=<file> command which reads commands to execute in parallel from a text file.
Change 4079745 by Graeme.Thornton
TBA: Migrated a couple of UObject Serialize functions to FStructuredArchive (SoundCue / MaterialExpressions / Editor strip flags)
Change 4079847 by Graeme.Thornton
TBA: Add 'FindMismatchedSerializers' mode to text asset commandlet, which dumps out a list of all UClasses which don't have the CLASS_MatchedSerializers flag, meaning we can't guarantee the have Serialize functions for FArchive AND FStructuredArchive, therefore we can't use the new structured archive based serialize path. Should only ever be native instrinsic classes as UHT takes care of all other cases.
Change 4079925 by Ben.Marsh
Fix incorrect assignment when deriving name for chunked pak file.
Change 4080214 by Ben.Marsh
Move the ThreadPoolWorkQueue class into DotNETUtilities so it can be used by other projects.
Change 4082394 by Graeme.Thornton
CIS fix for variable shadowing warning
Change 4082583 by Ben.Marsh
Add a IBinarySerializable interface for types that support reading from a BinaryReader and writing to a BinaryWriter. Implementing IBinarySerializable implies a constructor taking a BinaryReader argument is available for deserializing.
Change 4082652 by Ben.Marsh
Fix FileReference.Directory not returning a directory with a trailing backslash for files in the root directory.
Change 4082755 by Graeme.Thornton
Fixed an erroneous usage of TUniquePtr<uint8>as a pointer to a uint8 array when creating pak files. Caused a crash when compression was enabled, and has probably surfaced because pak generation is now done by an editor commandlet rather than a standalone program.
Change 4082756 by Graeme.Thornton
Fixed some incorrect documentation for pakfile compressed chunk headers
Change 4082883 by Graeme.Thornton
Static analysis warning fix
Change 4082912 by Ben.Marsh
Move ExceptionUtils into DotNETUtilities.
Change 4085291 by Graeme.Thornton
TBA: In the Json output formatter, write float and double values out with enough precision for successful roundtripping. Added some debug only code which will immediately reconvert the string back to its original value and compare the the input
Change 4085523 by Graeme.Thornton
TBA: Remove only explicit usage of DECLARE_FSTRUCTUREDARCHIVE_SERIALIZER. Should only be used from UHT generated code.
Change 4086037 by Robert.Manuszewski
Fix for a potential race condition when two threads want to acquire GC lock
Change 4088655 by Graeme.Thornton
Pak creation now uses the bEnablePakSigning setting from the crypto config json file
Change 4091474 by Steve.Robb
Fix for TStaticBitArray::FindFirstSetBit() and TStaticBitArray::FindFirstClearBit().
Unused variables removed.
Change 4093632 by Steve.Robb
CIS fixes.
Change 4093656 by Graeme.Thornton
Build fix
Change 4093744 by Ben.Marsh
Allow per-chunk settings for whether to enable compression in UnrealPak.
Change 4099712 by Gil.Gribb
UE4 - Fixed rare case where insufficient space was preallocated for cooldown ticks.
#jira UE-59686
Change 4099912 by Stefan.Boberg
Cooking timer optimizations:
- Replaced data structures for FScopeTimer and FHierarchicalTimerInfo. Previous implementation used FString for many things and caused *lots* of heap and string concatenation activity. Replaced with a compile-time node id (using __COUNTER__) and raw string literals.
- Removed PERPACKAGE_TIMER support (was disabled by default and was difficult to test)
- Made it possible to toggle OUTPUT_TIMING and ENABLE_COOK_STATS independently
- Removed some extremely tight timers because the overhead from calling QPC significantly exceeded the measured code
This change shaved some 15% off a clean cook of Fortnite WindowsClient (en) with fully populated local DDC
Change 4100519 by Stefan.Boberg
Quick fix for Linux build issue introduced in 4099927
Change 4105327 by Stefan.Boberg
Cooker: Changed FHierarchicalTimerInfo so it uses a linked list for tracking child nodes, to be able to deal with any child count. Previously we assumed there would never be more than 9 children but it turns out there are cooker modes that need more.
Fixes check when using -FullLoadAndSave to cook
Change 4105448 by Stefan.Boberg
- Fixed Linux build warning re: member initialization order
- Also eliminated OUTPUT_HIERARCHYTIMERS/CLEAR_HIEARCHYTIMERS macros (plain functions are fine)
- Moved finishing-up code for FullLoadAndSave() to TickCookOnTheSide() call site to improve timer output. Previously some of the scopes would not have been closed before printing and thus the output was misleading.
Change 4109031 by Ben.Marsh
Attribute-driven Perforce wrapper (old Epic Friday project). Offers a more complete implementation than the current P4 wrapper in UAT without requiring any platform-specific libraries. Uses the Python binary output for parsing.
Change 4109588 by Ben.Marsh
UBT: Add extension methods for serializing a nullable type to a BinaryReader/BinaryWriter.
Change 4109595 by Ben.Marsh
Missing project file for DotNETUtilities.
Change 4110724 by Stefan.Boberg
Removed annotation map locking in UObjectMarks, eliminating around one minute (~3.5%) from Fortnite cook time.
The locking was redundant since the annotation maps are managed per thread anyway.
Change 4111304 by Ben.Marsh
UAT: Add support for setting a status message through the log class. Allows writing transient messages (eg. progress messages) which will be cleared out before writing other messages. Best used through the LogStatusScope class, which can set a status message for the duration of a using() block.
As part of this change, the console no longer has to be added as a dedicated trace listener. Since we already special-case this listener when formatting log output, it's easier to just keep the implementation separate to the other trace listeners.
Change 4112708 by Steve.Robb
Fix for TBitArray::MaxBits in assignment.
Change 4114133 by Stefan.Boberg
Tweaked how low-level memory (LLM) tracker is implemented to reduce overheads.
Previously FMemory functions would acquire the LLM singleton and call OnLowLevelFree/OnLowLevelAlloc etc which would check the bIsDisabled flag and early out if it was set. Due to how frequently these functions were called this ended up costing quite a bit.
- This change makes the flag a static member variable instead of a member variable and therefore enables a simpler early-out to be implemented.
- The singleton getter is also simplified to avoid hitting the threadsafe singleton construction path on every call.
- The enable flag is no longer TAtomic - this also incurs extra overhead for no clear benefit
Shaves approximately 3.5% (one minute) off a Fortnite cook test scenario (using -FullLoadAndSave)
Change 4115010 by Robert.Manuszewski
Fixing CIS
Change 4115249 by Robert.Manuszewski
Fixing async loading code asserts when exiting game very early due to an error
#jira UE-56267
Change 4117091 by Ben.Marsh
Prevent doubled-up lines when writing status updates with console log verbosity.
Change 4117207 by Ben.Marsh
UGS: Do not include executables in diagnostics zip file, and ignore "no such files" error when cleaning workspace.
Change 4119175 by Ben.Marsh
UGS: Fix crash writing version files when directory does not already exist.
Change 4119987 by Ben.Marsh
UGS: Show a dialog box while the launcher is updating executables from Perforce, which allows cancelling the operation if necessary. Allow setting the username on the settings window, and prompt for login credentials if necessary. Should prevent situations where users have to update settings from the command prompt.
Holding down shift during launch now shows the settings dialog rather than an immediate prompt to launch the unstable version (unstable version is shown as a checkbox on this dialog).
Change 4119991 by Ben.Marsh
Update version number for UGS launcher to 1.13.
Change 4121943 by Robert.Manuszewski
Don't use FArchiveAsync2 for reading packages with non-async path in editor builds as its performance is worse than the standard archive's (saves about 1 minute when doing larger cooks and 7 seconds when loading into PIE)
Change 4122592 by Steve.Robb
GitHub #4762 : Improve wording and grammar of Math comments
Also includes improved accuracy in FMath::ComputeBoundingSphereForCone().
Change 4122819 by Stefan.Boberg
Don't call CreateDirectory redundantly when opening files for writing using FFileManagerGeneric::CreateFileWriter
This change avoids calling IPlatformFile::CreateDirectoryTree if possible since this is a very expensive function especially for deep hierarchies as it performs directory creation from the root directory onwards instead of from the leaf downwards. That function should also be fixed but this change improves performance in the meantime.
Change 4122872 by Stefan.Boberg
CreateDirectoryTree now creates directories leaf-to-root instead of the other way around. This is much more efficient since we don't spend time on system API calls for directories which already exist. This accounted for a very large amount of CPU time in cooking as the full target file directory hierarchy would be "created" for every single output file.
Change 4123109 by Stefan.Boberg
- Disable overlapped I/O in editor / cooker. Synchronous I/O reduces the number of syscalls and Windows performs prefetching on our behalf anyway for sequential reads
- Eliminated syscall which was issued for every write to update cached file size -- since we're the only writers to the file (file access allows read sharing at most) we can authoritatively update the file size on write completion
Change 4123455 by Ben.Marsh
PR #4775: New build param PCHMemoryAllocationFactor to set /Zm VS build param. (Contributed by lucaswall)
Change 4124207 by Ben.Marsh
UBT: Remove some unnecessary indirection for generated code paths.
Change 4124217 by Ben.Marsh
UBT: Remove another unused variable from UEBuildModuleCPP.
Change 4124377 by Stefan.Boberg
In IPlatformFile::DeleteDirectoryRecursively, attempt to delete file first and if it fails clear the readonly flag and try again
Previously there was a call to clear the readonly flag for every deleted file and this is a waste of resources 99% of the time. The SetFileAttributes call accounted for a significant amount of time during cooker sandbox directory deletion
Change 4125071 by Stefan.Boberg
Some tweaks to FQueuedThreadPoolBase scheduling and memory management
- Explicitly pass in false for TArray::RemoveAt(..., bool bAllowShrinking) argument to prevent memory reallocation when arrays are drained and inevitably repopulated shortly afterwards
- Use a MRU strategy instead of LRU when picking a thread to wake up. The MRU thread is the most likely to have a 'hot' cache for the stack etc. Picking from the back of the array also happens to be cheaper since
no memory movement is necessary when RemoveAt is called. (This was the strategy in place before CL2600362 which seems to have changed it unintentionally)
- Release lock as soon as a thread has been chosen, before asking the worker thread to wake up and do the work
Change 4126132 by Ben.Marsh
UAT: Detect when stdout is redirected and prevent using backspace characters to move the cursor.
Change 4126867 by Graeme.Thornton
TBA: Fix tagged binary formatter
Change 4127010 by Robert.Manuszewski
AnimScriptInstances created at runtime will now also be added to the owning omponent's cluster to avoid GC issues.
Change 4127932 by Ben.Marsh
WorkspaceTool: Reduce unnecessary logging of status messages when console output is not redirected.
Change 4129050 by Ben.Marsh
UGS: Check for NET Framework 4.5 being installed before running the installer. Also fix warning trying to kill existing UGS instances before upgrade.
Change 4129459 by Graeme.Thornton
TBA: TextAssetCommandlet - When outputting converted assets to an output path, replicate the workspace relative path in the output directory
Change 4129515 by Graeme.Thornton
TBA: Add EnterRecord overload that allows outputting of available field names when loading.
Change 4129517 by Graeme.Thornton
TBA: Tagged properties are written out as named fields on the "Properties" record, rather than as a stream with a null tag at the end
Change 4129518 by Graeme.Thornton
TBA: Added a local const bool to allow easy hacking out of text asset loading support
Change 4129558 by Graeme.Thornton
TBA: Build fix for textasset-less configs
Change 4129614 by Ben.Marsh
UGS: Main window is now restored to normal size when activated by clicking on the tray icon.
#jira UE-60490
Change 4129618 by Ben.Marsh
UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.
Change 4131936 by Robert.Manuszewski
Removing some WIP code accidentally checked in with CL #4121943
Change 4133490 by Ben.Marsh
UGS: Allow the $(Change) variable to be used in more places than just the context menu.
#jira UE-60573
Change 4133550 by Ben.Marsh
UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.
#jira UE-60554
Change 4133681 by Ben.Marsh
UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).
The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.
The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.
Example:
[Default]
+SafeToDeleteFolders=/MyGame/Test/
+SafeToDeleteFolders=/DataService/
+SafeToDeleteExtensions=.xx1
+SafeToDeleteExtensions=.xx2
#jira UE-60575
Change 4135449 by Ben.Marsh
Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
Change 4135730 by Ben.Marsh
UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.
Change 4135823 by Ben.Marsh
UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.
Change 4135945 by Ben.Marsh
UBT: Fix error running programs with no explicitly enabled or disabled plugins.
Change 4137207 by Ben.Marsh
UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".
Change 4137311 by Stefan.Boberg
Removed child cooker support.
In practice it is not a useful feature as it provides no performance improvement (quite the opposite in fact) and adds testing and maintenance complexity.
Change 4137393 by Ben.Marsh
UGS: Fix display of multiline errors in the status panel.
Change 4141708 by Steve.Robb
GitHub #3631 : Incorrect default argument in WeakObjectPtrTemplate
#jira UE-45490
Change 4146655 by Stefan.Boberg
Removed FullGCAssetClasses logic - no longer necessary nor useful
Change 4147318 by Ben.Marsh
UGS: Compress build badges in a column if it shrinks below the size that they would be visible.
Change 4148207 by Ben.Marsh
UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:
+ServiceBadges=RoboMerge
Change 4148282 by Stefan.Boberg
Fixed bug in UCookOnTheFlyServer::GetCookOnTheFlyUnsolicitedFiles - UnsolicitedFiles should be passed by reference not by value
Change 4148344 by Stefan.Boberg
Fixed minor indentation error (most likely caused by sloppy merge)
Change 4148521 by Stefan.Boberg
Removed accidentally checked in PRAGMA_DISABLE_OPTIMIZATION from CookOnTheFlyServer.cpp
Change 4148639 by Ben.Marsh
UGS: Fix tooltips not showing for changes that have description badges.
Change 4149373 by Ben.Marsh
UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:
+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")
Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.
Change 4149399 by Ben.Marsh
UGS: Update version to 1.143.
Change 4155660 by Steve.Robb
PROJECTION and PROJECTION_MEMBER macros which provide the correct behavior when creating projections using functions which are overloaded or use default arguments.
Change 4157117 by Ben.Marsh
Fix warning due to plugins disabled in .target.cs file.
Change 4158011 by Ben.Marsh
UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.
Change 4158646 by Ben.Marsh
UGS: Fix exception when login is discovered to have expired during a workspace update.
Change 4158678 by Ben.Marsh
UGS: Fix an exception on shutdown due to the icon being hidden after it's already been disposed.
Change 4158683 by Ben.Marsh
UGS: Add an unhandled exception filter which sends the exception data to the backend.
Change 4159131 by Ben.Marsh
UGS: Reduce the number of characters displayed for build badges based on the available space.
Change 4159194 by Graeme.Thornton
TBA: Fix incorrect map property conversion code when converting an old property that contains a map with different key/value types
Change 4159239 by Steve.Robb
Improved readability and compliance with coding standards.
Change 4159246 by Ben.Marsh
UGS: Allow syncing projects where source code is not available (and various version files don't exist).
#jira UE-60985
Change 4159286 by Ben.Marsh
UGS: Remove requirement for UE4Editor.target.cs to be visible in the depot in order to open a project.
#jira UE-60986
Change 4159302 by Ben.Marsh
UGS: Update version to 1.144.
Change 4160308 by Ben.Marsh
All staging client executables for blueprint projects.
#jira UE-60983
Change 4161567 by Steve.Robb
GitHub #4816 : UE-60771: Handle escaped double quote in FParse::LineExtended
Change 4162641 by Ben.Marsh
UGS: Allow customizing the position of custom columns, via the Index=N attribute.
Change 4162647 by Ben.Marsh
UGS: Update version to 1.145.
Change 4165319 by Robert.Manuszewski
PR #4812: Fix inconsistent command-line argument handling under Windows (Contributed by adamrehn)
Change 4166150 by Ben.Marsh
UGS: Include *.inl when looking for code changes.
Change 4166551 by Steve.Robb
Whitespace fixes caused by a bad merge.
Change 4168483 by Ben.Marsh
UGS: Add a more useful error if a file to be synced exceeds the max allowed path length.
Change 4168490 by Ben.Marsh
UGS: Update version to 1.146.
Change 4168551 by Ben.Marsh
UBT: Move bBuildLargeAddressAwareBinary into an exposed setting.
Change 4168560 by Ben.Marsh
UBT: Remove static config variable for controlling which configuration of UHT to use.
Change 4171296 by Ben.Marsh
UGS: Move the check for overlong paths earlier.
Change 4171531 by Ben.Marsh
UBT: Fix exception if BuildConfiguration.xml contains an unknown category.
Change 4183371 by Robert.Manuszewski
Fix for a crash in Async Loading Graph's CheckCycles when GC kicks in on the game thread and forces ALT to exit early
Change 4184312 by Ben.Marsh
UGS: Update version to 1.148
Change 4184480 by Robert.Manuszewski
Removing unused async loading stat
Change 4186390 by Ben.Marsh
UBT: Format XML validation errors in a format that allows double-clicking on the message in Visual Studio.
Change 4188644 by Ben.Marsh
UBT: Add the MakePathSafeToUseWithCommandLine() function to UBT.
Change 4188647 by Ben.Marsh
UBT: Fix exception in target receipt when architecture is null.
Change 4189617 by Ben.Marsh
Change FileSystemReference, FileReference and DirectoryReference objects to use OrdinalIgnoreCase comparisons without creating a separate copy of the string to compare. The filesystem does not use the invariant culture, and it can produce the wrong results in some cases (the ordinal comparison is faster, too).
Change 4189740 by Ben.Marsh
UAT: Remote code to build UnrealPak when packaging; we use the editor now.
Change 4189860 by Ben.Marsh
UGS: Make the filter for excluding automated lighting rebuilds more explicit.
Change 4190082 by Ben.Marsh
Fixes to allow enabling edit and continue for Windows builds. Have experienced quite a few VS crashes when testing it in editor; not yet recommended for general use.
- Allow edit and continue for any configuration, not just debug.
- Fixed PDB errors compiling files that use a shared PCH with edit and continue enabled. Path to the generated PDB file was using the wrong directory.
- Removed code that tracks PDB output files, since they're modified multiple times during a build.
- Enable debug information when compiling generated CPP files, since it causes errors if the shared PCH PDB doesn't have the same option.
- Disable support for remote execution of steps that modify the PDB, since the same file has to be modified many times. Remote execution causes the PDB files to be corrupted. Unfortunately, this makes E&C builds significantly slower.
#jira
Change 4192949 by Ben.Marsh
UBT: Minor tidy-up (merging UEBuildBinary.Build and UEBuildBinary.SetupOutputFiles)
Change 4193218 by Ben.Marsh
Fix formatting.
Change 4197252 by Mike.Erwin
UAT: Fix log output w/ correct count of non-code projects.
#jira none
Change 4197941 by Ben.Marsh
UGS: Add support for DebugGame editors that have an executable with a DebugGame suffix.
Change 4197964 by Ben.Marsh
UGS: Prevent attempts to automatically reopen projects while a modal dialog is up, or the workspace is syncing.
Change 4198144 by Ben.Marsh
UGS: Prevent modal dialogs when login expires in P4, and prompt for password when hitting "retry".
Change 4198413 by Ben.Marsh
UGS: Always show the main window when launched manually, and run with -RestoreState when launched at startup. Also add a couple more places that save the visibility state, since logging off seems like it can terminate the process abrubtly.
Change 4198779 by Ben.Marsh
UBT: Allow generating manifests to any arbitrary locations with the -Manifest=<Path> argument.
Change 4198825 by Ben.Marsh
UBT: Move code to enumerate Slate runtime dependencies into the Slate module. Doesn't need to be done inside core UBT.
Change 4199341 by Ben.Marsh
UGS: Update version to 1.149
Change 4199642 by Chad.Garyet
- Deprecate CISController
- Add BuildController to replace CIS GET/POST for builds
- Add LatestController, GET does what CIS/GET used to do
- Change Latest/GET to return the last 25 builds filtered by project, rather than the last 5000 individual Ids
- Latest/GET now returns "LatestData" object instead of array of longs
- Updated EventMonitor to match all API changes
- Fixed bug where IDs were getting reset to initial startup values every update loop
Change 4199663 by Chad.Garyet
CIS controller still needs to return an array of longs
#jira none
Change 4199680 by Ben.Marsh
UGS: Update version to 1.150
Change 4200457 by Ben.Marsh
Merging CIS fix for non-development configurations.
Change 4200472 by Mike.Erwin
UAT: fix -skipbuildclient param default
It was defaulting to skipbuildeditor's value, likely a copy-paste error.
#jira none
Change 4202595 by Ben.Marsh
Fix static analysis warning due to constant comparison against macro.
Change 4203250 by Ben.Marsh
UGS: Always show the "Sync Precompiled Editor" option, but disable it and show a tooltip explaining why if it is not available.
Change 4206191 by Ben.Marsh
Exclude editor target files from installed builds, since they leak info about DLLs that have been stripped out.
Change 4213011 by Ben.Marsh
UBT: Include contents of modified intermediate files in the log, to make it easier to debug hidden dependencies.
Change 4213487 by Ben.Marsh
UBT: Fix assumption that bPrecompile is equivalent to bBuildAllModules. This is no longer the case; they are now controlled by separate options. Should fix CIS errors building the editor.
Change 4213609 by Ben.Marsh
Ensure that strings formatted using FMicrosoftPlatformString::GetVarArgs() are always null terminated, whether we use the secure CRT or not.
Change 4215971 by Ben.Marsh
UBT: Remove action graph visualization code; no longer used.
Change 4215996 by Ben.Marsh
UBT: Remove unqiue id from all actions in the action graph. This is only used for printing debug info in the case of a (rare) cycle in the action graph, so just look it up when needed.
Change 4216022 by Ben.Marsh
UBT: Rename Crypto.cs to EncryptionAndSigning.cs to match the name of the class inside it, and move it under the System folder.
Change 4216031 by Ben.Marsh
UBT: Move all the action executors into their own folder in the project.
Change 4216526 by Ben.Marsh
Fix CIS warnings.
Change 4216544 by Ben.Marsh
Replace custom code to ensure FMicrosoftPlatformString::GetVarArgs() null terminates its buffer with Microsoft's standards-compliant implementation.
Change 4216633 by Ben.Marsh
Add support for UnrealPak plugins.
* Project and plugin modules can now specify an array of supported programs in the "WhitelistPrograms" field of their module descriptors, to allow modules to be loaded by programs.
* Programs can now load any runtime modules, as long as they are whitelisted.
* Programs under the engine directory can now use a shared build environment, so that building with a project file does not cause output binaries to be output to the project directory.
* UnrealPak is now always built by default when packaging
* Convert UnrealPak to a modular configuration
Change 4216736 by Ben.Marsh
UnrealPak: Move "ExportDependencies" command into an editor commandlet, since it relies on the UObject system, asset registry, etc...
Change 4217447 by Ben.Marsh
Back out revision 50 from //UE4/Dev-Core/Engine/Build/InstalledEngineBuild.xml
Change 4217451 by Ben.Marsh
Back out revision 11 from //UE4/Dev-Core/Engine/Plugins/Developer/VisualStudioSourceCodeAccess/Source/VisualStudioSourceCodeAccess/VisualStudioSourceCodeAccess.Build.cs
Change 4217617 by Ben.Marsh
Back out changelist 4217451
Change 4222552 by Ben.Marsh
Don't use #import <TypeLib> for VS source code accessor when building with Clang; it's not supported.
Change 4222630 by Ben.Marsh
UBT: Fix spam while generating project files if Clang isn't installed.
Change 4223316 by Ben.Marsh
UBT: Change the order in which Visual C++ toolchains are enumerated to prefer full releases over preview releases.
Change 4223318 by Ben.Marsh
UBT: Add a build setting which allows creating a dedicated PCH for every file that's excluded from the unity working set (disabled by default). Improves iteration times when working on individual cpp files, but slows down iterating on header changes (and can take a lot of disk space for large changes).
Dedicated PCH contains all includes scraped from the top of each cpp file, until a non-#include directive is encountered.
Change 4223401 by Ben.Marsh
UBT: Add an option to automatically enable edit and continue for files in the adaptive non-unity working set. E&C doesn't seem very useful for UE4 projects right now; compile time is comparable to regular build times, but it can take several minutes to apply code changes for large projects.
Change 4223899 by Ben.Marsh
UBT: Fix loading XML config files on Mono; Type.GetField(Name) does not seem to return values unless binding flags are specified.
Change 4224637 by Ben.Marsh
Add a "SupportedPrograms" field to plugin descriptors, which allows plugins to declare which plugins they support independently of individual modules. Programs now respect the "bEnabledByDefault" setting in plugins.
Plugins that are compatible with a program now need to list that program in the SupportedPrograms list, and whitelist any modules that should load for that program.
Change 4224710 by Ben.Marsh
UBT: Don't add import libraries as final build products unless the target is being precompiled. Prevents the need for building them for leaf nodes in the action graph.
Change 4224715 by Ben.Marsh
UBT: Remove hack to allow Stats2.cpp to not follow IWYU convention.
Change 4224726 by Ben.Marsh
Remove commented out line.
Change 4224903 by Ben.Marsh
Fix non-unity compile error in Stats2.h.
Change 4225051 by Ben.Marsh
Back out changelist 4224710; causing CIS errors due to receipts not matching.
Change 4225134 by Ben.Marsh
Fixing non-unity errors.
Change 4225203 by Ben.Marsh
Another non-unity fix.
Change 4225249 by Ben.Marsh
Fix Linux dependencies being copied for the Windows editor; they can be added as requirements for the Linux target platform on Windows instead, so it respects the user's chosen platforms.
#jira UE-62001
Change 4225512 by Ben.Marsh
BuildGraph: Allow setting the target to build when using the <CsCompile> task.
Change 4228815 by Ben.Marsh
UBT: Always add the generated code directory to the list of include paths when generating project files. It may only be created after UHT has been run.
Change 4228944 by Ben.Marsh
UBT: Remove legacy CppCompileEnvironment and LinkEnvironment wrappers from TargetRules that were deprecated in 4.19.
Change 4229028 by Ben.Marsh
UBT: Fix editor targets with unique build environment having the wrong executable path in generated project files. Move move logic to configure target rules post-construction by the rules assembly to ensure it's valid.
Change 4229065 by Ben.Marsh
UBT: Move another target setting into the rules assembly.
Change 4229105 by Ben.Marsh
Fix BPT exception when generating project files.
Change 4229311 by Ben.Marsh
UBT: Store the module rules file location on the ModuleRules instance, as well as the plugin that it was created from. Also expose the plugin directory as a property on the ModuleRules instance.
Change 4229421 by Ben.Marsh
UBT: Consolidate functionality for UHT module setup in ExternalExecution.cs.
Change 4229817 by Ben.Marsh
UBT: Modules must now explicitly specify the path to the header used to generate a PCH if one is desired, rather than the header being determined automatically by attempting to parse the source code. Now that PCHs are force-included anyway, this removes a lot of dependencies inside UBT.
Change 4229824 by Ben.Marsh
UBT: Remove unused lists inside UEBuildModuleCPP.SourceFilesClass.
Change 4229841 by Ben.Marsh
UBT: Remove some legacy code from auto-detecting PCHs.
Change 4230521 by Ben.Marsh
UBT: Add utility functions to the log class to allow formatting errors and warnings in Visual Studio output format (eg. File(Line): warning: Message)
Change 4230871 by Ben.Marsh
UAT: Remove StreamUtilis utility class; there is a simpler way to implement the one place it's used.
Change 4230882 by Ben.Marsh
UAT: Add StreamUtils back into UAT, seems like it's still used there.
Change 4230896 by Ben.Marsh
UBT: Remove some redundant parameters from UEBuildModule/UEBuildModuleCPP/UEBuildModuleExternal constructors.
Change 4231014 by Ben.Marsh
WorkspaceTool: Include a dump of raw bytes when garbage is read from the P4 process, for diagnostic purposes.
Change 4231032 by Ben.Marsh
Fix CIS.
Change 4231096 by Ben.Marsh
Bump the FlatCPPIncludeDependencyCache version, to prevent errors trying to load old files.
Change 4231446 by Ben.Marsh
UBT: Added support for expanding UE-specific variables in include paths and library paths: $(EngineDir), $(ProjectDir), $(PluginDir), $(ModuleDir).
Change 4231460 by Ben.Marsh
Modules may now explicitly specify rpaths on Linux via the PublicRuntimeLibraryPaths and PrivateRuntimeLibraryPaths properties.
Change 4233909 by Robert.Manuszewski
PR #4779: Reason fails as the supplied variable is incorrect (Contributed by projectgheist)
Change 4233910 by Ben.Marsh
Enable PCHs on IOS. Reduces build time by ~25%.
Change 4234176 by Ben.Marsh
UBT: Add better messaging for modules that need to have a private PCH set. Now detects the likely PCH using the same method as legacy code and includes it as a suggestion.
Change 4234193 by Ben.Marsh
Add the Delete command to Perforce wrapper in DotNETUtilities.
Change 4234688 by Ben.Marsh
UBT: Simplify handling of installed/precompiled builds. Settings for whether a folder is installed/read-only or not is now stored on the RulesAssembly instance, allowing multiple things to be configured separately and stacked together (eg. engine/enterprise/project). RulesAssembly.IsReadOnly() allows determining if a flie can be modified or not and replaces many previous IsXXXInstalledCalls(), and traverses the chain of assemblies.
Change 4234711 by Ben.Marsh
UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).
Example usage (from a .build.cs file):
RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);
Change 4234872 by Ben.Marsh
Expose a flag for whether the engine is installed, to fix issues generating project files.
Change 4234929 by Ben.Marsh
Fix null reference generating receipts when UBT makefiles are active.
Change 4235883 by Chad.Garyet
Merging 4231245 to core
Giving Coordinator its own sln. This should fix what 4158155 was supposed to.
#jira UE-61955
Change 4236075 by Ben.Marsh
CIS fix
Change 4237066 by Robert.Manuszewski
Fix for a potential crash when terminating the engine while it's being initialized
#jira UE-60545
Change 4237078 by Robert.Manuszewski
The engine will no longer be resetting all linkers causing massive load times when renaming the world package when entering Play In Editor
Change 4237116 by Ben.Marsh
Rewrite some Windows utility functions to support paths longer than MAX_PATH.
Change 4237158 by Ben.Marsh
Add const TCHAR* overloads of FString::RemoveFromStart() and FString::RemoveFromEnd().
Change 4237159 by Ben.Marsh
Fix FWindowsPlatformFile::GetFilenameOnDisk() support for paths longer than MAX_PATH, and simplify some of the other long path functions to avoid copying string buffers.
Change 4239050 by Ben.Marsh
Missing file
Change 4239318 by Ben.Marsh
Linux CIS fix.
Change 4239685 by Ben.Marsh
Static analysis CIS fix.
Change 4240800 by Ben.Marsh
WorkspaceTool: Include the full command line in the log for any P4 commands.
Change 4240903 by Ben.Marsh
PR #4909: Update copyright notices to 2018 (Contributed by projectgheist)
Change 4241025 by Ben.Marsh
UBT: Exclude mobile pipeline caches from generated project files. Causes huge slowdown when using 'Find in Files' through the IDE.
Change 4241770 by Ben.Marsh
UBT: Include action number in parallel executor output.
#jira UE-62032
Change 4243469 by Ben.Marsh
TBA: Merge FAnnotatedStructuredArchiveFormatter with FStructuredArchiveFormatter. Any functions that are only implemented for text archives now have a _TextOnly suffix, and are exposed through the FStructuredArchive interface.
Change 4245723 by Robert.Manuszewski
Fixing another creash when terminating the engine while initializing.
#jira UE-60545
Change 4245862 by Steve.Robb
VectorLoadFloat2(Ptr) added, which loads { Ptr[0], Ptr[1], Ptr[0], Ptr[1] } into a VectorRegister.
Change 4246412 by Robert.Manuszewski
The warning 'Calling StaticLoadObject during PostLoad may result in hitches during streaming' will now also report the object which had the PostLoad called on it when StaticLoadObject call happened.
Change 4246612 by Ben.Marsh
UBT: Fix spelling of "Intellisense".
Change 4249454 by Robert.Manuszewski
Added extra checks to catch scenarios where the EDL Precache Buffer is flushed before a package header is fully read
Change 4249513 by Robert.Manuszewski
Made sure the Async Loading Thread doesn't continue running after creating new async packages when garbage collector wants to run on the game thread
Change 4255207 by Ben.Marsh
UGS: Add additional logging whenever a P4 command fails, and when the user is logged out.
Change 4255288 by Ben.Marsh
PR #4921: Honor ModuleRules' bEnableExceptions flag when creating precompiled h. (Contributed by surakin)
Change 4256422 by Ben.Marsh
UBT: Add an error if a module referenced by a plugin descriptor doesn't exist.
Change 4257385 by Robert.Manuszewski
Creating new objects from within ForEachObjectWithOuter will now result in a fatal error as it's unsafe to change internal UObject hash tables when iterating over them.
Change 4257454 by Robert.Manuszewski
Added the option to filter clusters listed with gc.ListClusters by objects within them.
Usage:
gc.ListClusters Hierachy With=ObjectName1,ObjectName2...
Change 4257526 by Robert.Manuszewski
It's now possible to filter clusters that get logged with verbose cluster logging enabled (UE_GCCLUSTER_VERBOSE_LOGGING=1) by objects within them by specifying -DumpClustersWithObjects=ObjectName1,ObjectName2 in the command line
Change 4257822 by Ben.Marsh
Fixes for PlatformShowcase compile errors.
Change 4258771 by Ben.Marsh
UBT: Fix project files not being generated for foreign projects when creating .stub files.
#jira UE-62462
Change 4258790 by Ben.Marsh
UBT: Clean up the logic around generating project files before creating a stub IPA, so that it fails loudly if project files do not exist, and can accept target names not matching project names.
Change 4259276 by Ben.Marsh
UBT: Make it an error if a framework doesn't exist, rather than failing silently. Also remove some remote toolchain stuff that's no longer necessary.
Change 4259280 by Ben.Marsh
UBT: Fix embedded framework zips not being uploaded for plugins.
#jira UE-62485
Change 4260236 by Ben.Marsh
UBT: Fix path to generated engine project file.
Change 4260334 by Ben.Marsh
UGS: Fix custom build steps dialog inadvertantly modifying config file settings in-place.
Change 4260361 by Ben.Marsh
UGS: Allow for p4 login commands to fail, even though the user is logged in (due to a bad connection, etc...)
Change 4260559 by Ben.Marsh
UGS: Update version.
Change 4261160 by Robert.Manuszewski
MediaPlaylist will now be added to root set if the owning MediaPlayer is in the disregard for GC set (fixes GC assumption violation crash)
#jira UE-62495
Change 4261421 by Ben.Marsh
Force-sync files for building documentation, to fix issues with files not being updated.
#jira UE-62413
Change 4261425 by Ben.Marsh
UBT: Remove some leftover functions for handling the remote toolchain.
Change 4261530 by Ben.Marsh
UBT: Speculative fix (and better error reporting) for IOS mobile provision not being found in CIS.
Change 4261611 by Ben.Marsh
UBT: Downgrade warning to a log message, since it appears when generating project files.
Change 4261710 by Ben.Marsh
Remove assert that GLogConsole is set; it won't be for command line utilities that don't depend on ApplicationCore.
#jira UE-62545
Change 4261831 by Ben.Marsh
Fix compile errors due to missing include path when hot-reloading a module from the editor. There are not necessarily source files to compile when -modulewithsuffix is specified on the command line, which was results in GeneratedCodeWildcard not being set.
#jira UE-62463, UE-62384
Change 4262723 by Ben.Marsh
Whitelist plugins that need to be loaded by UFE.
#jira UE-62564
Change 4265444 by Ben.Marsh
Fix incorrect executable name for DebugGame configurations in Xcode.
#jira UE-62574
Change 4265892 by Ben.Marsh
Fix incremental compile failures due to dependency checking for unity files. CachedIncludePaths was not correctly being set on file items, so dependencies were being ignored.
#jira UE-62575, UE-62603, UE-62597
Change 4266019 by Josh.Adams
- Fixed the CopyAction for runtime dependencies that need to be copied to different location, on non-XGE
Change 4266264 by Ben.Marsh
Remove override for the __IPHONE_OS_VERSION_MIN_REQUIRED macro on TVOS.
This macro is already defined by system headers (in <AvailabilityInternal.h>). Now that we support PCHs on IOS and TVOS, manually defining this macro results in it being defined three times (once for the PCH, once by AvailabilityInternal.h, and once by the force-included list of definitions for the source file being built). The errors for redefining the macro in AvailabilityInternal.h are suppressed due to it being a system header, but the error for redefining it for the source file being compiled are not.
#jira UE-62578
Change 4266273 by Ben.Marsh
Fixes incremental build failure when compile arguments for PCH have changed on IOS/TVOS. Compile action needs to have a dependency on PCH build action.
Change 4266614 by Graeme.Thornton
Fix crash when cooking nativized blueprints due to removal of child cooker system.
Change 4266763 by Ben.Marsh
Always build UnrealPak when building client targets. The ProjectParams.Pak option is not reliable, because it can be forced on later by the target platform.
#jira UE-62584
Change 4267985 by Robert.Manuszewski
When iterating with ForEachObjectWithouter, don't lock the entire has table but only the hash bucket that is currently being iterated
#jira UE-62600
Change 4268558 by Robert.Manuszewski
PurgeLegacyBlueprints will no longer be called from within ForEachObjectWithOuter is it renames objects that reside in hash tables that are being iterated over which may lead to undefined behavior.
#jira UE-62600
Change 4269011 by Chad.Garyet
- Fixing Wildcard match issue, the change to ugsapi sends projects as //Depot/Stream instead of //Depot/Stream/
Wildcard match was only substringing to 3 chars.
- Checking in the change a while back that increases the number of queried jobs up to 432 based on some maths from Bob about how many builds we want to grab
Published to ugsapi server 8/8/17
#jira none
Change 4270788 by Ben.Marsh
Fix IOS provisioning data being using when remote compiling on TVOS.
#jira UE-62705
Change 4271916 by Ben.Marsh
Tag the XGEControlWorker executable as a build product after compiling SCW, to make sure it's included in the UGS zip file.
Change 4271934 by Ben.Marsh
Upload all static libraries in plugin folders as part of remote builds.
#jira UE-62694
Change 4273368 by Ben.Marsh
Fix Slate dependencies not being enumerated, and rules assembly not being rebuilt when building remotely.
#jira UE-62705
Change 4274049 by Ben.Marsh
Always parse the team UUID out of the mobile provision when doing a remote compile. The provision installed on the remote Mac (and selected for signing) may be different.
#jira UE-62751
Change 4274823 by Ben.Marsh
Add the -VersionCookedContent argument to disable the -unversioned parameter on the cooker command line.
Change 4275838 by Ben.Marsh
Fix BuildVersion string not being passed through from <SetVersion> task. Also add a -BuildVersion command line argument to UBT to override it for a particular build.
Change 4275913 by Ben.Marsh
Add a dummy exported symbol to the XGEController module, to fix build errors due to missing .lib file when it's built with WITH_XGE_CONTROLLER = 0.
Change 4284161 by Ben.Marsh
Allow mirroring Oodle files to remote Mac.
Change 4074774 by Steve.Robb
Vast simplification of TFunction, making it smaller in footprint, easier to follow and extend, and more correct.
TUniqueFunction added, which is a move-only TFunction which can hold move-only functors.
Fix for UWidgetBlueprint::ForEachSourceWidget() which should never have compiled but did.
FFunctionGraphTask and TFuture<> updated to use TUniqueFunction to make them more general.
TArray::HeapPop() made to work with move-only types.
Change 4082591 by Ben.Marsh
Move the Log class from UBT to DotNetUtilities.
Change 4083236 by Ben.Marsh
Add a Log.WriteException() method to dump an exception message to the console (and write the exception trace to the log)
Change 4084107 by Ben.Marsh
UAT: Remove the unused -SkipHeader argument to UE4Build.
Change 4089771 by Steve.Robb
GitHub #4743 : modified VirtualAlloc function flag
https://blogs.msdn.microsoft.com/oldnewthing/20151008-00/?p=91411
Change 4091456 by Steve.Robb
Unification of all platforms' FMath::CountTrailingZeros() and FMath::CountLeadingZeros() for both 32-bit and 64-bit.
Change 4156437 by Ben.Marsh
Lots and lots of fixes compiling for Clang on Windows.
Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!
* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
* Clang is now supported through AutoSDKs; will be added to CIS.
* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)
Change 4157389 by Ben.Marsh
Few more fixes for compiling the editor with Clang.
Change 4183911 by Ben.Marsh
Fixes to support incremental linking on Windows. Does not seem to have any net benefit right now; may improve once minimal rebuild is enabled.
* Incremental linking no longer forces PDB files to be enabled for source files.
* Actions can specify specific files to be deleted before each build. Code to forcibly delete PDB files has been moved to the MSVC toolchain.
* Unused libraries produced by the cross-referenced link are no longer added as build products, since (a) deleting them breaks dependency checking for incremental linking and causes a full link, and (b) not deleting them breaks UBT dependency checking and causes actions to be run over and over again.
* Icon update is disabled for Windows when incremental linking is enabled.
* Removed rarely-used setting to always delete produced items before each build.
Change 4184311 by Ben.Marsh
UGS: Added a dialog which shows all the required platform SDKs for a branch, linked from the status panel in UGS.
The llist is configured via the UGS config file submitted to Engine/Programs/UnrealGameSync/UnrealGameSync.ini (and may be overridden by the project config file if necessary):
[Default]
; Set this to a network share which contains the SDK installers for your site
SdkInstallerDir=
; All the required SDKs for the current version of the engine
+SdkInfo=(Category="Android", Description="NDK r21", Browse="$(SdkInstallerDir)\\Android")
+SdkInfo=(Category="Windows", Description="Visual Studio 2017")
+SdkInfo=(Category="Windows", Description="Visual C++ Toolchain 14.13.26128")
+SdkInfo=(Category="Windows", Description="Windows SDK 10.0.16299.0")
Similar entries for console platforms are added in console subdirectories. Each entry may contain an Install="Foo.exe" and/or Browse="C:\Foo" style attribute, specifying the path to an installer to run or directory to open in explorer respectively.
The SdkInstallerDir setting is used as a base directory for the default installers, seen above for Android. Licensees may override this with a network path specific to the site that UGS is being deployed to (either in this file, in a project specific config file, or in a Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini file).
Change 4200452 by Ben.Marsh
UBT: Change DebugGame configurations to output a separate executable rather than requiring a -Debug argument at runtime. Previous behavior was a common source of errors.
Engine modules are still shared between Development and DebugGame, but the launch module sets a flag in Core on startup indicating the game configuration.
Change 4206189 by Ben.Marsh
UBT: Simplify logic for precompiling binaries.
* Target no longer has separate list of "precompile only" binaries or modules. New -AllModules option allows adding every module to a target, which can be used with -Precompile and -NoLink to precompile object files for monolithic builds.
* Precompiled file lists have been removed from target receipts.
* The manifest now includes all generated headers and precompiled files when run with the -Precompile option.
* Separate -DependencyList=Foo.txt has been added to write a list of all dependencies required to use precompiled binaries. This file list can be read using the <Tag> task in buildgraph.
Change 4215466 by Ben.Marsh
UBT: Remove indirect calls to determine extensions for object files and precompiled headers. The toolchain knows the correct convention for the platform.
Change 4215975 by Ben.Marsh
UBT: Remove telemetry code. This has never proved useful for analyzing performance due to the number of incidental factors that affect build times (eg. number of files being compiled).
Change 4220154 by Ben.Marsh
Move text-only implementations of FOutputDeviceError back into Core, so we can build command-line applications that don't depend on ApplicationCore.
Change 4224708 by Ben.Marsh
Add a bCompileAgainstApplicationCore setting to the target rules, which allows compiling out references to the ApplicationCore module (which should only be necessary for applications with a GUI). Removed ApplicationCore from several engine tools and utilities.
Change 4224958 by Ben.Marsh
Remove CoreMinimal.h includes from Core.
Change 4229059 by Ben.Marsh
UBT: Remove the UEBuildPlatform.ShouldNotBuildEditor() hook for target platforms. We shouldn't be modifying a target's build environment to disable the editor; it is invalid to build the editor for these target platforms at all, and this is already enforced by the GetSupportedPlatforms() function.
Change 4230508 by Ben.Marsh
Fixup precompiled header setting for samples and games.
Change 4231457 by Ben.Marsh
Fix exceptions in log messages having trailing newlines.
Change 4232406 by Ben.Marsh
UBT: Always force include a PCH for generated code if there's one set; the code may depend on it to compile.
Change 4234177 by Ben.Marsh
Set up private PCH files everywhere that previously used them.
Change 4235973 by Ben.Marsh
Change FPlatformMisc::GetEnvironmentVariable() to return an FString() rather than requiring a fixed size buffer to be passed in. Removes references to MAX_PATH.
Change 4238842 by Ben.Marsh
Add support for paths longer than MAX_PATH in the editor. Requires Windows 10 version 1607, and the functionality to be enabled via a registry key or group policy (see https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file).
Only a subset of Win32 functions support long paths (executables can only be started from paths shorter than MAX_PATH, for example).
* Added a FPlatformMisc::GetMaxPathLength() function to return the maximum length of a path on the current system. On Windows, this returns a different value for systems with long paths enabled to those without.
* The MAX_PATH define is no longer set by non-Windows platforms. Instead, there is a MAC_MAX_PATH, UNIX_MAX_PATH, etc... for any platform-specific code that still relies on the previous macro.
* The MAX_UNREAL_FILENAME_LENGTH macro has been renamed to MAX_UNREAL_FILENAME_LENGTH_DEPRECATED
* The PLATFORM_MAX_FILEPATH_LENGTH macro has been renamed to PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED.
* Removed custom resource files for programs, since they are just copies of the base UE4 one (which is used by default anyway). The base UE4 manifest declares support for long paths.
* Fix 512 character maximum length on editor commands.
260 character limit remains in place for cooking at the moment (see ContentBrowserUtils.h), until C# staging code supports long paths.
Change 4255042 by Ben.Marsh
UBT: Remote compilation now uploads the entire workspace to the remote Mac and executes a separate remote instance of UBT rather than synchronizing individual actions. This makes the remote compile codepath much simpler, and removes a lot of special cases that exist to support it previously.
The list of files to be transferred to the remote are listed as rsync filter rules in Engine/Build/Rsync/RsyncEngine.txt and RsyncProject.txt, which are applied to the root engine directory and project directory respectively. Projects that need to customize which files are uploaded can add their own <ProjectDir>/Build/Rsync/RsyncProject.txt file, which will be included in the filter before the default version.
Change 4260567 by Ben.Marsh
UAT: Rename CommandUtils.Log to CommandUtils.LogInformation, to avoid conflicts with the underlying Tools.DotNETCommon.Log class.
#rb none
[CL 4285673 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
#lockdown nick.penwarden
#rb none
Change 3235667 on 2016/12/14 by Max.Preussner
Media: Moved enums into separate header file, so they can be shared
Change 3259266 on 2017/01/16 by Max.Preussner
Core: Added timespan ratio
Change 3267229 on 2017/01/21 by Max.Preussner
Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed
Change 3274773 on 2017/01/27 by Max.Preussner
Core: Added TLruCache template
Change 3281579 on 2017/02/01 by Max.Preussner
Core: Added scalar division to FTimespan
Change 3289522 on 2017/02/07 by Max.Preussner
MediaAssets: Added looping for play lists
Change 3290664 on 2017/02/07 by Max.Preussner
Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.
Change 3290688 on 2017/02/07 by Max.Preussner
MediaAssets: Notifying materials when media texture properties changed.
Change 3291171 on 2017/02/07 by Max.Preussner
MediaAssets: Filtering unused UTexture properties
Change 3291229 on 2017/02/07 by Max.Preussner
ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0
Change 3298520 on 2017/02/11 by Max.Preussner
Sequencer: Fixed skylight and reflection components off by one frame in PIE
Change 3298778 on 2017/02/12 by Max.Preussner
MediaUtils: Experimenting with dynamic pitch adjustment
Change 3298987 on 2017/02/13 by Max.Chen
Editor: Add matrix and transform properties to property editor test object
Change 3298997 on 2017/02/13 by Max.Chen
Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
- Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
- Added percentage unit type
- Multiplier unit types can now be converted between
Change 3298998 on 2017/02/13 by Max.Chen
Editor: Conversion between multiplier (1.5x) and percentage (150%) units is now possible
Change 3348678 on 2017/03/15 by Max.Preussner
Media: Added Buffering media event
Change 3355268 on 2017/03/20 by Max.Preussner
Core: TQueue documentation updates
Change 3359055 on 2017/03/22 by Max.Preussner
Portal: Removed dependency to Messaging.h
Change 3359060 on 2017/03/22 by Max.Preussner
Messaging: Modernization pass
- added missing includes & forward declarations
- include what you use
- deprecated shared pointer typedefs
- replaced some delegates with callback interfaces
- documentation fixes
Change 3359189 on 2017/03/22 by Max.Preussner
Automation: Modernization pass
- include what you use
- removed molothic header
- documentation fixes
#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory
Change 3359718 on 2017/03/22 by Max.Preussner
Messaging: Moved common helper classes into MessagingCommon module
#upgradenotes: If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").
Change 3359793 on 2017/03/23 by Max.Preussner
TargetDeviceServices: Modernization pass
- include what you use
- removed boilerplate header
- deprecated selected shared pointer typedefs
- reorganized files
- documentation fixes
Change 3361028 on 2017/03/23 by Max.Preussner
DeviceManager: Modernization pass
- include what you use
- reduced shared pointer typedef usage
- documentation fixes
Change 3361197 on 2017/03/23 by Max.Preussner
Messaging: Waking up message router thread on shutdown
Change 3361246 on 2017/03/23 by Max.Preussner
AutomationWindow: Removed boilerplate header
#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h
Change 3361428 on 2017/03/23 by Max.Preussner
AutomationController: Removed boilerplate header
#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.
Change 3363206 on 2017/03/24 by Max.Preussner
ProfileLauncher: Modernization pass
- include what you use (selected files)
- reduced shared pointer typedef usages
- removed dead code
- cleaned up file organization
- documentation fixes
Change 3363290 on 2017/03/24 by Max.Preussner
LauncherServices: Removed boilerplate header
#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes
Change 3363305 on 2017/03/24 by Max.Preussner
LauncherCheck: Removed boilerplate header
#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions
Change 3363708 on 2017/03/24 by Max.Preussner
ImageWrapper: Removed boilerplate header
#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes
Change 3363966 on 2017/03/24 by Max.Preussner
ImageWrapper: Modernization pass
- include what you use
- reorganized internal files
- documentation fixes
Change 3364579 on 2017/03/24 by Max.Preussner
ImageWrapper: Deprecated shared pointer typedef and removed usages
#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr
Change 3364582 on 2017/03/24 by Max.Preussner
NetworkFileSystem: Removed monolithic boilerplate header
#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes
Change 3381440 on 2017/04/05 by Max.Preussner
Oculus: Removed illegal pragmas
Change 3391731 on 2017/04/12 by Max.Preussner
ImgMedia: Added support for BMP, JPG and PNG image sequences
Change 3401146 on 2017/04/19 by Max.Preussner
Core: Cleanup pass for FTimespan usages; updated documentation
When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.
Change 3401504 on 2017/04/20 by Max.Preussner
MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds
Change 3401833 on 2017/04/20 by Max.Preussner
Core: Various improvements to FTimespan
- added proper serialization
- updated documentation
- access fractions as milli-, micro- or nanoseconds
- removed the following string formatters as they were not useful: %D %H %M %S %F
- updated documentation
#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.
#jira UE-43990
#jira UE-44163
Change 3437543 on 2017/05/12 by Max.Preussner
PS4Media: Added audio error codes conversion
Change 3446564 on 2017/05/18 by Max.Preussner
Networking: Fixed nullpointer crash if socket initialization fails
Change 3459978 on 2017/05/25 by Max.Preussner
ImgMedia: Renamed frame cache to frame loader
Change 3463311 on 2017/05/26 by Max.Preussner
Core: Added iterators & predicate based methods to LRU Cache
Change 3464452 on 2017/05/29 by Max.Preussner
ImgMedia: Added video sample output
Change 3464468 on 2017/05/29 by Max.Preussner
Media: Added separate cache visualization for loaded and cached samples
Change 3464592 on 2017/05/29 by Max.Preussner
Core: Added TLruCache::FindAndTouch
Change 3464607 on 2017/05/29 by Max.Preussner
Core: Added TRange::Inclusive / ::Exclusive
Change 3464608 on 2017/05/29 by Max.Preussner
Media: Fixed incorrect upper bound in support play rates of various players
Change 3466732 on 2017/05/30 by Max.Preussner
ImgMedia: Added image compression type to info string
Change 3466871 on 2017/05/31 by Max.Preussner
WmfMedia: Fixed session capabilities not showing up; added initialization logging
Change 3467785 on 2017/05/31 by Max.Preussner
MfMedia: Fixed sample stride calculated from media input instead of output
Change 3467963 on 2017/05/31 by Max.Preussner
WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly
Change 3468110 on 2017/05/31 by Max.Preussner
WmfMedia: Added MPEG-2 media sub types to utils
Change 3468516 on 2017/05/31 by Max.Preussner
AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)
Change 3468554 on 2017/05/31 by Max.Preussner
MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded
Change 3468627 on 2017/05/31 by Max.Preussner
ImgMedia: Allowing for auto-selection of EXR decoder thread count
Change 3468648 on 2017/05/31 by Max.Preussner
ImgMedia: Reorganized OpenExrWrapper files
Change 3471789 on 2017/06/02 by Max.Preussner
WmfMedia: Fixed potential concurrency issue in session state management
Change 3472918 on 2017/06/03 by Max.Preussner
Core: Allowing zero sized LRU cache; added default constructor
Change 3472919 on 2017/06/03 by Max.Preussner
Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching
Change 3473704 on 2017/06/05 by Max.Preussner
AndroidMedia: Added settings class
Change 3474407 on 2017/06/05 by Max.Preussner
AndroidMedia: Implemented video sample processing
Change 3474934 on 2017/06/05 by Max.Preussner
ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)
#jira UE-45705
Change 3476925 on 2017/06/06 by Max.Preussner
Media: Added return values to media view interface; documentation fixes
Change 3477158 on 2017/06/06 by Max.Preussner
SwitchMedia: Implemented sample pooling
Change 3477201 on 2017/06/07 by Max.Preussner
PS4Media: Implemented video sample pooling
Change 3481470 on 2017/06/08 by Max.Preussner
Media: Fixed time stamps not set in recycled texture samples
Change 3481472 on 2017/06/08 by Max.Preussner
MediaAssets: Fixed no video samples fetched while player is in buffering state
Change 3481473 on 2017/06/08 by Max.Preussner
MediaUtils: Added default constructor to MediaSampleQueue
Change 3481584 on 2017/06/08 by Max.Preussner
MediaUtils: Paused state is considered forward for sample lookup as this is the common case.
Change 3481588 on 2017/06/08 by Max.Preussner
PS4Media: Redesigned the PS4 media player to support async file loading & track switching
Change 3481627 on 2017/06/08 by Max.Preussner
PS4Media: Opening media sources in thread pool if not precaching
Change 3481666 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed SequencePath property file picker always opening default path
Change 3481669 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed crash when quering cache state of empty image sequence
Change 3481685 on 2017/06/08 by Max.Preussner
ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)
#jira UE-45719
Change 3483623 on 2017/06/10 by Max.Preussner
Media: Added getters for 360 view settings; added support for relative view updates
Change 3483624 on 2017/06/10 by Max.Preussner
Media: Added Blueprint support for 360 videos
Change 3483626 on 2017/06/10 by Max.Preussner
MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.
Change 3483627 on 2017/06/10 by Max.Preussner
Core: Using system start time instead of current time for renamed log file names
Change 3483630 on 2017/06/10 by Max.Preussner
Core: Grouping log files by log name and processing each group separately when deleting old log files
Change 3483816 on 2017/06/10 by Max.Preussner
WmfMedia: Detecting audio device availability to prevent lockup of audio tracks
Change 3483939 on 2017/06/11 by Max.Preussner
AvfMedia: Finished Media Framework 3.0 upgrade
- overhauled track switching
- removed render thread flushes
- reduced nesting
- code cleanup pass
Change 3483940 on 2017/06/11 by Max.Preussner
Media: Consistent track switching behavior across platforms
Change 3484172 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Removed obsolete asset type actions
Change 3484180 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture
Change 3484248 on 2017/06/11 by Max.Preussner
MediaAssets: Media players now always have a playlist
Change 3484249 on 2017/06/11 by Max.Preussner
MediaPlayerEditor: Added UI controls to Playlist tab
Change 3484250 on 2017/06/11 by Max.Preussner
Media: Implemented overlay sample caching
Change 3484252 on 2017/06/11 by Max.Preussner
WmfMedia: Enabled support for .smi and .sami subtitle files
Change 3485433 on 2017/06/12 by Max.Preussner
ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it
Change 3485720 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Added ability to save playlists
Change 3485828 on 2017/06/12 by Max.Preussner
AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread
Change 3485926 on 2017/06/12 by Max.Preussner
MediaUtils: Draining all unconsumed samples at the end of a frame
Change 3486043 on 2017/06/12 by Max.Preussner
Media: Consistent behavior for playlist navigation (UE-45964)
#jira UE-45964
Change 3486104 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Implemented simple overlay text positioning
Change 3486145 on 2017/06/12 by Max.Preussner
AndroidMediaPlayer: Moved video sample handling into render thread
Change 3486147 on 2017/06/12 by Max.Preussner
MediaPlayerEditor: Moved overlay texts into separate layer
Change 3486188 on 2017/06/12 by Max.Preussner
Media: Enabling media factory modules in Editor for all players
Change 3486223 on 2017/06/12 by Max.Preussner
Media: Defaulting players to select first audio and video tracks by default
Change 3486473 on 2017/06/13 by Max.Preussner
Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)
Change 3486475 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing busy bar when buffering or preparing
Change 3487237 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed video sample not getting processed on render thread
Change 3487507 on 2017/06/13 by Michael.Trepka
AvfMedia - small cleanup of the code for passing video frame rate to the video sampler
Change 3487719 on 2017/06/13 by Michael.Trepka
Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH
Change 3487842 on 2017/06/13 by Max.Preussner
AndroidMedia: Fixed texture swizzle disabled on non-Engine builds
Change 3488006 on 2017/06/13 by Michael.Trepka
AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file
Change 3488308 on 2017/06/13 by Chris.Babcock
AndroidMedia: Fixed flicker issue
#jira UE-45736
Change 3488335 on 2017/06/13 by Max.Preussner
MediaAssets: Made UFileMediaSource::GetFullPath public
Change 3488338 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources
Change 3488339 on 2017/06/13 by Max.Preussner
MediaPlayerEditor: Showing a throbber when buffering player
Change 3488768 on 2017/06/14 by Max.Preussner
Core: Inlined FTimespan static functions
hange 3490203 on 2017/06/14 by Max.Preussner
Core: Force inlined TComPtr operators
Change 3494083 on 2017/06/15 by Chris.Babcock
AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
#jira UE-46086
Change 3497017 on 2017/06/16 by Max.Preussner
MediaAssets: Playlists now auto advance with PlayOnOpen off
Change 3497075 on 2017/06/17 by Chris.Babcock
MediaPlayer Sampler node and external texture support for Android MediaPlayer
- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
- supports MediaSample node in material editor with scale/bias handled if above flag enabled
- fixed looping problems, including eventual crashes
- track switching fixed (lockups and missing video)
- corrected resource leaks and crash switching maps
#jira UE-46055
#jira UE-45744
#jira UE-46086
Change 3497163 on 2017/06/17 by Max.Preussner
MediaUtils: Processing media events immediately if on game thread
Change 3497170 on 2017/06/17 by Max.Preussner
Media: All Media Framework interfaces are pure virtual
Change 3498603 on 2017/06/19 by Ben.Marsh
UBT: Prevent plugins which list modules multiple times from adding them twice.
Change 3500870 on 2017/06/20 by Max.Preussner
WmfMedia: Rewrote WMF state machine; now with track switching
#jira UE-20209
#jira UE-35385
#jira UE-38337
#jira UE-45676
Change 3502181 on 2017/06/20 by Chris.Babcock
MediaSampler node updates
- fixed issue with ExternalTexture singleton for DLL compatiblity
- now works for all players (registers texture samples with ExternalTexture by player GUID)
- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler
Change 3503182 on 2017/06/21 by Max.Preussner
Media: Refactored status flags into an enum; exposed connecting status
Change 3503724 on 2017/06/21 by Chris.Babcock
Improvement in MediaPlayer Sampler node
- RGB, R, G, B, A output pins like normal texture sampler
- allow preview in material editor
- fix OES detection for Android
Change 3509088 on 2017/06/26 by Max.Preussner
MediaAssets: Added AddFile and AddUrl to UMediaPlaylist
Change 3510256 on 2017/06/26 by Max.Preussner
WmfMedia: Fixed play rate not set to zero when end reached
Change 3510273 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Removed obsolete Slate culling rectangle code
Change 3510413 on 2017/06/26 by Max.Preussner
MediaPlayerEditor: Showing frame rate if available
Change 3510533 on 2017/06/26 by Max.Preussner
MediaUtils: Preventing media cache filling up when scrubbing
Change 3510859 on 2017/06/26 by Max.Preussner
PS4Media: Fixed track switching crashes (UE-45960)
#jira UE-45960
Change 3514173 on 2017/06/28 by Max.Preussner
WmfMedia: Optimized player capabilities check
Change 3514174 on 2017/06/28 by Max.Preussner
WmfMedia: Moved media source resolver code into utility class
Change 3514714 on 2017/06/28 by Max.Preussner
Core: Added TComPointer.IsValid; code cleanup pass
Change 3517912 on 2017/06/30 by Max.Preussner
MediaUtils: Added GetVideoAspectRatio to player facade
Change 3524957 on 2017/07/06 by Max.Preussner
ImgMedia: Decoding image frames only when video track is selected
Change 3525252 on 2017/07/06 by Max.Preussner
ImgMedia: Async image sequence initialization
Change 3525266 on 2017/07/06 by Max.Preussner
ImgMedia: Enabled reverse playback
Change 3525722 on 2017/07/06 by Max.Preussner
WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport
Change 3525800 on 2017/07/07 by Max.Preussner
WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.
Change 3525801 on 2017/07/07 by Max.Preussner
MediaPlayerEditor: Made scrubbing more responsive
Change 3526500 on 2017/07/07 by Max.Preussner
WmfMedia: Using NULL for Windows pointers
Change 3527323 on 2017/07/07 by Max.Preussner
WmfMedia: Added support for audio and video capture media sources
Change 3530197 on 2017/07/10 by Max.Preussner
WmfMedia: Added utility functions for enumerating audio and video capture devices
Change 3533465 on 2017/07/12 by Max.Preussner
Media: Added media capture device support API & implementation for WMF
Change 3533469 on 2017/07/12 by Max.Preussner
MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar
Change 3533540 on 2017/07/12 by Max.Preussner
MediaAssets: Blueprint support for media capture device discovery
Change 3533574 on 2017/07/12 by Max.Preussner
WmfMedia: Using cached supported play rates; more strict pausing support check
Change 3533924 on 2017/07/12 by Max.Preussner
WmfMedia: Added global LowLatency setting (UEVR-859)
Note that this setting is only supported when compiling for Windows 8 or newer.
Change 3534027 on 2017/07/12 by Max.Preussner
WmfMedia: Compile time support for low latency session attribute on < Windows8
#jira UEVR-859
Change 3538744 on 2017/07/14 by Max.Preussner
MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource
Change 3542818 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed race condition on session shutdown
Change 3543082 on 2017/07/18 by Max.Preussner
WmfMedia: Fixed track selection in media that doesn't support seeking
Change 3543092 on 2017/07/18 by Max.Preussner
Media: Implemented media track format API
Enables multiple formats per media track. By default, the first usable format is selected.
This feature is currently only implemented for WmfMedia. All other players assume a single format per track.
Change 3543794 on 2017/07/19 by Max.Preussner
WmfMedia: Added string conversion for null GUIDs
Change 3543796 on 2017/07/19 by Max.Preussner
MfMedia: Copied GUID string conversion updates from WmfMedia
Change 3543797 on 2017/07/19 by Max.Preussner
WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support
Change 3544390 on 2017/07/19 by Max.Preussner
Media: Allowing INDEX_NONE as 'current selection' index in track format related functions
Change 3545368 on 2017/07/19 by Max.Preussner
WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting
Change 3545388 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed RGB input sources rendered upside down
Change 3545430 on 2017/07/19 by Max.Preussner
MediaAssets: Fixed incorrect sRGB conversion on BMP inputs
Change 3547362 on 2017/07/20 by Max.Preussner
Core: Added IsGraph and IsPrint to TCHAR utilities
Change 3547376 on 2017/07/20 by Max.Preussner
WmfMedia: Better log messages for non-standard video types (UE-47533)
#jira UE-47533
Change 3547404 on 2017/07/20 by Max.Preussner
QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)
#jira UE-47542
Change 3547466 on 2017/07/20 by Max.Preussner
WmfMedia: Fixed edge case for detecting whether pause is available
Change 3548742 on 2017/07/21 by Max.Preussner
Media: Added API for changing the input frame rate
Change 3548743 on 2017/07/21 by Max.Preussner
WmfMedia: Implemented ability to change input frame rate
Change 3554411 on 2017/07/25 by Max.Preussner
AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property
Change 3554818 on 2017/07/25 by Max.Preussner
Media: Added per track-type cache queries
Change 3557284 on 2017/07/26 by Max.Preussner
WmfMedia: Added buffer size check in texture sample as well
Change 3560530 on 2017/07/27 by Max.Preussner
WmfMedia: Made COM object destructors private and added assertions
Change 3560580 on 2017/07/27 by Max.Preussner
MediaUtils: Added method for querying number of objects in pool
Change 3562572 on 2017/07/28 by Max.Preussner
WmfMedia: Properly handling topology status errors when opening media
Change 3576710 on 2017/08/08 by Chris.Babcock
bug fixes for mediaplayer
- rare cases in Android media tracks
- make FMediaCaptureDevice members available in blueprints
Change 3577736 on 2017/08/08 by Chris.Babcock
Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)
Change 3578831 on 2017/08/09 by Max.Preussner
MediaAssets: Made media sound component BP spawnable
Change 3579210 on 2017/08/09 by Max.Preussner
UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults
Change 3579547 on 2017/08/09 by Chris.Babcock
Better support for Android external texture detection
Change 3579567 on 2017/08/09 by Chris.Babcock
Android camera plugin
#jira UEMOB-215
Change 3580035 on 2017/08/10 by Andrew.Rodham
Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
- Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
- Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
- Made UTexture::GetMaterialType const-correct
#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.
Change 3581552 on 2017/08/10 by Chris.Babcock
Use bilinear sampling instead of point for external texture (Android media and camera)
Change 3581628 on 2017/08/10 by Max.Preussner
Core: Fixed FTimespan import/export/copypaste (UE-43990)
#jira UE-43990
#jira UE-44163
Change 3581909 on 2017/08/11 by Andrew.Rodham
Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
- This prevents destroyed proxies from remaining in the texture registry
#jira UE-48307
Change 3582451 on 2017/08/11 by Max.Preussner
AudioMixer: Fixed initialization order of synth components
This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.
#jira UE-48055
Change 3582453 on 2017/08/11 by Max.Preussner
MediaAssets: Enabling ticking in media sound component (UE-48055)
#jira UE-48055
Change 3583101 on 2017/08/11 by Chris.Babcock
Android camera improvements
- return correct capture device type (webcamfront/rear)
- remove seek (not supported)
- support track formats
- better framerate selection
Change 3590109 on 2017/08/16 by Chris.Babcock
Move external texture coordinate update to improve accuracy and save a uniform in final shader
Change 3590530 on 2017/08/16 by Max.Preussner
MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks
#jira UE-48166
Change 3590547 on 2017/08/16 by Max.Preussner
MediaPlayerEditor: Ticking sound component directly
Change 3590628 on 2017/08/16 by Max.Preussner
Switch: Fixed media decoder asserting when attempting to pause without having started
Change 3591816 on 2017/08/16 by Aaron.McLeran
#jira UE-48470 Disabling async processing for procedural sound waves on mac.
Change 3592266 on 2017/08/16 by Max.Preussner
Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia
This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.
#jira UE-48474
#jira UE-45677
Change 3592355 on 2017/08/17 by Max.Preussner
MediaUtils: Added sample sink collection to remove code duplication
Change 3592739 on 2017/08/17 by Max.Preussner
ImgMedia: Fetching only one video sample per frame
Change 3592741 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample fetching when paused
Change 3592761 on 2017/08/17 by Max.Preussner
MediaUtils: Fixed overflow detection in sample sinks
Change 3592762 on 2017/08/17 by Max.Preussner
ImgMedia: Sending end reached event when looping
Change 3592885 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed reverse play
Change 3592887 on 2017/08/17 by Max.Preussner
MediaUtils: Better sample range calculation for audio samples
Change 3593010 on 2017/08/17 by Max.Preussner
ImgMedia: Fixed async loading of non-EXR image sequences
Change 3593193 on 2017/08/17 by Max.Preussner
AndroidMedia: Fixed typo
Change 3593230 on 2017/08/17 by Max.Preussner
Media: Implemented flushing for player sample queues
Change 3593346 on 2017/08/17 by Max.Preussner
Media: Proper sample processing for reverse playback
Change 3593482 on 2017/08/17 by Max.Preussner
Switch: Fixed sample range check for reverse playback
Change 3594428 on 2017/08/17 by Max.Preussner
PS4Media: Fixed video not playing/crashing
#jira UE-48547
#jira UE-48549
Change 3595404 on 2017/08/17 by Max.Preussner
MediaAssets: Not requesting audio samples if not playing
#jira UE-48557
Change 3595624 on 2017/08/17 by Max.Preussner
PS4Media: Fixed no looping after track switching
#jira UE-46524
#jira UE-48557
Change 3595704 on 2017/08/17 by Max.Preussner
MediaUtils: Improved sample queue flushing
Eventually this needs to be event-driven.
#jira UE-48557
Change 3595706 on 2017/08/17 by Max.Preussner
PS4Media: Flushing queues when track switching
#jira UE-48557
Change 3595909 on 2017/08/17 by Max.Preussner
Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
https://github.com/EpicGames/UnrealEngine/pull/3382
#jira UE-42906
#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)
Change 3597480 on 2017/08/18 by Max.Preussner
ImgMediaPlayer: Fixed presentation time calculation for very large delta times
Change 3597669 on 2017/08/18 by Max.Preussner
ImgMedia: Setting player stopped instead of paused when end reached
Change 3597709 on 2017/08/18 by Max.Preussner
SwitchMedia: Fixed audio sample duration calculation
Change 3598479 on 2017/08/18 by Max.Preussner
ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging
Change 3598629 on 2017/08/18 by Max.Preussner
MediaUtils: Properly handling pending flushes when peeking sample queues
Change 3598633 on 2017/08/18 by Max.Preussner
WmfMedia: Fixed occasional WMF deadlock when scrubbing
Change 3598653 on 2017/08/18 by Max.Preussner
MediaUtils: Fixed audio resampling in reverse playback
Change 3598659 on 2017/08/18 by Max.Preussner
MediaPlayerEditor: Creating sound output only if audio device available
Change 3598688 on 2017/08/18 by Max.Preussner
MediaUtils: Flushing sample queues on direction change regardless of paused state
Change 3599444 on 2017/08/20 by Max.Preussner
WmfMedia: Added missing check for rate control when quering supported rates
Change 3603661 on 2017/08/22 by Max.Preussner
WmfMedia: Fixed NV12 output
Change 3604345 on 2017/08/23 by Max.Preussner
MediaUtils: Added subtitle samples to media sample collection; fixed documentation
Change 3604987 on 2017/08/23 by Max.Preussner
PS4Media: Setting correct track format types
Change 3605117 on 2017/08/23 by Joe.Barnes
Fix issue where presentation time was being treated as milliseconds instead of microseconds.
Change 3605128 on 2017/08/23 by Joe.Barnes
Fix potential issue calculating total (looped) play time after seek or reset.
Track last video presentation time
Change 3605139 on 2017/08/23 by Joe.Barnes
Support audio type DType_Setup.
Fix issue with procedural sounds popping. Consume more samples if necessary.
#jira ue-48544
Change 3605197 on 2017/08/23 by Max.Preussner
Media: Fixed track display name formatting (UE-48767)
#jira UE-48767
Change 3605817 on 2017/08/23 by Max.Chen
Auto set sampler type on drop on actor.
#jira UE-48769
Change 3605999 on 2017/08/23 by Max.Preussner
MfMedia: Restarting source reader when switching tracks
#jira UE-48766
Change 3606416 on 2017/08/23 by Max.Preussner
PS4Media: Various player improvements
#jira UE-48586
Change 3607656 on 2017/08/24 by Max.Preussner
WmfMedia: Improved logging for Seek and SetRate
Change 3607855 on 2017/08/24 by Max.Preussner
MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\
#jira UE-48766
Change 3608029 on 2017/08/24 by Max.Preussner
PS4Media: Fixed streaming media not playing; improved result checks & logging
#jira UE-48610
Change 3608473 on 2017/08/24 by Max.Preussner
MfMedia: Fixed audio sample duration calculation
#jira UE-48756
Change 3609316 on 2017/08/24 by Chris.Babcock
Provide external texture RotationScale and Offset from sample
Change 3610067 on 2017/08/25 by Richard.Wallis
Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.
- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track. Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.
#jira UE-48590, UE-48604
Change 3610267 on 2017/08/25 by Max.Preussner
PS4Media: Added missing track selection validation
#jira UE-48765
Change 3610399 on 2017/08/25 by Max.Preussner
PS4Media: Fixed infinite player re-initialization loop if track selection failed
Change 3610809 on 2017/08/25 by Chris.Babcock
Fixes for Android media player and camera player
- buffer samples copy proper bytecount
- realloc sets new buffer ptr
- refcount of Java buffers fixed
Change 3610953 on 2017/08/25 by Chris.Babcock
Fix audio disable before play on Android media player
Change 3611405 on 2017/08/25 by Max.Preussner
WmfMedia: Resetting supported rates if RateSupport unavailable
Change 3611406 on 2017/08/25 by Max.Preussner
MfMedia: Resetting supported rates if RateSupport unavailable
Change 3611453 on 2017/08/25 by Chris.Babcock
Android external texture extension updates for compatibility
Change 3611719 on 2017/08/26 by Max.Preussner
Media: Added media event for completed seek operations; flushing sinks on seek
Change 3611764 on 2017/08/26 by Max.Preussner
AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously
Change 3611802 on 2017/08/26 by Max.Preussner
Media: Exposed error state in media player
Change 3611803 on 2017/08/26 by Max.Preussner
MediaPlayerEditor: Showing error state in UI
Change 3611887 on 2017/08/26 by Max.Preussner
MediaUtils: Corrected media sample sink overflow check
Change 3611892 on 2017/08/27 by Max.Preussner
WmfMedia: Leaving session in error state after error
Change 3611929 on 2017/08/27 by Max.Preussner
MediaPlayerEditor: Fixed sound stopping on looping
Change 3611930 on 2017/08/27 by Max.Preussner
MfMedia: Rewrote async sample processing to fix various playback issues
Change 3611942 on 2017/08/27 by Max.Preussner
Media: Sending suspension event when playback ended
Change 3611957 on 2017/08/27 by Max.Preussner
UnrealEd: Allowed transient assets to be resaved to disk
Change 3611981 on 2017/08/27 by Max.Preussner
PS4Media: Rewrote sample processing to fix various playback issues
#jira UE-48596
#jira UE-48793
Change 3612035 on 2017/08/27 by Max.Preussner
UnrealEd: Picking standard default names when resaving transient packages
Change 3612045 on 2017/08/27 by Max.Preussner
Media: Fixed playlists not getting saved correctly from Editor (UE-35382)
#jira UE-35382
Change 3612212 on 2017/08/28 by Richard.Wallis
Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off. Current Rate was not getting reset back to 0.0 on media close.
#jira UE-47602
Change 3613531 on 2017/08/28 by Max.Preussner
MediaAssets: Fixed external texture related crash on shutdown (UE-48918)
Also no longer creating clock sink for media player CDO
#jira UE-48918
Change 3613677 on 2017/08/28 by Andrew.Porter
Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object
#jira UE-48937
Change 3615917 on 2017/08/29 by Max.Preussner
MfMedia: Added compile options for DXVA and falling back to synchronous sample reading
[CL 3617655 by Max Chen in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3494741 by Steve.Robb
Generated code size savings.
#jira UE-43048
Change 3495484 by Steve.Robb
Fix for generated indices of static arrays when saving configs.
Change 3497926 by Robert.Manuszewski
Removed FPackageFileSummary's CompressedChunks array as it was no longer being used by anything.
Change 3498077 by Robert.Manuszewski
Only use the recursion guard in async loading code when the event driven loader is enabled.
Change 3498112 by Ben.Marsh
UBT: Respect the option to not create debug info in the Android toolchain. This option is already being respected by the compiler, but the linker adds debug info of its own.
Change 3500239 by Robert.Manuszewski
Made sure the Super Class token stream is also locked when assembling Class token stream with async loading thread enabled. This to to prevent race conditions when loading BP classes.
Change 3500395 by Steve.Robb
Extra codegen savings when not in hot reload.
Change 3501004 by Steve.Robb
EObjectFlags now have constexpr operators.
Change 3502079 by Ben.Marsh
UBT: Pad multi-line error messages so that they align under the prefix for the first line, and include the timestamp if necessary.
Change 3502527 by Steve.Robb
Fix for zero-sized array compile error in generated code when all functions are editor-only.
Change 3502542 by Ben.Marsh
UAT: Remove the custom source parameter from log functions, and add support for a customizable indent instead.
Change 3502868 by Steve.Robb
Workaround for inefficient generated code with stateless lambdas on Clang.
Change 3503550 by Steve.Robb
Another generated code lambda optimization.
Change 3503582 by Ben.Marsh
BuildGraph: Add support for nullable parameter types.
Change 3504424 by Steve.Robb
New AllOf, AnyOf and NoneOf algorithms.
Change 3504712 by Ben.Marsh
UAT: Less spammy log and error output from UAT.
* Callstacks for AutomationExceptions are suppressed by default but still included in the log (the path to the log is noted in console output with the message from the exception).
* Add a mechanism for any exceptions to be caught and rethrown with additional lines of context (CommandUtils.AddContext()) that will be appended to the error output by UAT. Avoids decaying the exception type or masking the inner exception message while still adding additional information.
* AggregateExceptions resulting from exceptions on child threads are automatically unwrapped (full details are still appended to the log)
* Name of the calling function is not included in console output by default, but still included in the log.
Change 3504808 by Ben.Marsh
UAT: Suppress P4 output when running a recursive instance of UAT.
Change 3505044 by Steve.Robb
Code generation improved for TCppClassType code.
Change 3505485 by Ben.Marsh
Fix deterministic cooking issue; always use a pseudo-random number stream when compiling a module.
Change 3505699 by Ben.Marsh
Plugins: Store the bEnabledByDefault flag exactly as it was read from disk rather than collapsing it to an absolute value based on the default for the location it was read from. This allows loading/saving plugin descriptors without any knowledge of whether they are game or engine plugins.
Change 3506055 by Ben.Marsh
UAT: Add a class to apply a log indent for the lifetime of an object (ScopedLogIndent), and use it to apply an indent to MegaXGE/ParallelExecutor output.
Change 3507745 by Robert.Manuszewski
Moved FSimpleObjectReferenceCollectorArchive and FSimpleObjectReferenceCollectorArchive to be internal archives used only by FReferenceCollector so that they are constructed only once per GC task instead of potentially multiple times per GC (as was the case with UDataTables and BlueprintGeneratedClasses).
Change 3507911 by Ben.Marsh
Plugins: Minor changes to plugin descriptors.
* Add a distinct setting for an unspecified EnabledByDefault setting in plugin descriptors.
* Add a function to IPlugin to determine the effective EnabledByDefault setting, based on where the plugin was loaded from.
Change 3508669 by Ben.Marsh
EC: Parse multi-line messages from UBT and UAT.
Change 3508691 by Ben.Marsh
Fix double-spacing of cook stats.
Change 3509245 by Steve.Robb
UHT makefiles removed.
Flag audit removed.
Change 3509275 by Steve.Robb
Fix for mismatched stat categories in AudioMixer.
#jira UE-46129
Change 3509289 by Robert.Manuszewski
Custom Version Container will no longer be always constructed in FArchive constructor. This reduces the number of the Custom Version Container allocations considerably.
Change 3509294 by Robert.Manuszewski
UDataTable::AddReferencedObjects will no longer try to iterate over the RowMap if there's no UObject references in it.
Change 3509312 by Steve.Robb
GitHub# 3679: Add TArray constructor that takes a raw pointer and a count
Check improved for Append() to allow nullptr in empty ranges, and added to new constructor too.
#jira UE-46136
Change 3509396 by Steve.Robb
GitHub# 3676: Fix TUnion operator<< compile error
#jira UE-46099
Change 3509633 by Steve.Robb
Fix for line numbers on multiline macros.
Change 3509938 by Gil.Gribb
UE4 - Fix rare assert involving cancelled precache requests and non-pak-file loading.
Change 3510593 by Daniel.Lamb
Fixed up unsoilicited files getting populated with files which aren't finished being created yet.
#test None
Change 3510594 by Daniel.Lamb
Fixed up temp files directory for patching.
Thanks David Yerkess @ Milestone
#review@Ben.Marsh
Change 3511628 by Ben.Marsh
PR #3707: Fixed UBT stack size (Contributed by gildor2)
Change 3511808 by Ben.Marsh
Optimize checks for whether the game project contains source code. Now stops as soon as the first file is found and ignores directories beginning with a '.' character (eg. .git)
#jira UE-46540
Change 3512017 by Ben.Marsh
Plugins: Deprecate the QueryStatusForAllPlugins() function; the same functionality is available via the IPlugin interface.
Change 3513935 by Steve.Robb
Reverted array iteration in FPropertyNode::PropagatePropertyChange as this is now covered in TProperty::InitializeValueInternal() as of CL# 3293477.
Change 3514142 by Steve.Robb
MemoryProfiler2 added to generated solution.
Change 3516463 by Ben.Marsh
Plugins: Create a manifest for each PAK file containing all the plugin descriptors in one place. Eliminates need to recurse through directories and read separate multiple files in serial at startup, and allows reading all plugin descriptors with one read. The "Mods" directory is excluded from the manifest, since these are intended to be installed separately by the user.
Change 3517860 by Ben.Marsh
PR #3727: FString Dereference Fixes (Contributed by jovisgCL)
Change 3517967 by Ben.Marsh
Suppress additional system error dialogs when loading DLLs if -unnattended is on the command line.
Change 3518070 by Steve.Robb
Disable Binned2 stats in shipping non-editor builds.
Change 3520079 by Steve.Robb
Fixed bad codegen TAssetPtrs being passed into BlueprintImplementableEvent functions.
#jira UE-24034
Change 3520080 by Robert.Manuszewski
Made max package summary size to be configurable with ini setting
Change 3520083 by Steve.Robb
Force a GC after hot reload to clean up reinstanced objects which may still tick.
#jira UE-40421
Change 3520480 by Robert.Manuszewski
Improved assert message when the initial package read request was too small.
Change 3520590 by Graeme.Thornton
SignedArchiveReader optimizations
- Loads more stats
- Stop chunk cache worker from waking up continuously to poll for work. Only wake up when triggered by the archive reader
- Signed archive reader just yields when waiting for buffers to finish loading, rather than sleeping for some arbitrary amount of time
- Track the number of pending read requests in an atomic counter, to save having to lock the request queue to check for new entries
Change 3521023 by Graeme.Thornton
Remove spin from signed archive reader. Main thread waits on an event triggered by the chunk worker to indicate that new chunks are ready for processing
Change 3521787 by Ben.Marsh
PR #3736: Small static code analysis fixes (Contributed by jovisgCL)
Change 3521789 by Ben.Marsh
PR #3735: Fix case sensitivity issue in FWindowsPlatformProcess::IsApplicationRunning. (Contributed by samhocevar)
Change 3524721 by Ben.Marsh
Move Linux SDL initialization into FLinuxPlatformApplicationMisc. Attempting to move functionality related to interactive applications (graphics, input, etc...) into a separate place, so it can ultimately be moved out of Core.
Change 3524741 by Ben.Marsh
Move PumpMessages() into FPlatformApplicationMisc.
Change 3525399 by Ben.Marsh
UGS: Use the default Perforce server port when opening P4V if there is not one set in the environment.
Change 3525743 by Ben.Marsh
UAT: Add a parameter to allow updating version files without updating Version.h, to allow faster link times on incremental builds.
Change 3525746 by Ben.Marsh
EC: Include the clobber option on new workspaces, to allow overriding version files when syncing.
Change 3526453 by Ben.Marsh
UGS: Do not generate project files when syncing precompiled binaries.
Change 3527045 by Ben.Marsh
Fix hot reload generating import libraries without DLLs. Now that they are produced by separate actions by default, it was removing DLLs from the action graph due to the bSkipLinkingWhenNothingToCompile setting.
Change 3527420 by Ben.Marsh
UGS: Add additional search paths for UGS config files, and fix a few cosmetic issues (inability to display ampersands in tools menu, showing changelist -1 when running a tool without syncing).
Config files are now read from:
Engine/Programs/UnrealGameSync/UnrealGameSync.ini
Engine/Programs/UnrealGameSync/NotForLicensees/UnrealGameSync.ini
If a project is selected:
<ProjectDir>/Build/UnrealGameSync.ini
<ProjectDir>/Build/NotForLicensees/UnrealGameSync.ini
If the .uprojectdirs file is selected:
Engine/Programs/UnrealGameSync/DefaultProject.ini
Engine/Programs/UnrealGameSync/NotForLicensees/DefaultProject.ini
Change 3528063 by Ben.Marsh
Fix non-thread safe construction of FPluginManager singleton. Length of time spent in the constructor resulted in multiple instances being constructed at startup, making the time to enumerate plugins on slow media significantly worse.
Change 3528415 by Ben.Marsh
UAT: Remove \r characters from the end of multiline log messages.
Change 3528427 by Ben.Marsh
EC: Fix spaces being converted to tabs at start of line in failure emails (by Gmail), and wrap following lines at the same indent.
Change 3528485 by Ben.Marsh
EC: Remove zero-width word break characters from slashes in notification emails; can cause really hard to debug problems when copy pasted into other places.
Change 3528505 by Steve.Robb
PR #3755: MallocProfiler - Remove subfolder from profiling save directory (Contributed by Josef-CL)
#jira UE-46819
Change 3528772 by Robert.Manuszewski
Enabling actor and blueprint clustering in ShooterGame
Change 3528786 by Robert.Manuszewski
PR #3760: Fix typo (Contributed by jesseyeh)
Change 3528792 by Steve.Robb
PR #3764: MallocProfiler - Refactoring Scopelock (Contributed by Josef-CL)
#jira UE-46962
Change 3528941 by Robert.Manuszewski
Fixed lazy object pointers not being updated for streaming sub-levels in PIE. Fixed lazy pointers returning object that is still being loaded which could lead to undefined behavior when client code started modifying the returned object.
#jira UE-44996
Change 3530241 by Ben.Marsh
UAT: Only pass -submit or -nosubmit to child instances of UAT if they were specified on the original command line. BuildCookRun uses this flag to determine whether to submit, rather than just whether to allow submitting, so we shouldn't pass an inferred value.
Change 3531377 by Ben.Marsh
Plugins: Allow plugins to specify a list of supported target platforms, which is propagated to any .uproject file that enables it.
This has several advantages over the per-module platform whitelist/blacklist:
* Platform-specific .uplugin files can now be excluded when staging other platforms. Previously, it was only possible to determine which platforms a plugin supports by reading the plugin descriptor itself. Now that information is copied into the .uproject file, so the runtime knows which plugins to ignore.
* References to dependent plugins from platform-specific plugins can now be eliminated.
* Plugins containing content can now be unambiguously disabled on a per-platform basis (having no modules for a platform does not confer that a plugin doesn't support that platform; now it is possible to specify supported platforms explicitly).
* The editor can load any plugins without having to whitelist supported editor host platforms.
UE4 targets which support loading plugins for target platforms can set TargetRules.bIncludePluginsForTargetPlatforms (true for the editor by default, false for any other target types). This defines the LOAD_PLUGINS_FOR_TARGET_PLATFORMS macro at runtime, which allows the plugin system to filter which plugins to look for at runtime.
Any .uproject file will be updated at startup to contain the list of supported platforms for each referenced plugin if necessary.
Change 3531502 by Jin.Zhang
Add support for GPUCrash #rb
Change 3531664 by Ben.Marsh
UBT: Change output format from C# JSON writer to match output by the engine.
Change 3531848 by Ben.Marsh
UAT: Add script to resaving all project descriptors under a folder, embedding information for any supported platforms for the plugins they enable.
Change 3531869 by Ben.Marsh
UAT: Add parameter to the ResaveProjectDescriptors command to update the engine association field.
Change 3532474 by Ben.Marsh
UBT: Use the same mechanism as UAT for logging exceptions.
Change 3532734 by Graeme.Thornton
Initial VSCode Support
- Tasks generated for building all game/engine/program targets
- Debugging support for targets on Win64
Change 3532789 by Steve.Robb
FScriptSet::Add and TScriptMap::Add now replace the element, matching the behavior of TSet and TMap.
Set_Add and Map_Add no longer have a return value.
FScriptSet::Find and FScriptMap::Find functions are now FindIndex.
FScriptSetHelper::FindElementFromHash is now FindElementIndexFromHash.
Change 3532845 by Steve.Robb
Obsolete UHT settings deleted.
Change 3532875 by Graeme.Thornton
VSCode
- Add debug targets for different target configurations
- Choose between VS debugger (windows) and GDB (mac/linux)
Change 3532906 by Graeme.Thornton
VSCode
- Point all builds directly at UBT rather than the batch files
- Adjust mac build tasks to run through mono
Change 3532924 by Ben.Marsh
UAT: Set the UAT working directory immediately on startup. This ensures that any command line arguments containing paths are resolved consistently to the branch root.
Change 3535234 by Graeme.Thornton
VSCode - Pass intellisense system a list of paths to use for header resolution
Change 3535247 by Graeme.Thornton
UBT - Add a ToString to ProjectFile.Source file to help with debugger watch presentation
Change 3535376 by Graeme.Thornton
VSCode
- Added build jobs for C# projects
- Linked launch tasks to relevant build task
Change 3537083 by Ben.Marsh
EC: Change P4 swarm links to start at the changelist for a build.
Change 3537368 by Graeme.Thornton
Fix for crash in FSignedArchiveReader when multithreading is disabled
Change 3537550 by Graeme.Thornton
Fixed a crash in the taskgraph when running single threaded
Change 3537922 by Steve.Robb
Missing PF_ATC_RGBA_I added to FOREACH_ENUM_EPIXELFORMAT.
Change 3539691 by Graeme.Thornton
VSCode - Various updates to get PC and Mac C++ projects building and debugging.
- Some other changes to C# setup to allow compilation. Debugging doesn't work.
Change 3539775 by Ben.Marsh
Plugins: Various fixes to settings for enabling plugins.
* Fix crash on startup when trying to disable a missing plugin (was keeping pointers to elements in the project's plugin reference array, which may be modified if a plugin is disabled).
* Revert fix to set PluginDescriptor.bRequiresBuildPlatform = true by default. This was the originally intended behavior, but it was accidentally defaulted to false during serialization unless specified in the .uplugin file. Many plugins may rely on this behavior (they may not declare asset classes otherwise, for example, which could result in loss of data), so change the default value to false instead. Also fixes popups to disable platform-specific plugins if platform SDKs are not installed.
* Fix plugins which are referenced but do not exist not showing the appropriate prompt to disable them.
Change 3540788 by Ben.Marsh
UBT: Add support for declaring custom pre-build steps and post-build steps from .target.cs files. Similarly to the custom build steps configurable from .uproject and .uplugin files, these specify commands which will be executed by the host platform's shell before or after a build. The following variables are expanded within the list of commands before execution: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile).
Example usage:
public class UnrealPakTarget : TargetRules
{
public UnrealPakTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
LaunchModuleName = "UnrealPak";
if(HostPlatform == UnrealTargetPlatform.Win64)
{
PreBuildSteps.Add("echo Before building:");
PreBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
PostBuildSteps.Add("echo After building!");
PostBuildSteps.Add("echo This is $(TargetName) $(TargetConfiguration) $(TargetPlatform)");
}
}
}
Change 3541664 by Graeme.Thornton
VSCode - Add problemMatcher tag to cpp build targets
Change 3541732 by Graeme.Thornton
VSCode - Change UBT command line switch to "-vscode" for simplicity
Change 3541967 by Graeme.Thornton
VSCode - Fixes for Mac/Linux build steps
Change 3541968 by Ben.Marsh
CRP: Pass through the EnabledPlugins element in crash context XML files.
#jira UE-46912
Change 3542519 by Ben.Marsh
UBT: Add chain of references to error messages when configuring plugins.
Change 3542523 by Ben.Marsh
UBT: Add more useful error message when attempt to parse a JSON object fails.
Change 3542658 by Ben.Marsh
UBT: Include a chain of references when reporting errors instantiating modules.
Change 3543432 by Ben.Marsh
Plugins: Fix plugins which are enabled by default not being enabled unless a project file is set.
Change 3543436 by Ben.Marsh
UBT: Prevent recursing through the same module more than once when building out the referenced modules. Produces much shorter reference chains when something fails.
Change 3543536 by Ben.Marsh
UBT: Downgrade message about redundant plugin references to a warning.
Change 3543871 by Gil.Gribb
UE4 - Fixed a critical crash bug with non-EDL loading from pak files.
Change 3543924 by Robert.Manuszewski
Fixed a crash on UnrealFrontend startup caused by re-assembling GC token stream for one of the classes.
+Small optimization to token stream generation code.
Change 3544469 by Jin.Zhang
Crashes page displays the list of plugins from the crash context #rb
Change 3544608 by Steve.Robb
Fix for nativized generated code.
#jira UE-47452
Change 3544612 by Ben.Marsh
Add callback into FMacPlatformMisc::PumpMessages() from FMacPlatformApplicationMisc::PumpMessages().
#jira UE-47449
Change 3545954 by Gil.Gribb
Fixed a critical crash bug relating to a race condition in async package summary reading.
Change 3545968 by Ben.Marsh
UAT: Fix incorrect username in BuildGraph <Submit> task. Should use the username from the Perforce environment, not assume the logged in user name is the same.
#jira UE-47419
Change 3545976 by Ben.Marsh
EC: Delete the AutoSDK client if the directory doesn't exist. When we format build machines, we need to force everything to be resynced from scratch.
Change 3546185 by Ben.Marsh
Hacky fix for deployment on IOS/TVOS. Since deployment directly references the NonUFS manifest files that are written out, merge all the SystemNonUFS files back into the NonUFS list after the regular NonUFS files have been remapped.
Change 3547084 by Gil.Gribb
Fixed a critical race condition in the new async loader. This was only reproducible on IOS, but may affect other platforms.
Change 3547968 by Gil.Gribb
Fixed critical race which potentially could cause a crash in the pak precacher.
Change 3504722 by Ben.Marsh
BuildGraph: Improved tracing for error messages. All errors are now propagated as exceptions, and are tagged with additional context information about the task currently being run.
For example, throwing new AutomationException("Unable to write foo.txt") from SetVersionTask.Execute is now displayed in the log as:
ERROR: Unable to write to foo.txt
while executing <SetVersion Change="0" CompatibleChange="0" Branch="Unknown" Promoted="True" />
at Engine\Build\InstalledEngineBuild.xml(91)
(see D:\P4 UE4\Engine\Programs\AutomationTool\Saved\Logs\UAT_Log.txt for full exception trace)
Change 3512255 by Ben.Marsh
Rename FPaths functions with a "Game" prefix (GameDir(), GameContentDir(), etc...) to have a "Project" prefix (ProjectDir(), ProjectContentDir(), etc...) for clarity with non-game uses of UE4. Old functions still exist but are deprecated.
Change 3512332 by Ben.Marsh
Rename "Game" functions in FApp to be "Project" functions (FApp::GetGameName() -> FApp::GetProjectName(), etc...) for clarity with non-game uses of UE4.
Change 3512393 by Ben.Marsh
Rename FPaths::GameLogDir() to FPaths::ProjectLogDir().
Change 3513452 by Ben.Marsh
Plugins: Rename EPluginLoadedFrom::GameProject to EPluginLoadedFrom::Project.
Change 3516262 by Ben.Marsh
Add support for a "Mods" folder distinct from the project's "Plugins" folder, instead of using the bIsMod flag on the plugin descriptor.
* Mods are enumerated similarly to regular plugins, but IPlugin::GetType() will return EPluginType::Mod.
* The DLCName parameter to BuildCookRun and the cooker now correctly finds any plugin in the Plugins or Mods directory (or any subfolders).
Change 3517565 by Ben.Marsh
Remove fixed engine version numbers from OSS plugins.
Change 3518005 by Ben.Marsh
UAT: Remove the bUFSFile parameter from DeployLowerCaseFilenames(). Every platform returns false if the argument is false.
Change 3518054 by Ben.Marsh
UAT: Use an enum to direct whether all directories should be searched when finding files to stage, rather than a bool. Having so many optional boolean arguments makes code unreadable and refactoring hard.
Change 3524496 by Ben.Marsh
Start moving GUI application code into a separate static platform class, hopefully ultimately removing it from Core.
Change 3524641 by Ben.Marsh
Move more functionality related to windowed/graphical applications into FPlatformApplicationMisc.
Change 3528723 by Steve.Robb
MoveTemp now static asserts if passed a const reference or rvalue.
MoveTempIfPossible still follows the old (std::move) rule, which is useful for templates where the nature of the argument is not obvious.
Fixes to violations of these new rules.
Change 3528876 by Ben.Marsh
Move FPlatformMisc::ClipboardCopy and FPlatformMisc::ClipboardPaste to FPlatformApplicationMisc::ClipboardCopy and FPlatformApplicationMisc::ClipboardPaste.
Change 3529073 by Ben.Marsh
Add script to package ShooterGame for any platforms.
Change 3531493 by Ben.Marsh
Update platform-specific plugins to declare the target platforms they support.
Change 3531611 by Ben.Marsh
UAT: Add a ResavePluginDescriptors command, which resaves all plugin descriptors under a given folder, removing any outdated fields and rewrites them in a consistent style. Many plugins in the wild contain redundant or no-longer used fields due to using our plugins as templates.
Change 3531868 by Ben.Marsh
Resaving project descriptors to remove invalid fields.
Change 3531983 by Ben.Marsh
UAT: Simplify logic for staging code, and add validation against shipping files in restricted folders.
* Added a new SystemNonUFS type for staged files, which excludes files from being remapped or renamed by the platform layer.
* Replaced the DeplyomentContext.StageFiles() function with simpler overloads for particular use cases (options for remapping are replaced with the SystemNonUFS file type)
* Config entries in the [Staging] category in DefaultGame.ini file allow remapping one directory to another, so restricted content can be made public in packaged builds (Example syntax: +RemapDirectory=(From="Foo/NoRedist", To="Foo"))
* An error is output if any restricted folder names other than the output platform are in the staged output.
Change 3540315 by Ben.Marsh
UAT: Moving StreamCopyDescription command into a NotForLicensees folder, since it's only meant to be used by engine developers.
Change 3542410 by Ben.Marsh
UBT: Deprecate accessing properties through BuildConfiguration.* or UEBuildConfiguration.* from .target.cs files. These have been aliases to the current TargetRules instance for several releases already.
Change 3543018 by Ben.Marsh
UBT: Deprecate the BuildConfiguration and UEBuildConfiguration aliases from the ModuleRules class. These have been implemented as an alias ot the ReadOnlyTargetRules instance passed to the constructor for several engine versions.
Change 3544371 by Steve.Robb
Fixes to TSet_Add and TMap_Add BPs.
#jira UE-47441
[CL 3548391 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3358140 on 2017/03/22 by Rolando.Caloca
DR - Fix copy to cube face
- Compile fix when using dump layer
- Add new error enum
Change 3358301 on 2017/03/22 by Mitchell.Wilson
Initial check in of LODs in InfiltratorForward. First pass on optimization in level. Adding a visibility track for SceneCapture2D in tunnel section.
Change 3358477 on 2017/03/22 by Mitchell.Wilson
Updating Skeletal Mesh DPW_Robot_Export to resolve screen size being too low for LOD1. Cleaned up LOD1 which was showing some visible popping when transitioning.
Change 3358529 on 2017/03/22 by Mark.Satterthwaite
Globally disable clang's "constant-logical-operand" warning when running under Distcc - it is much easier and less invasive than constantly fixing the code.
Change 3358745 on 2017/03/22 by Mark.Satterthwaite
Disable another warning (parentheses-equality) under Distcc because again the separation of preprocessing from compilation means it turns up where it isn't expected.
Change 3358837 on 2017/03/22 by Joe.Graf
Merge of pull request #3214 for the RenderDocPlugin
#CodeReview: matt.kuhlenschmidt, marcus.wassmer
#rb: marcus.wassmer
Change 3359112 on 2017/03/22 by Ben.Salem
Update perf monitor to include frame time by default. Also, use only game/PIE world timers when in editor, instead of all worlds combined.
#tests Ran several Showdown test runs with plugin!
Change 3359363 on 2017/03/22 by Joe.Graf
First pass at non-unity & no pch compilation
Change 3359449 on 2017/03/22 by Joe.Graf
Added missing null check when exporting a EXR on Linux (UE-40268)
#CodeReview: dmitry.rekman
#rb: n/a
Change 3360349 on 2017/03/23 by Guillaume.Abadie
Fixes TAA's AA_FORCE_ALPHA_CLAMP causing DOF layouts.
#jira UE-42920
Change 3360405 on 2017/03/23 by Marcus.Wassmer
Better method for detecting Kepler
Change 3360718 on 2017/03/23 by Daniel.Wright
Planar reflections handle views smaller than the render target in a general way
* Fixes planar reflections with adaptive pixel density (ViewFamily size larger than actual views combined)
* Planar reflections are now supported in splitscreen
Change 3360758 on 2017/03/23 by Daniel.Wright
[Copy] Added new light property bCastVolumetricShadow, which defaults to true for directional and sky lights, but false for point / spot lights as supporting volumetric fog shadowing has significant GPU overhead
Change 3360762 on 2017/03/23 by Daniel.Wright
[Copy] Texture flags are now properly routed to RHICreateTexture3D from the render target pool
Change 3360768 on 2017/03/23 by Daniel.Wright
[Copy] Disabled GPUProfiler histogram by default, controlled by r.ProfileGPU.ShowEventHistogram
Change 3360770 on 2017/03/23 by Daniel.Wright
[Copy] Disabled fast clears on CustomDepth, saves .2ms on xbox
Change 3360771 on 2017/03/23 by Daniel.Wright
[Copy] Particle lights no longer force tiled deferred lighting. Tiled deferred lighting is only used if enough unshadowed lights + particle lights are on screen. Saves 1.5ms Xbox with one particle light.
Change 3360774 on 2017/03/23 by Daniel.Wright
[Copy] Distance field cvar comments
Change 3360782 on 2017/03/23 by Daniel.Wright
[Copy] Disabled selection color on Volume materials
Change 3360795 on 2017/03/23 by Daniel.Wright
[Copy] Volume materials now specify Albedo and Extinction, which is more intuitive than Scattering and Absorption. Albedo is [0-1] reflectance, while Extinction is a world space density.
Change 3360799 on 2017/03/23 by Daniel.Wright
[Copy] Cinematic scalability levels get 2x volumetric fog resolution in x and y
Change 3360806 on 2017/03/23 by Daniel.Wright
[Copy] Fixed volumetric fog being offset when viewport min is not 0
Change 3360809 on 2017/03/23 by Daniel.Wright
[Copy] Volumetric fog now adds a bias to the inverse squared light falloff denominator, prevents extreme aliasing from the hotspot. Can be controlled with r.VolumetricFog.InverseSquaredLightDistanceBiasScale.
Change 3361651 on 2017/03/23 by Brian.Karis
Higher quality sharp SSR at quality 4
Change 3361678 on 2017/03/23 by Brian.Karis
Fresnel darkens diffuse for clearcoat.
Change 3361683 on 2017/03/23 by Brian.Karis
Fixed SSR artifact
Change 3361691 on 2017/03/23 by Brian.Karis
Chagned min roughness limit
Change 3361707 on 2017/03/23 by Brian.Karis
Added inverse film tone map
Change 3361726 on 2017/03/23 by Brian.Karis
Better precision inverse
Change 3361758 on 2017/03/23 by Brian.Karis
Material flag normal curvature to roughness is no longer forward only.
Change 3361765 on 2017/03/23 by Brian.Karis
Update ACES
Change 3361774 on 2017/03/23 by Brian.Karis
Cleaned up alpha support and disabled screen edge clipping.
Change 3362478 on 2017/03/24 by Guillaume.Abadie
Cherry pick 3316084's PostProcessing.cpp: Fixes a bug in Circle DOF where the apply pass was no longer using the downres DOF's TAA output.
#author Brian.Karis
#jira UE-42920
Change 3362738 on 2017/03/24 by Rolando.Caloca
DR - Hide scene capture on IF
Change 3362890 on 2017/03/24 by Guillaume.Abadie
Renames r.SceneAlpha to r.PostProcessing.PropagateAlpha
Change 3363665 on 2017/03/24 by Mark.Satterthwaite
PR #3414: Add command line option "-noheartbeatthread" to disable heart beat thread (Contributed by JeffRous)
Change 3363866 on 2017/03/24 by Arne.Schober
DR - Updated NVAPI
#RB Marcus.Wassmer
Change 3364300 on 2017/03/24 by Brian.Karis
SSR use dynamic velocity
Change 3364372 on 2017/03/24 by Brian.Karis
Fix changing off axis projection velocities.
Change 3364373 on 2017/03/24 by Brian.Karis
Enabled velocity drawing in scene captures
Change 3365531 on 2017/03/27 by Guillaume.Abadie
Computes the material's screen position material expression directly from the pixel shader SvPosition
Change 3365764 on 2017/03/27 by Chris.Bunner
Lowering severity of crash for missing values in scalability.ini.
#jira UE-41331
Change 3365916 on 2017/03/27 by Guillaume.Abadie
Exposes the viewport offset within the view property material expression
Change 3365979 on 2017/03/27 by Brian.Karis
Fixed skylight intensity from double applying
Change 3365987 on 2017/03/27 by Brian.Karis
Stopped post process indirect lighting intensity from scaling skylight reflections
Change 3365991 on 2017/03/27 by Brian.Karis
Fix for static analysis
Change 3366028 on 2017/03/27 by Daniel.Wright
Volumetric fog supports static shadowing from Stationary lights
* Using bilinear on static shadowmap depths + 1 PCF to smooth out results
Change 3366029 on 2017/03/27 by Daniel.Wright
Static shadow depth maps for Stationary point and spot lights are 2x higher res by default (4x more texels), which is more appropriate for volumetric fog
Change 3366055 on 2017/03/27 by Guillaume.Abadie
Cherry picks 3251469: Implements scene capture component's CaptureSortPriority to control GPU execution order in order to manage inter dependencies.
Change 3366447 on 2017/03/27 by Simon.Tourangeau
Fix IES light profile importer.
- Bug in the LM-63-1986 format importer.
Change 3366836 on 2017/03/27 by Brian.Karis
ClearUAV now supports int types
Change 3367435 on 2017/03/28 by Benjamin.Hyder
Submitting Decal Automation map for initial approval
Change 3367572 on 2017/03/28 by Chris.Bunner
Changed ClampedPow {max(abs(x),0.00001)} to PositiveClampedPow {max(x,0)} to give more expected results to Power node in material graphs.
#jira UE-42989
Change 3367756 on 2017/03/28 by Olaf.Piesche
Niagara material usage flags
Change 3367835 on 2017/03/28 by Marcus.Wassmer
Fix crash when TileRenderer runs before anything else. Make explicit behavior when rendering at a time when there is no valid scene.
Change 3367837 on 2017/03/28 by Marcus.Wassmer
Missed a file.
Change 3367838 on 2017/03/28 by Richard.Wallis
Updated items from original shelved version by Mark Satt:
- Added MetalBackend.cpp to change main function string to have an initial crc + code length zero's
**Description below taken from Mark Satt's original verison of this in CL3343280**
Updated for Dev-Rendering's PSOs & integrates Richard's work on RHI shader libraries.
Replace the FShaderCache's cook-time binary shader cache with Dmitriy Dyomin's standalone FShaderCodeLibrary that saves all shader byte-code arrays to files named by the FSHAHash. This de-duplicates shaders so we only ever store the byte code once. Includes optional support for generating a platform specific library file - which Metal implements to provide a single Metal library. The platform-native implementation can perform more de-duplication and in the case of Metal has lower file overheads and will compress more efficiently.
- All of the support code for the FShaderCache's cook caching is gone, which affects all platforms. The FShaderCodeLibrary is currently supported by Cook-By-The-Book but can be used with iterate or child cookers - only DLC cooking requires further work.
- With further modifications it should be possible to support Cook-on-the-Fly as well (output directories would be needed in FShaderCodeLibrary::InitForCooking) and the file-access pattern should be changed to use async. IO so that Material loading is not considered complete until all required byte-code arrays are loaded into the FShaderCodeLibrary.
- For Metal archiving shaders this way will compile with debug information and the FShaderCodeLibrary, with some help from extensions to IShaderFormat, will save the debug information out into separate files during cooking - these can then be used to debug the game without having to locally recompile, recook & repackage but the shipped byte-code is stripped. Global shader caches are also subject to de-duplication in the library in order to support Metal's shader stripping.
- File Move operations need to respect the 'Replace' flag - for FShaderCodeLibrary to work we need Move to be atomic.
- This bumps the object version and will cause all content to recook.
- Native library support is optional - only Metal currently implements one, but so could Vulkan and D3D12. For Metal the big advantages are further de-duplication where different materials generate the same MetalSL text but a different FSHAHash, that the single Metal library has lower overhead and that as a single file it all compresses far better (esp. with LZMA - 5x smaller).
Change 3367854 on 2017/03/28 by Mark.Satterthwaite
Don't track or record draw call resources for non-OpenGL shader platforms in the shader-cache as it is unnecessary and makes it slower on the CPU than it needs to be.
Change 3367877 on 2017/03/28 by Brian.Karis
Fixed linux build hopefully
Change 3368001 on 2017/03/28 by Mark.Satterthwaite
Compile fixes from Richard's checkin caused by not having visibility to all platforms from my original shelves.
Change 3368019 on 2017/03/28 by Mark.Satterthwaite
And another fix for Windows compilation of MetalShaderFormat.
Change 3368042 on 2017/03/28 by Mark.Satterthwaite
And a couple of simpler MSVC errors.
Change 3368271 on 2017/03/28 by Mark.Satterthwaite
Make SceneRenderTargets compile again.
Change 3368691 on 2017/03/28 by Daniel.Wright
[Copy from BenW] Renamed r.Shadow.MaxCSMShadowResolution to r.Shadow.MaxCSMResolution to match scalability inis
Change 3369689 on 2017/03/29 by Marcus.Wassmer
Fix non editor compile for now
Change 3369862 on 2017/03/29 by Marcus.Wassmer
Get the rest of the things compiling again.
Change 3369896 on 2017/03/29 by Chris.Bunner
Enabling AMD HDR support by default.
#jira UE-42113
Change 3370535 on 2017/03/29 by Marcus.Wassmer
DR - Fix template explicit instantiation for ClearUAV permutations
#RB Brian.Karis, Arne.Schober
Change 3370704 on 2017/03/29 by Rolando.Caloca
DR - Rewrote GPU Skin Cache
- Per section buffers
- Limited memory per non-editor worlds (control with r.SkinCache.SceneMemoryLimitInMB)
Copied from 3370529
Change 3371389 on 2017/03/30 by Richard.Wallis
Remove temp working directories after archive packages built.
Change 3371641 on 2017/03/30 by Rolando.Caloca
DR - Copy 3371640 (fix mem leak)
Change 3372436 on 2017/03/30 by Uriel.Doyon
Added flags in UPrimitiveComponent to keep track of its state in the streaming manager.
This allows to avoid unnecessary callback and processing in begin destroy reattach and being destroy logic.
Removed the limitation of only processing UMeshComponent when handling spawed primitive.
This releases the level manager from having to manage dynamic primitives.
This improves performance by not having to manage dynamic references in the level manager.
Primitives managed as dynamic now have a callback when ever their proxy is udpated, handling
many cases automatically where previously a manual callback to notify would have been required.
Fixed an issue where primitives with no reference to streaming textures would loose they dynamic state
because of lack of references in the streamer.
Change 3372740 on 2017/03/30 by Chris.Bunner
[Experimental] Partial compute post process pipeline (r.PostProcess.PreferCompute).
StencilSceneTexture added to deferred list.
A few known issues to be fixed in a follow-up CL.
Change 3372765 on 2017/03/30 by Uriel.Doyon
Disabled concurrent call to NotifyPrimitiveUpdated while we don't have a safe concurrent update
Change 3372979 on 2017/03/30 by Richard.Hinckley
#jira UE-43501
The stencil buffer can now use single-channel bitmasks that ignore depth. This makes it possible to detect overlaps between stencil objects.
Change 3373053 on 2017/03/30 by Simon.Tourangeau
LPV Fade support
- mostly integrated from CL 2959511
Change 3373272 on 2017/03/30 by Uriel.Doyon
Added support for the concurrent update of dynamic primitives by the streaming manager.
Change 3373450 on 2017/03/30 by Rolando.Caloca
DR - FNT - Fix bad data for odd texcoord channels used on skin cache passthrough factory
Copy 3373364
#jira UE-43492
Change 3373470 on 2017/03/30 by Marcus.Wassmer
Nvidia Aftermath support
Change 3374187 on 2017/03/31 by Chris.Bunner
Volume texture support for CombineLUTs/Tonemap compute pass.
Refactored common param code to shared sub-class in CombineLUTs and Tonemap PS/CS.
Skip compute post process out-of-bounds writes.
Unsigned type conversion fixes.
Trimmed compute post process shader inputs.
Change 3374233 on 2017/03/31 by Chris.Bunner
Removed several redundant post process compute fences and resource transitions.
Added testing CVar to force compute post processes to async (r.PostProcess.ForceAsyncDispatch).
Change 3374412 on 2017/03/31 by Rolando.Caloca
DR - Fix static analysis
Change 3374544 on 2017/03/31 by Richard.Wallis
FShaderCache Parallel-Context-Aware Merged with FShaderCache Single Library.
Future Work
- This was done before Engine PSO were in so this now needs a refector in the recording and playback on pipeline states instead an emulate PSO in OpenGL Driver.
- Remove FShaderCacheState and replace the logic with FGraphicsPipelineStateInitializer which should be able to record from the RHI current pipeline state
- This would reduce the Locking required as it's naturally per thread/context and only the final record would need a lock
Change 3374588 on 2017/03/31 by Richard.Wallis
Windows Compile Fixes
Change 3374810 on 2017/03/31 by Benjamin.Hyder
updating recommended GPU drivers
Change 3375207 on 2017/03/31 by Rolando.Caloca
DR - vk - Fixed swapchain format selection for some Linux platforms
Change 3375248 on 2017/03/31 by Rolando.Caloca
DR - vk - Prefer D32S8
Change 3375495 on 2017/03/31 by Rolando.Caloca
DR - vk - Update to sdk 1.0.42.2
Change 3375496 on 2017/03/31 by Rolando.Caloca
DR - Force compiling with updated Vulkan SDK
Change 3375636 on 2017/03/31 by Mark.Satterthwaite
Copying Metal improvements from task stream, with some modifications:
- Off-by-default implementations for MTLFence & MTLHeap, including some small changes to the RHI interface for parallel contexts.
- Support for Apple's Instruments "Points of Interest" tool.
- Consolidation of some Mac & iOS compiler, memory and thread handling code.
- Fixes for Metal not having implicit buffer SRV typecasting for DistanceField effects.
- Improvements to the internal FMetalDebug layer, still off by default.
- Limited support for Xcode automatic code-signing for iOS/tvOS.
- Minimisation of render-target changes in some rendering code, esp. SceneOcclusion, DBufferDecals.
- Added RHISetResourceAliasability_RenderThread to FDynamicRHI for RHIs to implement simple render-target aliasing.
- Added FApplePlatformObject, a custom block allocator for Objective-C types (with NSZombie support) which is now used in MetalRHI to decrease allocation costs of Objective-C types.
- Smattering of lesser fixes.
Change 3375654 on 2017/03/31 by Mark.Satterthwaite
Incremental Windows build fix.
Change 3375656 on 2017/04/01 by Mark.Satterthwaite
Correct extern declaration, including the module export macro which Mac unhelpfully doesn't enforce (for now...).
Change 3375797 on 2017/04/01 by Mark.Satterthwaite
Nullability qualifiers to fix Mac build-farm compilation: perversely this is not a problem for local builds...
Change 3375798 on 2017/04/01 by Mark.Satterthwaite
Fix the first mis-merge in ParticleGpuSimulation - these changes clearly weren't properly resolved in the task-stream.
Change 3375835 on 2017/04/01 by Mark.Satterthwaite
Try again with nullability and fix the occlusion changes as the PSO work wasn't merged correctly.
Change 3376143 on 2017/04/02 by Mark.Satterthwaite
Switch back to flat dSYMs for Dev-Rendering - they don't work with Instruments etc. but they are required by our build system.
Change 3376324 on 2017/04/03 by Chris.Bunner
Fixed cvar re-registration log spam and flagged a testing-only cvar as such.
Change 3376726 on 2017/04/03 by Benjamin.Hyder
Submitting initial HDR test map (WIP)
Change 3376756 on 2017/04/03 by Guillaume.Abadie
Fixes scene captures ordering's backward compatibility.
Before, 2d scene captures were rendered before cube scene captures. The CaptureSortPriority broke backward compatibility by settings this new member to 0 in the USceneCaptureComponent's constructor. Since it is a higher come first policy, this CL set the default of this value to 1 in USceneCaptureComponent2D's constructor.
Change 3377378 on 2017/04/03 by Arne.Schober
DR - Fix ShaderRecompiling over and over again
#RB Chris.Bunner
Change 3377512 on 2017/04/03 by Daniel.Wright
[Copy] Fixed profilegpu in d3d12 - initialize FLongGPUTaskPS when it is safe to do so, and fixed FSlateRHIRenderer's incorrect usage of draw events
Change 3377518 on 2017/04/03 by Daniel.Wright
[Copy] Distance field atlas coalesces updates to reduce RHIUpdateTexture3D memory overhead on d3d12
Change 3377526 on 2017/04/03 by Daniel.Wright
[Copy] "Ran out of GPU queries!" log only happens once
Change 3377535 on 2017/04/03 by Daniel.Wright
[Copy] Fixed unreferenced local variable
Change 3377539 on 2017/04/03 by Daniel.Wright
[Copy] Xbox One RHIGetResourceInfo takes ESRAM into account - fixes render target pool 'VRamInKB request failed' messages
Change 3377546 on 2017/04/03 by Daniel.Wright
[Copy] Added r.LightMaxDrawDistanceScale for local light scalability
Change 3377553 on 2017/04/03 by Daniel.Wright
[Copy] Removed NEW_ESRAM_ALLOCATOR define and old unused path
Change 3377560 on 2017/04/03 by Daniel.Wright
[Copy] Fixed two d3d12 refcounting bugs causing -norhithread crashes
Change 3377565 on 2017/04/03 by Daniel.Wright
[Copy] Fixed Xbox One deleting GPU resources before the GPU is done reading from them (GRHINeedsExtraDeletionLatency was false)
Change 3377572 on 2017/04/03 by Daniel.Wright
[Copy] Disabled point / spot lights with MaxDrawDistance on LowPC
Change 3377586 on 2017/04/03 by Daniel.Wright
Fixed compile error
Change 3377699 on 2017/04/03 by David.Hill
FFT Code. Moved over from raven and refactored
#review-3374589 @guillaume.abadie
Change 3377910 on 2017/04/03 by David.Hill
GPU FFT: Fix Linux Build
adding a missing template<> to an IMPLEMENT_SHADER_TYPE
Change 3378751 on 2017/04/04 by Marcus.Wassmer
HQ particle lights now spawn attached to the same socket as their parent module.
Change 3378819 on 2017/04/04 by Richard.Wallis
Should be no need to protect shader cache against RHI thread now.
Change 3378823 on 2017/04/04 by Richard.Wallis
FRHIShaderLibrary Opaque Type
- Base FRHIShaderLibrary has no Create*Shader functions and is passed to Overloaded RHICreate*Shader functions instead of creation directly through the library.
- Assumed that only Native libraries will end up in the RHICreate*Shader functions.
- ShaderCache and ShaderCode Libraries now inherit from a common factory interface.
Change 3378883 on 2017/04/04 by Arne.Schober
DR - Fix DCC build
Change 3378885 on 2017/04/04 by Richard.Wallis
Metal resource cast compile fix post merge.
Change 3378946 on 2017/04/04 by Chris.Bunner
SM4 assert fix.
Change 3378953 on 2017/04/04 by Chris.Bunner
Fixed type-correctness on legacy BreakMA material nodes and set more flexible formats to global attributes which should result in much more forgiving graphs for users.
Allowed material nodes to opt out of mask-based pin coloration.
#tests Compiled most Paragon materials + QAGame test maps.
#jira UE-39885
Change 3379189 on 2017/04/04 by Arne.Schober
DR - Fix aftermath staging
Change 3379229 on 2017/04/04 by Arne.Schober
DR - Fix missing include
Change 3379374 on 2017/04/04 by Mark.Satterthwaite
Revert an accidentally merged change in MacPlatformProcess that relies on further changes from the Metal task stream.
Change 3379505 on 2017/04/04 by Rolando.Caloca
DR - Fix mismatched interpolators
Change 3379539 on 2017/04/04 by Mark.Satterthwaite
No FFT for any hlslcc platform - the IR for one or more RWTexture2D isn't quite right...
#jira UE-43626
Change 3379561 on 2017/04/04 by Rolando.Caloca
DR - Fix root signature issues on D3D12 PC
Change 3379590 on 2017/04/04 by Mark.Satterthwaite
Back out changelist 3379539 & change the shader slightly instead, the HLSLCC library generates bogus IR when you have an inout RWTexture.
#jira UE-43626
Change 3379917 on 2017/04/04 by Uriel.Doyon
Fix to input mismatch
Change 3380578 on 2017/04/05 by Chris.Bunner
Shader type fixes.
#jira UE-43652
Change 3380639 on 2017/04/05 by Rolando.Caloca
DR - Expose GetOrCreate PSO and document
Change 3380821 on 2017/04/05 by Guillaume.Abadie
Fixes a crash in USceneCaptureComponent::UpdateDeferredCaptures()
#jira UE-43642
Change 3381092 on 2017/04/05 by Guillaume.Abadie
Cherry pick 3362517: Implements TAA's scene color unpremultiplication from alpha channel to reduce DOF alpha channel temporal ghosting.
This CL take the oportunity to transform AA_ALPHA to an compile time enumeration, and add a basic TAA compile time configuration validation to improve readability of the different TAA passes' configurations.
Change 3381300 on 2017/04/05 by Mark.Satterthwaite
Quick fix for changes to MetalRHI's render-thread safe texture creation not correctly handling AVFoundation video player handing us an IOSurface.
#jira UE-43597
Change 3381359 on 2017/04/05 by Guillaume.Abadie
Back out changelist 3381092
Change 3381421 on 2017/04/05 by Mark.Satterthwaite
Amended CL #3380995 from Richard Wallis to address crash in the Material Editor under the validation layer - when there are no textures bound the default pass descriptor assigns store actions, which means we can't override them with our deferred store actions.
#jira UE-43689
Change 3381422 on 2017/04/05 by Mark.Satterthwaite
Absolute time queries can't be batched in Metal but I also can't rely on them being started with a call to BeginQuery - only EndQuery.
#jira UE-43691
Change 3381503 on 2017/04/05 by Daniel.Wright
More intuitive controls for Volumetric Fog
* Removed ScatteringScale / AbsorptionScale on Exponential Height Fog and added Albedo / Extinction
* InscatteringColorCubemap is now supported by Volumetric Fog
* Particle lights have a default VolumetricScatteringIntensity of 0 to avoid trailing
* Tweaked GVolumetricFogDepthDistributionScale better for nearby details
* Volume Materials have twice the interpolators available
Change 3381527 on 2017/04/05 by Mark.Satterthwaite
Disable Private GPU storage for PVRTC texture formats on iOS Metal - these require more changes to the blit-encoder usage as PVRTC has strange requirements.
Change 3381671 on 2017/04/05 by Mark.Satterthwaite
Better error message for failure to compile shaders remotely from PC for Metal.
Change 3381769 on 2017/04/05 by Rolando.Caloca
DR - Added lock texture array 2d on Vulkan
Change 3382003 on 2017/04/05 by Mark.Satterthwaite
Remove the automatic Metal aliasing/re-use when releasing some resource types as it doesn't work as intended.
Change 3382030 on 2017/04/05 by Zachary.Wilson
Fix compiling Metal text shaders from PC broken in merge from task stream.
#submitter mark.satterthwaite
#jira UE-43652
Change 3382880 on 2017/04/06 by Mark.Satterthwaite
Michael Trepka's CL #3379927:
VolumetricFogVoxelization implementation for Mac
Change 3383315 on 2017/04/06 by Mark.Satterthwaite
Partially revert CL #3382003 - the emulated Metal heaps require invoking makeAliasable in order to reclaim memory.
#jira UE-43739
Change 3384639 on 2017/04/07 by Marcus.Wassmer
Move ShaderResource version bump to RenderingObjectVersion
Change 3384704 on 2017/04/07 by Mark.Satterthwaite
Compile fix for merge.
Change 3384933 on 2017/04/07 by Rolando.Caloca
DR - Fix skin cache crash with BP (copy 3384714)
Change 3385104 on 2017/04/07 by Mark.Satterthwaite
Fix MetalRHI's abs(int2) handling - it can't be translated to fabs(int2) as that won't compile. Also rebuild hlslcc for my sanity.
#jira UE-43783
Change 3385105 on 2017/04/07 by Mark.Satterthwaite
Force a shader rebuild to ensure that everybody picks up the fix for #jira UE-43783
#jira UE-43783
Change 3385118 on 2017/04/07 by Arne.Schober
DR - [OR-37359] - Fix disapearing Decals when StencilLod Fade is enabled
#RB none
Change 3385149 on 2017/04/07 by Marcus.Wassmer
Fix skincache motion blur
Change 3385189 on 2017/04/07 by Rolando.Caloca
DR - Fix swapchain format for editor on Vulkan
Change 3385287 on 2017/04/07 by Mark.Satterthwaite
Enable SM5 on Intel as of 10.12.4 and later.
Change 3385347 on 2017/04/07 by Rolando.Caloca
DR - Temp fix for GL4 corruption on editor
#jira UE-43785
Change 3385363 on 2017/04/07 by Rolando.Caloca
DR - Actually fix all win platforms for GL bug
#jira UE-43785
Change 3385557 on 2017/04/07 by Arne.Schober
DR - [UE-43205] - Fix mesh paint
#RB none
Change 3385608 on 2017/04/07 by Daniel.Wright
Fixed SampleCmp being used on a non-depth texture, causing a d3d error
Change 3385980 on 2017/04/10 by Rolando.Caloca
DR - Remove transition functions RHIClearColor* RHIClearDepthStencilTexture
Change 3386042 on 2017/04/10 by Rolando.Caloca
DR - Fix metal merge issue
Change 3386157 on 2017/04/10 by Rolando.Caloca
DR - Remove VS2013 libs generation off hlslcc & glslang (to match main)
Change 3386356 on 2017/04/10 by Chris.Bunner
Resolving merge errors.
Change 3386414 on 2017/04/10 by Chris.Bunner
Resolved merge issue in RendererScene.cpp.
Change 3386700 on 2017/04/10 by Mark.Satterthwaite
Silence documentation warnings.
Change 3387178 on 2017/04/10 by Chris.Bunner
Removed invalid mask correction on MakeMA material nodes.
Change 3388177 on 2017/04/11 by Marcus.Wassmer
Disable ensure that is no longer relevant now that we bind clear colors on texture creation
Change 3388261 on 2017/04/11 by Chris.Bunner
Static analysis fix.
[CL 3388266 by Chris Bunner in Main branch]
#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]
#lockdown Nick.Penwarden
Change 3358916 on 2017/03/22 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests #!rb na
Change 3357395 on 2017/03/21 by Daniel.Lamb
Added some more custom stats to the cooker.
Only cook the english cook culture when we are running local builds.
#!rb Trivial
#!test Iterative shared cooked builds paragon
Change 3357377 on 2017/03/21 by Daniel.Lamb
Added support for packages which fail to load to the package dependency info module
#!rb Trivial
#!test Cook paragon
Change 3356838 on 2017/03/21 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!3rb #!tests na
Change 3355306 on 2017/03/20 by Daniel.Lamb
Switched PackageDependencyInfo to using Guid instead of entire package hash when generating dependency info.
Stopped cooker from collecting garbage while in the editor.
Iterative cooks don't resolve string asset references for startup packages.
#!rb Trivial
#!test Shared precooked build paragon
Change 3354527 on 2017/03/20 by Wes.Hunt
AnalyticsProvider::SetUserID will now flush any pending events before changing the ID. #!jira AN-1660
#!fyi josh.markiewicz,david.nikdel
#!rb josh.markiewicz
#!tests ran client connected to Solo vs. AI server
Change 3353852 on 2017/03/20 by Benn.Gallagher
Speculative fix for clothing crashes using Mambo. It was possible that the skeletal mesh component could have triggered deletion or creation of simulation state objects while the simulation was in flight on another thread, added tracking and waiting for outstanding tasks.
#!jira OR-36843, UE-42975
#!rb Martin.Wilson
#!tests Editor PIE, -game hero gallery
Change 3353048 on 2017/03/18 by Jeff.Williams
#!ORION_DG - Merge MAIN @CL 3353033
Change 3352845 on 2017/03/17 by Daniel.Lamb
Renamed the ConvertRenderTargetToTexture2D function so that it's obvious it's a editor only feature.
#!rb Daniel.Wright
#!test Editor paragon
Change 3352544 on 2017/03/17 by Daniel.Lamb
ADded support for ignoring ini settings incompatbilities when using shared cooked builds.
#!rb Trivial
#!test Shared cooked build paragon
Change 3352285 on 2017/03/17 by Daniel.Lamb
Fix client side compilation error to do with render texture conversion function
#!rb Trivial
#!test Compile Paragon
Change 3352141 on 2017/03/17 by Daniel.Lamb
Added support for blueprint function to convert a rendertexture to a texture.
#!rb Daniel.Wright
#!test Run in the editor
Change 3351612 on 2017/03/17 by Andrew.Grant
Expand EngineDir and ProjectDir variables during AppLocal deployment
#!tests Jamie verified packaging Orion via the editor works now
#!rb Jamie.Dale
Change 3350470 on 2017/03/16 by Laurent.Delayen
Fix for PS4 compile.
#!rb none
#!tests PS4 + non unity
Change 3350237 on 2017/03/16 by Andrew.Grant
Pak-mounting fix from Dev-Core for OR-36896
#!tests na
#!rb GIl.Gribb
Change 3350079 on 2017/03/16 by Laurent.Delayen
Added 'AnimNotify_PlayMontageNotify' and 'AnimNotify_PlayMontageNotifyWindow' to forward notifies Begin/End to 'PlayMontage' AsyncTask.
#!rb lina.halper
#!tests Yin's BP
Change 3349694 on 2017/03/16 by robomerge
#!ROBOMERGE-AUTHOR: dan.hertzka
Exposing copy/paste actions for properties embedded within IDetailGroup header rows
#!rb Matt.Kuhlenschmidt
#!tests Copy/paste on skin variant primary override rows
#!ROBOMERGE-SOURCE: CL 3349513 in //Orion/Dev-REGS/... via CL 3349675
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3349560 on 2017/03/16 by David.Ratti
Update GameplayTagReferenceHelper to pass in raw data for owner struct (Rather than having caller pass raw 'this' to delegate). Fixes crashes with resizing lists while making calling code less crappy (avoid having to implement copy cstor and operator to fixup delegate).
Added GameplayTagReferenceHelper to gameplay cue classes.
#!rb none
#!tests editor
Change 3349305 on 2017/03/16 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests compiled
#!rb na
Change 3349189 on 2017/03/16 by Benn.Gallagher
Fixed clothing not running in PS4 packaged builds
#!rb Martin.Wilson
#!jira OR-36680
#!tests PS4 cooked OrionEntry with Shinbi
Change 3348659 on 2017/03/15 by Daniel.Lamb
Fix compilation errors.
#!rb None
Change 3348646 on 2017/03/15 by Andrew.Grant
Unshelved from pending changelist '3347778':
<description: restricted, no permission to view>
Change 3348636 on 2017/03/15 by Daniel.Lamb
Fixed issue with rebuildlighting commandlet not checking out separate lighting files.
#!rb None
#!test ResavePackages commandlet
Change 3348559 on 2017/03/15 by Daniel.Lamb
Fixed up some iterative ini settings blacklist configs.
#!rb Trivial
#!test Iterative Cook paragon
Change 3348379 on 2017/03/15 by Laurent.Delayen
Added simple Async Node 'Play Montage' to use outside of gameplay abilities.
#!rb none
#!tests none
Change 3348035 on 2017/03/15 by Ben.Salem
Switch automationcheckpoint to being a .log file. Unblocks running on packaged builds in paragon.
#!rb none
#!tests ran oh so very many tests with the changes.
Change 3345982 on 2017/03/14 by Zak.Middleton
#!orion - OR-36422: Clamp client net send rate for character movement to 60Hz (down from 90). Integrates CL 3345771 from Dev-Framework which adds engine support for specifying the rate parameters, and sets them in Orion DefaultGame.ini to 1/60 second.
#!jira OR-36422
#!tests multi-PIE dedicated server, various framerates, net lag, etc.
#!rb Laurent.Delayen
#!codereview Laurent.Delayen
Change 3345134 on 2017/03/14 by Jordan.Walker
mono work
Change 3344857 on 2017/03/14 by Martin.Wilson
Missing includes for transactor header
#!rb none
Change 3341860 on 2017/03/10 by Chris.Bunner
Partial revert of CL 3339904. Fixed material translation error with multiple connections from custom interpolator nodes.
#!rb None
#!tests Editor, Known trouble materials with interpolator nodes, With/without material functions
Change 3341759 on 2017/03/10 by Daniel.Lamb
Fixed up NetworkCompatible version so that it works with UGS.
#!rb Trivial
#!test Cook ps4 paragon.
Change 3341616 on 2017/03/10 by Josh.Markiewicz
#!UE4 - added define for OGS feature
#!rb none
#!codereview sam.zamani
#!tests compiles
Change 3341612 on 2017/03/10 by Josh.Markiewicz
#!UE4 - removed old define
#!tests compiles
Change 3340180 on 2017/03/09 by Daniel.Lamb
Integrate fix for sync loading from main to Dev General.
#!rb Ben.Zeigler
Change 3339904 on 2017/03/09 by Chris.Bunner
Fixed material translation error when custom interpolator node hooked to multiple function outputs.
#!rb None
#!tests Editor
Change 3339280 on 2017/03/09 by Josh.Markiewicz
#!UE4 - removed WebBrowser moduel dependency on OnlineSubsystem
- added 2 functions to online engine interface
#!codereview sam.zamani, ben.marsh
Change 3338654 on 2017/03/08 by Daniel.Lamb
Fixed up some issues with iterative ini settings.
Added support for target platforms exposing which audio formats they use so they can match up supported formats with different machines.
#!rb None
#!test Cook paragon iteratively
Change 3336989 on 2017/03/08 by Ben.Marsh
Merging CL 3336693 from Dev-Core: Use shared PCHs for game plugins by default, to reduce time spent generating individual PCHs.
#!rb none
Change 3336135 on 2017/03/07 by Michael.Trepka
Hide GameLayerManager's title bar on exiting PIE
#!rb Dan.Hertzka
#!tests Tested in the editor on Windows
Change 3335324 on 2017/03/07 by Aaron.Eady
Chat;
Adding AddedItem, CompletedItem, and DiscardedItem to the chat message type enum so we can control the color for each. Set the colors in the Social asset.
Creating client record settings for turning on/off the added item, completed item, and discarded item in chat. Put these in the gameplay settings menu.
Added horizontal boxes to the gameplay settings menu because we are running out of space.
Added a vertical scroll bar to the gameplay settings menu but it doesn't seem to show. Also fixed the horizontal scroll bar at the bottom to be horizontal instead of vertical.
#!rb Matt.Schembari
#!tests MCP, PIE
#!lockdown Nicholas.Davies
#!RN
Change 3333541 on 2017/03/06 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3333512
#!RB:none
#!Tests:none
#!codeReview: cameron.winston
Change 3332578 on 2017/03/04 by Andrew.Grant
Temp Disabled wrong-looking warning
#!tests #!rb na
#!ROBOMERGE: Main
Change 3332555 on 2017/03/04 by Andrew.Grant
Proper fix for Tencent DLL issue
#!tests #!rb na
#!ROBOMERGE: Main
Change 3332552 on 2017/03/04 by Andrew.Grant
Fix for Tencent DLL issue while staging
#!tests none
#!rb none
#!ROBOMERGE: Main
Change 3332216 on 2017/03/03 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3332168
#!RB:none
#!Tests:none
Change 3332060 on 2017/03/03 by Daniel.Lamb
Fixed issue with AsyncLoading code eventually flushing async loading while in async loading...
This causes all kinds of cool stuff like objects on the stack corruption and also deleted memory accesses.
#!rb Gil.Gribb.
#!test Editor and -game
Change 3331680 on 2017/03/03 by Jason.Bestimt
#!ORION_MAIN - Merge MAIN @ CL 3331636
#!RB:none
#!Tests:none
#!codeReview: andrew.grant
Change 3331412 on 2017/03/03 by James.Hopkin
#!orion Rebuilt OpenSSL libs for PS4 to fix process termination due to SIGPIPE on closing websockets
Source change committed in CL#!3331380
#!jira OR-36274
#!fyi Paul.Moore
Change 3331375 on 2017/03/03 by Sam.Zamani
fix dll path for tenproxy
#!rb none
#!tests none
Change 3330953 on 2017/03/02 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3330924
[STOMPED ChestOpeningScreen.uasset]
#!RB:none
#!Tests:none
#!codeReview: bryan.rathman, phil.buuck, matt.schembari, andrew.grant
Change 3330646 on 2017/03/02 by Andrew.Grant
Warning and non-unity fix
#!tests compiled
#!rb none
Change 3330388 on 2017/03/02 by Andrew.Grant
Merging //Orion/Main to Dev-General (//Orion/Dev-General)
#!tests #!rb na
Change 3329982 on 2017/03/02 by Sam.Zamani
fixed updated module rules
#!rb none
#!tests regen projects
Change 3329964 on 2017/03/02 by Sam.Zamani
Copying //Tasks/Orion/Dev-Online-Tencent to Dev-General (//Orion/Dev-General)
3245325 Adding new OSS for Tencent online platform
3245448 tencent third party SDK
TCLS proxy functionality
#!rb none
3245474 missing include
#!rb none
3249585 TCLS tenproxy.dll in thirdparty bin folder
#!rb none
3249726 Load TenProxy.dll for TCLS integration
New OSS Tencent
#!rb none
3255571 tencent configs
#!rb none
3255826 Tencent TCLS paragon launcher
#!rb none
3256168 TCLS launch batch update cmd line options
#!rb none
3256170 Added "TencentLive,TencentDev" MCP config entries
#!rb none
3256504 xmpp config update
#!rb none
3273168 skip login steps for tencent
config update
#!rb none
3279427 #!xmpp
add option to use plain text auth
3279428 disable ssl and use plain text auth for XMPP connection
temporary until we have a valid cert setup on Tigase deployment
3281566 enabled OSS tencent
this will also be the toggle for detecting when to enable tencent functionality at runtime
3283103 differentiate between tencent dev/live environments
disable QoS region selection for tencentdev
3283106 lower http verbosity
3283734 config updates
3285066 disable replays and mtx for tencent build
3291005 #!online,mcp
service config bEnabled flag to toggle individual services as needed
3291006 explicitly mark unneeded Mcp services as disabled
3291108 allow replay tab to be disabled via UOrionRuntimeOptions.bEnableReplays=false
3291492 disable recording of replays for tencent mode
3292750 disable replay tab based on bEnableReplays=false
3292753 new orion runtime option bDisallowCoinPurchases
if true, prevents coins from being available for purchase
3292755 diable mtx coin offers if bDisallowCoinPurchases=true
3292759 missing header
3293246 disable query for available friend codes if bEnableFriendCodes=false
3293250 temp usage of NULL analytics provider
3298025 Adding optional RegionTencent plugin for overriding config files
3298027 ability to override config cache values via plugin config files
3311016 default to TencentDev backend when running in tencent mode
3311017 CMS tencent config
3311022 Rename RegionTencent to RegionCN
3312470 disable links for tencent build
3313014 move tenproxy.dll to \OrionGame\Binaries\ThirdParty\Tencent
3314861 tenproxy 2.0.2.7 update
3314878 default RegionCN plugin to disabled
this will only be enabled once the RegionCN.pak is loaded
3314879 TCLS launcher pointing at UE4Editor.exe for development
3315257 missing file
3323573 remove TCLS launcher
3326006 Tencent TLOG SDK
3326277 wrapper singleton class for tenproxy connection
3329180 Tencent support for login flow
3329181 WIP tenproxy connection usage in identity
3329624 wip tcls proxy
#!rb none
#!tests none
Change 3329651 on 2017/03/02 by Andrew.Grant
Merging from //UE4/Main @ 3322856 through Orion-Staging
#!tests QA
#!rb na
Change 3329411 on 2017/03/02 by robomerge
#!ROBOMERGE-AUTHOR: dan.hertzka
Duplicating CL 3303733 from Dev-Editor (simple fix for a massive issue)
- This will prevent any TAssetPtr property from getting stomped by undo/redo (you know those ridiculous store and card art issues? Fixed!)
#!lockdown Jason.Bestimt
#!rb none
#!tests Undo on an item definition asset
#!ROBOMERGE-SOURCE: CL 3329404 in //Orion/Release-38.3/... via CL 3329405
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3328858 on 2017/03/01 by Lina.Halper
Fixed crash on importing animation that was edited before
#!rb: none
#!tests: reimport
Change 3328459 on 2017/03/01 by Daniel.Lamb
When adding new ddc back ends to the hierarchcial ddc make sure to update the async backends lists.
#!codereview Gil.Gribb
#!test None
#!rb Trivial
Change 3328182 on 2017/03/01 by Daniel.Lamb
Unshelved from pending changelist '3318009':
Adding support for shared cooked builds to be downloaded from the network.
Included CookedAssetRegistry in the p:\ published builds.
#!rb Ben.Marsh
Change 3327856 on 2017/03/01 by Frank.Gigliotti
Added velocity overrides to FRK4SpringInterpolator;
#!RB None
#!codeReview Laurent.Delayen
#!Tests PIE
Change 3327096 on 2017/03/01 by David.Ratti
Added generic reference viewer details customization for gameplay tags. Added it to GameplayStatsMetaData.
#!rb none
#!tests editor
Change 3326177 on 2017/02/28 by Daniel.Lamb
Added some more debugging information to help track down live issue.
#!rb Chris.Bunner
#!test Ran editor.
Change 3324951 on 2017/02/28 by David.Ratti
UDataTable: added AddRow/RemoveRow native functions.
#!rb JB
#!tests na
Change 3323852 on 2017/02/27 by David.Ratti
Fix ::RequestAllGameplayTags OnlyIncludeDictionaryTags option
#!codereview Ben.Zeigler
#!rb #!tests na
Change 3323706 on 2017/02/27 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3323694
#!RB:none
#!Tests:none
Change 3321945 on 2017/02/24 by Jon.Lietz
OR-36258
- fixing an issue where gameplay effects that are set to not refresh the period should not allow the execution of a period effect on application.
#!RB David.Ratti
#!tests golden path
#!codeReview: Billy.Bramer, Fred.Kimberley
#!RNX
Change 3321876 on 2017/02/24 by Daniel.Lamb
Fixed erroronEngineContentUse flag not being set properly.
#!rb Trivial
#!test Cook Paragon.
Change 3321591 on 2017/02/24 by Jason.Bestimt
#!ORION_DG - MAIN @ CL 3321563
#!RB:none
#!Tests:none
Change 3321260 on 2017/02/24 by Andrew.Grant
Fixed issue that was causing missing string references to not show their referencer
#!rb none
Change 3321040 on 2017/02/24 by Robert.Manuszewski
Merging changes 3316253 and 3319134 from Dev-Core: fixes to file log hangs and crashes.
#!rb none
#!tests Cooked Win64 server and client, played cooked Win64 build
Change 3319413 on 2017/02/23 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3319394
#!RB:none
#!Tests:none
Change 3317905 on 2017/02/22 by Daniel.Lamb
Integrate CL 3238291 from Odin
Add Plugin content to the asset registry
Change the location of AssetRegistry.bin when cooking a plugin as DLC
Include AssetRegistry.bin in the cooked plugin staging process
Add function to PluginManager to keep list of any plugins that loaded a pak file
Use list of plugins with pak files to merge their AssetRegistry.bin files into the main AssetRegistry when it's created
#!rb Ben.Marsh
#!codereview Chance.Ivey, Daniel.Lamb
Change 3317648 on 2017/02/22 by Cody.Haskell
Instead of popping an external web browser, we use the SWebBrowser widget on GFN.
#!rb DanH
#!codereview Andrew.Grant, Dan.Hertzka, Matt.Schembari
#!tests PIE
Change 3317289 on 2017/02/22 by Jason.Bestimt
#!ORION_DG - Merge MAIN @ CL 3317254
#!RB:none
#!Tests:none
Change 3317186 on 2017/02/22 by Mieszko.Zielinski
Fixed items that have been force-scored by an EQS test as 'failed' getting discarted even if the test is being run in scoring-only mode #!UE4
#!test golden path
#!rb Lukasz.Furman
#!codereview Daniel.Broder, John.Abercrombie
Change 3317005 on 2017/02/22 by Daniel.Lamb
Submitted wrong version of my file.
#!rb Trivial
#!test Compile
Change 3316958 on 2017/02/22 by Daniel.Lamb
Added support in buildcookrun for shared cooked builds.
#!rb Trivial
#!test BuildCookRun iterative script
Change 3316942 on 2017/02/22 by Daniel.Lamb
DLC cooking optimization.
Optimization to determining package dependency tree, now is async.
Fixes for iterate shared cooked build. Added fallback when using shared cooked build to local build if local build is newer.
Added DLC cooking warning if you are overriding output directories.
Removed previous release packages names from DLC asset registry.
Only generate manifest for additional assets instead of all assets.
Minor optimization to worst case resolving of string asset references. Only resolve those that haven't been resolved before (only happens when GC thrashing happens).
#!rb Andrew.Grant
#!test Cook paragon
[CL 3365166 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3195953 on 2016/11/12 by Leslie.Nivison
Rollback //UE4/Release-4.14/Engine/Plugins/Runtime/Nvidia to changelist 3193712
New GameWorks license from NVIDIA
#jira UEPROD-900
Change 3195944 on 2016/11/12 by Leslie.Nivison
Removing GameWorks SDK license until we get a new one from NVIDIA
#jira UEPROD-900
Change 3195942 on 2016/11/11 by Chris.Gagnon
Removing Ansel from 4.14 until revised EULA is handle.
#jira UE-none
Change 3195431 on 2016/11/11 by Mitchell.Wilson
Rebuilt lighting in subway reflections sample
#jira UE-38538
Change 3195080 on 2016/11/11 by mason.seay
Extended floor to allow more driving space
#jira UE-29618
Change 3194886 on 2016/11/11 by Chris.Babcock
Correct handling for 6x6 blocksize in ASTC compressor
#jira UE-38513
#ue4
#android
Change 3193712 on 2016/11/10 by Leslie.Nivison
Updating Ansel TPS info per NVIDIA response
#jira UEPROD-900
Change 3193691 on 2016/11/10 by Lina.Halper
#jira: UE-38488
Change 3193532 on 2016/11/10 by Lauren.Ridge
Fix to keep the user in VR editing mode after leaving VR PIE.
#jira UE-38317
Change 3193468 on 2016/11/10 by Leslie.Nivison
Removing unneeded license
#jira UEPROD-900
Change 3193465 on 2016/11/10 by Leslie.Nivison
Updating credits for 4.14
#jira UEPROD-902
Change 3193416 on 2016/11/10 by Daniel.Lamb
Changed default of exclude editor only content flag.
#jira UE-38455
Change 3193399 on 2016/11/10 by Mitchell.Wilson
Applied correct material to certain LODs of tree meshes in KiteDemo
#jira UE-38472
Change 3193049 on 2016/11/10 by Thomas.Sarkanen
Fix disappearing mesh on undo in skeletal mesh editor
Also fixes crash on undo in morph target panel
#jira UE-38430 - Undo in Skeletal Mesh Editor causes model to disappear
#jira UE-38437 - Crash when Undo after editing a weight in Morph Target Previewer
Change 3192655 on 2016/11/09 by Ryan.Vance
#jira UE-37238
Pulling in 3164679 and 3169467 which didn't make the 4.14 cut. Also changed to a full inverse for InvTranslatedViewProjectionMatrix in FViewMatrices::UpdateViewMatrix.
Change 3192613 on 2016/11/09 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3192197 on 2016/11/09 by Daniel.Wright
Added SUPPORT_CONTACT_SHADOWS, only standard deferred lighting supports it. Fixes scene depth texture bound in forward shading base pass.
#jira UE-38340
Change 3192182 on 2016/11/09 by Rolando.Caloca
UE4.14 - Fix recompute tangents not working when skin cache is enabled
#jira UE-38398
Change 3191695 on 2016/11/09 by Chris.Wood
Editor heartbeat changes for 4.14
[AN-1003] - Make Editor heartbeat 1min
[UE-38417] - Editor heartbeat changes (vanilla editor, new interval, debugger attached)
Also added IsDebugger, IsVanilla and IntervalSec to Editor.Usage.Heartbeat
#jira UE-38417
Change 3191437 on 2016/11/09 by Jack.Porter
Fix for LandscapeInfo crash when using Force Delete
#jira UE-37172
Change 3191033 on 2016/11/08 by Leslie.Nivison
Adding licenses for marketplace plugins
#jira UEPROD-901
Change 3191028 on 2016/11/08 by Leslie.Nivison
Updating licenses due to TPS version updates.
Logging undocumented TPS per engine audit
#jira UEPROD-900
Change 3190632 on 2016/11/08 by mason.seay
Updated testmap and assets
#jira UE-29618
Change 3190624 on 2016/11/08 by Jamie.Dale
Fixed case where FHTML5TargetPlatform::RefreshHTML5Setup could incorrectly add an empty device
Changes to UStrProperty::ExportTextItem caused FParse::Value to (correctly) read an empty string for DevicePath which passed the DirectoryExists check (where it would have previously read "))" which would fail that check).
#jira UE-38157
Change 3190443 on 2016/11/08 by Josh.Adams
- Somehow checking in my tested shelf messed up
#jira UE-38304
Change 3190354 on 2016/11/08 by Josh.Adams
- Vulkan now always being compiled in, if the SDK exists. Compiling not dependent on project settings
#jira UE-38304
Change 3190123 on 2016/11/08 by zachary.wilson
Updating testing content for sureface per-pixel improvements
#jira UE-29618
Change 3190113 on 2016/11/08 by Alexis.Matte
Make sure the default light map channel is 1 and not 0
#jira UE-35627
Change 3190102 on 2016/11/08 by Dmitry.Rekman
Linux: default to binned everywhere (UE-38287).
- Fixes suspicious crashes happening in uncooked build. Workaround, needs separate investigation.
#jira UE-38287
Change 3190000 on 2016/11/08 by Allan.Bentham
Removed old protostar loadmap hack.
#jira UE-38342
Change 3189914 on 2016/11/08 by Allan.Bentham
Fix vulkan crash when rendering sky capture.
Fix crash when rendering LDR scene capture on device.
#jira UE-38291
Change 3189861 on 2016/11/08 by Thomas.Sarkanen
Fix out of bounds access when using hidden bones with master pose components
Code was trying to to access the ReferenceToLocal array using a parent index from the master pose component. Now changed to only use indices known to be valid (i.e. this component's) to index the ReferenceToLocal array. Bone visibility is still master-authoratitive.
#jira UE-38214 - [CrashReport] UE4Editor_Engine!UpdateRefToLocalMatrices() [skeletalrender.cpp:238]
Change 3189370 on 2016/11/07 by Daniel.Wright
Only check transform mismatches for static lighting in UStaticMeshComponent::ApplyComponentInstanceData on components that actually can have static lighting
#jira UE-38272
Change 3189358 on 2016/11/07 by Mark.Satterthwaite
Intel Metal drivers can no longer compile our compute shaders reliably meaning Intel Macs must always use Metal SM4 as otehrwise they will crash.
#jira UE-38299
Change 3189273 on 2016/11/07 by Rolando.Caloca
UE4.14 - Integrate fix from 3161219
#jira UE-38270
Change 3189084 on 2016/11/07 by Chris.Bunner
Fix RemoveAAJitter from projection matrix.
#jira UE-37701, UE-38003
Change 3188636 on 2016/11/07 by Allan.Bentham
use glVertexAttribIPointer only on ES3.1 enabled projects.
#jira UE-38241
Change 3188596 on 2016/11/07 by Yannick.Lange
VR Editor: Fix crash when closing window while in VR Editor
#jira UE-37995
Change 3188433 on 2016/11/07 by Matthew.Griffin
Add starter content .upack files to starter_content tag so that they should still be installed if templates/feature packs option is de-selected in the Launcher
Change 3187739 on 2016/11/04 by Mitchell.Wilson
Updating DefautlEditor and DefaultEngine ini to correct path to VehicleMenu level.
#jira UE-29748
Change 3187536 on 2016/11/04 by Martin.Wilson
Fix for "Renaming a montage section via its details panel doesn't update the section correctly"
#jira UE-35929
Change 3187499 on 2016/11/04 by zachary.wilson
Checking in content fixes for Lighting Scenarios test level
#jira UE-29618
Change 3187492 on 2016/11/04 by mason.seay
Updated map to improve testing
#jira UE-29618
Change 3187438 on 2016/11/04 by Nick.Shin
fix html5 port number for cook-on-the-fly option
#jira UE-38032 - Quicklaunch HTML5 fails on Chrome. Browser returns "This site can't be reached 127.0.0.1 refused to connect"
Change 3187305 on 2016/11/04 by Martin.Wilson
Fix log spam from animation sequence thumbnails
#jira UE-38224
Change 3187260 on 2016/11/04 by Lauren.Ridge
Fix for crash on opening a level in VR Editing mode. When closing VREditorMode for a level load, HMD no longer leaves stereo mode.
#jira UE-32541
Change 3187224 on 2016/11/04 by Robert.Manuszewski
Proper fix for a crash when launching BP-only project from the Editor with EDL enabled (does not modify UE4Game target binaries)
#jira UE-37617
Change 3187136 on 2016/11/04 by Alexis.Matte
Fbx importer for static mesh, make sure that we order the materials array to follow the section order.
#jira UE-38242
Change 3187065 on 2016/11/04 by Mitchell.Wilson
Updated BP_Commentary_Box to resolve warnings with array if the box opens then closes before the text is rendered.
#jira UE-38266
Change 3187056 on 2016/11/04 by Mike.Beach
Guarding against a rare crash that occurs when compiling a Blueprint after hot-reload. GUnrealEd was null, which is concerning (as it could have resounding effects in other systems), but as I could not repro it more than once (to figure it out more) I simply guarded the use of a null pointer here.
#jira UE-38198
Change 3187040 on 2016/11/04 by Matthew.Griffin
Corrected path to DotNETCommon folder
Exclude all editor plugin pdbs from stripping
#jira UE-37072
Change 3186984 on 2016/11/04 by Marc.Audy
Fix crash when null component considered
#jira UE-36493
Change 3186600 on 2016/11/04 by Max.Chen
Sequencer: Fix crash in sequencer editor mode.
#jira UE-38205
Change 3186564 on 2016/11/04 by Nick.Shin
checking in latest physx libs for html5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186258 on 2016/11/03 by Nick.Shin
fix for automation build to handle deleting of windows x86 & x64 libs properly
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3186225 on 2016/11/03 by Lauren.Ridge
Fix for foliage brush not showing up until after first motion controller click.
#jira UE-38002
Change 3186100 on 2016/11/03 by Chris.Babcock
Update local notifications to deal with depreciated API
#jira UE-38236
#ue4
#android
Change 3186074 on 2016/11/03 by Mitchell.Wilson
Rebuilt lighting in Content Examples Welcome level
#jira UE-38239
Change 3185923 on 2016/11/03 by Lina.Halper
Fixed issue with animation not ticking in inactive world causing it to update parent animation
#jira: UE-37933
Change 3185764 on 2016/11/03 by Mitchell.Wilson
Updating deprecated node in MyCharacter_UMG.
#jira UE-38229
Change 3185683 on 2016/11/03 by Nick.Shin
non SSE2 version of PhysX for HTML5
#jira UE-38179 HTML5 Player falls through world on Firefox 64-bit
Change 3185492 on 2016/11/03 by Ben.Woodhouse
Workaround for very high render query memory overhead on D3D12. Add a cvar to limit timestamp queries allocated by the GPU profiler in a given frame. On D3D12 this limit is 1024 - other RHIs remain unbounded.
Currently render queries are 64KB each on D3D12, so this prevents high memory overhead on particular frames, e.g when we render a large number of reflection captures.
In practice, most frames are under 400 queries, so in practice we shouldn't hit the limit except in extreme cases.
#jira UE-38139
Change 3185481 on 2016/11/03 by Dmitry.Rekman
Remove version number from Linux README (UE-38059).
#jira UE-38059
Change 3185322 on 2016/11/03 by Ryan.Gerleve
Allow path names in NetFieldExportGroups to be remapped on the client.
#jira UE-37990
Change 3185293 on 2016/11/03 by Matthew.Griffin
Exclude UnrealControls and iPhonePackager from Build Tools CS node on non-Windows platforms as they don't compile
#jira UE-34016
Change 3185252 on 2016/11/03 by Michael.Trepka
Properly revert to OpenGL on Macs that do not support Metal
#jira UE-38190
Change 3184835 on 2016/11/03 by Jurre.deBaare
Crash when using undo in the preview scene settings of Persona
#fix Ensure that the profile index is valid after undo-ing
#misc Added transactions for adding/remove of the profiles
#jira UE-38142
Change 3184833 on 2016/11/03 by Jack.Porter
Fixed crash when ENABLE_VERIFY_GL and r.MobileOnChipMSAA is enabled on Android
#jira UE-38186
Change 3184418 on 2016/11/02 by Ryan.Vance
#jira UE-38161
Adding ISceneViewExtension::UsePostInitView which will be used to enable/disable the usage of PostRenderViewFamily_RenderThread and PostRenderView_RenderThread which was added earlier. We need to enable this behavior based on the hmd's compositor behavior, so a simple cvar wont work.
I missed the PostPresent implementation for steamvr in the earlier check in.
Change 3184286 on 2016/11/02 by Dan.Oconnor
Fix for IsValidLowLevel check being rotten. More correct fix will go into Dev-BP, but this is a low risk stop-gap
#jira UE-38149
Change 3184283 on 2016/11/02 by Arne.Schober
DR - UE-38155 replicated MS CL 3183837 - PSO Dangling Pointers: The PSO cache was returning pointers out of a Map which is based on a sparse Array and those pointers could become invalid if other insertions happen.
#jira UE-38155
Change 3184244 on 2016/11/02 by Richard.Ugarte
#jira UE-37534
Checking in updated UE4_Demo_Head_D on behalf of MikeB
Change 3184171 on 2016/11/02 by Michael.Trepka
Made Mac CrashReportClient high-DPI aware and fixed high-DPI handling in FMacWindow::IsPointInWindow()
#jira UE-37697
Change 3184126 on 2016/11/02 by Lauren.Ridge
VR Editor: Fixes for foliage painting only working on one controller, and for full press not painting foliage.
#jira UE-38147
#jira UE-38002
Change 3183997 on 2016/11/02 by Mitchell.Wilson
Scaled and Rotated 3d Widget to the correct position on example 2.3 in Content Examples UMG.
Adjusted collision on example 1.4 in Content Examples Physics. Updated collision on SM_ExampleMesh_Rocket.
Realigned some text render actors in Content Examples Post Process.
#jira UE-38099 UE-38078 UE-38064
Change 3183945 on 2016/11/02 by Mieszko.Zielinski
Fixed changing AreaClass of NavLinkProxy point links not having any effect on navmesh generation #UE4
#jira UE-38137
Change 3183906 on 2016/11/02 by Nick.Shin
for OSX (release-4.14 stream):
new OSX clang (from emscripten tool chain) configured by jukka from Mozilla
see Engine/Extras/ThirdPartyNotUE/emsdk/emscripten/incoming/EPIC_VERSION for details on where did this version come from
fixes for OSX -- update existing (bash shell script and UE4 c#) build files to use the new "incoming" emsdk
#jira UE-37329 - Step 'Compile UE4Game HTML5' - 300 Warnings
Change 3183899 on 2016/11/02 by Mieszko.Zielinski
Fixed EQS debugger not drawing item labels #UE4
#jira UE-38122
Change 3183239 on 2016/11/02 by Peter.Sauerbrei
fix for mobile provision with UUID only filename being allowed again by copying them to a new file name which allows them to be used.
#jira UE-38006
Change 3183149 on 2016/11/02 by Luke.Thatcher
[RELEASE] [SHOOTERGAME] [!] Fix "Is Talking" icon on ShooterGame scoreboard, after PS4 OSS refactor.
- ShooterGame was comparing FUniqueNetId::ToString() against AShooterPlayerState::GetShortPlayerName().
- This is wrong, since the NetId is not guaranteed to be equal to the player's name.
#jira UE-38011
Change 3183005 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [^] Merging (as edit) PS4 OSS fixes from Engine to OrionGame.
#jira UE-38017 UE-38020
Original Changelists:
3182765 [RELEASE] [PS4] [~] Additional logging for PS4 OSS "Play Together".
3182766 [RELEASE] [PS4] [!] Fix assert in FUniqueNetIdPS4::FindOrCreate. We were assuming an online-only ID could never become a local ID. This isn't the case in the following scenario:
- Two users join a session on two separate PS4s.
- One user signs into the other user's PS4 with the same account, with a second controller. PSN logs him out of the first PS4.
- That user's Net ID has now migrated from being online-only, to local-with-online. This is a case that was not handled.
3182767 [RELEASE] [PS4] [!] Fix PS4 session invitations.
- Was calling old Web API with SceNpOnlineId where SceNpAccountId is needed.
- Replaced with NpToolkit2's session invitation API.
3182892 [RELEASE] [PS4] [!] Fix incorrect identity API implementation in PS4 OSS.
- System events directly drive the login state of a user. This also removes the blocking call to sceNpGetState().
- GetAuthToken is only called if the engine calls IOnlineIdentity::Login().
3182951 [RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
Change 3182992 on 2016/11/02 by Nick.Darnell
UMG Editor - Fixing a regression with the editor, closing the sequencer tab and reopening the editor should no longer cause a crash.
#jira UE-38098
Change 3182951 on 2016/11/02 by Luke.Thatcher
[RELEASE] [PS4] [!] Fix "play together" invitations handling in PS4 OSS.
- Wrong condition in GetUserWebApiContext. Web API contexts can be created for local users (i.e. FUniqueNetIdPS4 instances with a valid SceUserServiceUserId).
#jira UE-38017
[CL 3201696 by Matthew Griffin in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2948319 on 2016/04/19 by Nick.Shin
update zlib to v1.2.8
part 1 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948661 on 2016/04/19 by Nick.Shin
keep using old zlibs until they are recompiled with the newer version
Change 2948737 on 2016/04/19 by Nick.Shin
build warning fix
Change 2949334 on 2016/04/20 by Nick.Shin
fix library path
for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...
Change 2951556 on 2016/04/21 by Nick.Shin
static libs double checked
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951559 on 2016/04/21 by Nick.Shin
static libs double checked
forgot these files - they were in another changelist
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2952411 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the C# build scripts
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
Change 3118163 on 2016/09/08 by Josh.Adams
perm test 2, not a useful file at all
Change 3121142 on 2016/09/12 by Daniel.Lamb
Attempt to fix deterministic cooking issue for particlelodlevel.
Ensure the spawn module has had postload called on it before using.
#test Paragon cook
Change 3121150 on 2016/09/12 by Daniel.Lamb
Added warning logs to help track down issue UE-33453.
Change 3121201 on 2016/09/12 by Keith.Judge
Xbox One - Replicate CL 3114357 from 4.13 branch. ESRAM clear on create fix.
Change 3121302 on 2016/09/12 by Joe.Graf
Fixed up the IMPLEMENT_MODULE macro usage to avoid the link errors
Change 3121379 on 2016/09/12 by Dmitry.Rekman
Linux: only link libraries that export needed symbols (UE-35720).
- Fixes very long startup times of modular builds.
- Includes PR #2778 by slonopotamus.
#jira UE-35720
Change 3121383 on 2016/09/12 by Dmitry.Rekman
Linux: added some missing _API declarations on symbols used externally.
- Compiling editor with -fvisibility=hidden works after this fix (although running still doesn't).
Change 3121456 on 2016/09/12 by Daniel.Lamb
Attempt to fix deterministic cooking issue for particlelodlevel.
Ensure the spawn module has had postload called on it before using.
#test Paragon cook
Change 3122939 on 2016/09/13 by Luke.Thatcher
[PLATFORM] [PS4] [!] Skip orbismemdmp files in the PS4 crash handler web service.
- Writing these files to disk causes orbis-tm.exe to take a file lock on them, which means we can't move the crash directory to the landing zone.
Change 3123040 on 2016/09/13 by Brent.Pease
+ Fix VS compile error by removing ENGINE_API from virtual method decls since ENGINE_API is defined for the entire class now.
Change 3123664 on 2016/09/13 by Nick.Shin
this was originally checked into: release 4.13.1
bringing here to dev-platform
-- original submit comments --
first, safari has a problem with firing off "window resized" events - causing an infinite loop of the window "resizing"
next, retina has "bigger" size calculations going off -- so y-delta checks greater than 2 are done to prevent resize event firing off in an infinite loop
jira UE-35363 - Huge game window when launching onto Safari 9.1.2
Change 3125282 on 2016/09/14 by Michael.Trepka
Fixed iOS and tvOS code indexing in Xcode project
Change 3126812 on 2016/09/15 by Josh.Adams
Merged Wolf support into Dev-Platform (hidden from almost all people still). Non-Wolf-specific changes:
- Added Parse function to JsonObject.cs to be able to parse a string
- Replaced some hacky post-reflection-capture functions with RHISubmitCommandsAndFlushGPU()
- Split PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO off from PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME
- Converted the PS4MallocCrash class into a generic one (that Wolf is now also using)
- Added AddGenericToInQueueOnlineThread(), useful running a delegate on Online thread instead of game thread
- Refactored the GL shader compiler to allow Wolf to modify behavior without a lot of if WOLF checks everywhere
- Added ability in the cross compiler to convert the global uniform arrays into named uniform buffer objects
- Added ability for GL shader compiler to output original resources names ("VertColor" instead of "u_v[3]" or whatever)
- Added "FORCELODGROUP" console command that will apply a StaticMesh LODGroup to selected meshes in the editor. This can batch-Simplygonify all meshes in a level. Should maybe become an editor tool.
- Added ability for arrays of structs to specify a property to be the key. So, with LODGroups, the Name key inside the struct can be the unique key, so when you have multiple .ini files in the hierarchy overriding the same LODGroup by name, it will repalce the first with the second, instead of adding two entries with the same name. Set by @ArrayName=KeyPropertyName. Per Object Config sections need a little different handling, which uses * (see BaseDeviceProfiles.ini)
- Added ability to change DeviceProfiles at runtime. Use "dp.override <name>". If you do it again to another one, it will reset the settings to what they were originally, before applying the second new DP. This is because the second DP may not set all settings the first one did, but we want to undo the first settings that the second doesn't contain.
- Added FRHICommandListImmediate::IsStalled() - returns true while FRHICommandListImmediate::StallRHIThread is happening
- Changed runtime GetFeatureLevelMaxTextureSamplers() calls to the new GetMaxTextureSamplers() which can now be handled by the platform. Renamed GetFeatureLevelMaxTextureSamplers to GetExpectedFeatureLevelMaxTextureSamplers() (only used by the shader editor) to guess at what maybe the samplers count will be - but it's not guaranteed correct.
- Renamed a UT copy of a global function to not linker-conflict
- Changed the OOMBackupMemoryPool to allow each platform to set how much memory to allocate. See FPlatformMemory::GetBackMemoryPoolSize(). Defaults to 0, which was the previous behavior with the now removed FPlatformMemory::SupportBackupMemoryPool(), which was only true in Windows and PS4.
- Added an OOM delegate so other systems can get a callback after OOM occurs (after deleting the backup memory pool if it exists)
- Changed SetQualityLevels() (in Scalability.cpp) to no longer change the SetBy priority when setting CVars, and now keeps the SetBy the same as it was. Helps with conflicts between game settings and device profiles. See SetWithCurrentPriority()
- Added GetRenderingThreadPriority to FPlatformAffinity to allow a platform override priority. Not sure about this one, so may remove it, or maybe add more priorities for all the threads?
- Added a new file into the ini hierarchy to begin fixing the Engine/Base -> Project/Default -> Engine/Platform -> Project/Platform mess. We now have Engine/Base -> Engine/BasePlatform -> Project/Default -> Engine/Platform -> Project/Platform. However, Engine/Platform will soonm be deprecated as we move things over to Engine/BasePlatform, that are safe to move.
Change 3126842 on 2016/09/15 by Michael.Trepka
Make SAssertPicker's search box the default widget to focus on activate so that it doesn't get deactivated on Mac, where we get the window activation event in a tick after SAssertPicker creation.
Change 3126956 on 2016/09/15 by Michael.Trepka
Added support for compiling Vulkan shaders for Android on Mac
Change 3127206 on 2016/09/15 by Michael.Trepka
PR #2604: Remove some warnings. (Contributed by reapazor)
Change 3127324 on 2016/09/15 by Michael.Trepka
Allow third party dylibs on Mac to be loaded from plugin subfolders
Change 3127924 on 2016/09/16 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3128369 on 2016/09/16 by Nick.Shin
zlib 1.2.8
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128377 on 2016/09/16 by Nick.Shin
openssl 1_0_2h
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128383 on 2016/09/16 by Nick.Shin
libcurl 7_48_0
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128384 on 2016/09/16 by Nick.Shin
libwebsockets 1.7.4
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128464 on 2016/09/16 by Nick.Shin
webRTC rev.12643
NOTE: VS2015
- only Win64 is available
- Win32 versions is crashing (e.g. EpicGamesLauncher) at the moment
NOTE: VS2013
- not tested (i'm working on getting a VS2013 pro license) - so not checking in with this changelist
- also, VS2013 is no longer supported by webRTC build scripts, so it will be old anyways
FUTURE NOTE:
- will continue to try to get VS2015 Win32 functional
- and am working on trying to get VS2013 tested
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128500 on 2016/09/16 by Nick.Shin
zlib 1.2.8 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128504 on 2016/09/16 by Nick.Shin
openssl 1_0_2h - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128506 on 2016/09/16 by Nick.Shin
libcurl 7_48_0 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128508 on 2016/09/16 by Nick.Shin
libwebsockets 1.7.4 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128513 on 2016/09/16 by Nick.Shin
webRTC rev.12643 - OSX
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128602 on 2016/09/16 by Nick.Shin
webRTC rev.9862 - Win64 VS2013
NOTE:
- not tested (i'm working on getting a VS2013 pro license)
- checking in for testing purposes
WARNING:
- VS2013 is no longer supported by webRTC latest
headers and lib updates
part of [ zlib openssl libcurl libwebsockets webrtc ] updates
Change 3128605 on 2016/09/16 by Nick.Shin
re-enabling updated ThirdParySoftware libs:
- zlib (v.1.2.8)
- openssl (1.0.2h)
- libcurl (7_48_0)
- libwebsocket (v.1.7.4)
- webRTC (rev.12643)
to the codereviewers, in my attempt to ensure the older libs are still used for console, mobile and linux -- please refer to this checkin if i broke the build...
Change 3128651 on 2016/09/16 by Nick.Shin
fix Win32 build error from CL: #3128605
Change 3128704 on 2016/09/16 by Nick.Shin
fix Win32 build error from CL: #3128605 - this time actually compiling it...
Change 3128825 on 2016/09/16 by Dmitry.Rekman
Linux: proper fix for too slow startup times (UE-35967).
- Pull request #2793 by slonopotamus.
- Now without stripping dependencies on libraries specified before.
- Contains a work around for ld bug <2.25.
Change 3128972 on 2016/09/16 by Nick.Shin
fix to local build error.
Change 3129283 on 2016/09/16 by Brent.Pease
+ Add Android local notification support based on existing system used for iOS
+ Initial API has been added for cancelling local notifications but the actual platform implementation will be done in the next release
Change 3129494 on 2016/09/17 by Nick.Shin
fix CIS build errors
Change 3129503 on 2016/09/17 by Dmitry.Rekman
Fix Linux build (case sensitivity issue).
Change 3129514 on 2016/09/17 by Nick.Shin
fix CIS build errors for consoles - missing zlib include path
special thanks to Dmitry.Rekman for pointing me in the right direction
Change 3129647 on 2016/09/17 by Dmitry.Rekman
Linux: fix non-unity build.
Change 3131043 on 2016/09/19 by Nick.Shin
archiving build instructions/steps when building:
- zlib (v.1.2.8)
win: #3128369
osx: #3128500
- openssl (1.0.2h)
win: #3128377
osx: #3128504
- libcurl (7_48_0)
win: #3128383
osx: #3128506
- libwebsocket (v.1.7.4)
win: #3128384
osx: #3128508
- webRTC
win: #3128464 (rev.12643 for vs2015) + 3128602 (rev:9862 for vs2013) -- NOTE: win32 is WiP
osx: #3128513
Change 3132801 on 2016/09/20 by Dmitry.Rekman
Linux: support specifying default OpenGL version via configs (UE-34777).
- The first targeted RHI is going to be used.
Change 3132905 on 2016/09/20 by Josh.Adams
- Fixed up some paths with the WolfPlat rename
Change 3133148 on 2016/09/20 by Josh.Adams
- Only show UT EULA if PLATFORM_DESKTOP
Change 3133152 on 2016/09/20 by Josh.Adams
- Beginning support for applets. Disabled unless you have a special SDK with applet support.
Change 3133169 on 2016/09/20 by Josh.Adams
- Fixed issue with Wolf access but no SDK installed
Change 3133344 on 2016/09/20 by Daniel.Lamb
Fixed issue with Iterative cooking not detecting changes to ini files which are loaded using LoadLocalFile.
Added new flag to limit number of concurrent shader compiles.
#test Cook QAGame, Cook Paragon
Change 3133345 on 2016/09/20 by Daniel.Lamb
FRedirectCollector collects string asset references all the time when running the editor.
#test Cook paragon cook QAGame.
Change 3133852 on 2016/09/21 by Luke.Thatcher
[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated.
Change 3133875 on 2016/09/21 by Luke.Thatcher
[PLATFORM] [PS4] [^] Performing merge between 3.508.201 LCUE files in CarefullyRedist and Dev-Platform to populate integration history. No files have actually changed in this CL, only Perforce metadata is updated. (Attempt 2)
Change 3134403 on 2016/09/21 by Jonathan.Fitzpatrick
Per PS4 documentation, app_type requires the alternate spelling of 'upgradeable', 'upgradable'.
Change 3134544 on 2016/09/21 by Josh.Adams
- Reduced UT textures for Wolf
Change 3134915 on 2016/09/21 by Jonathan.Fitzpatrick
FPS4Time::SystemTime now calculates the local machine time, instead of UTC.
#jira UE-35170
Change 3135036 on 2016/09/21 by Michael.Trepka
Quit the UE4EditorServices app when quitting the Launcher if it was the launcher that spawned the services process
Change 3135142 on 2016/09/21 by Jonathan.Fitzpatrick
GetBackMemoryPoolSize returned bool on PS4 by accident, should be uint32
Change 3135292 on 2016/09/21 by Jeff.Campeau
Change include order to favor the XDK edition specific headers where available.
Change 3136414 on 2016/09/22 by Josh.Adams
- Fixed a checkf() that had the case reversed
#jira ue-36311
Change 3137082 on 2016/09/22 by Dmitry.Rekman
Added support for Linux installed builds to 4.14
Change 3137220 on 2016/09/22 by Dmitry.Rekman
Linux: do not rebuild hlslcc on each setup.
- Now that hlslcc is set to use bundled libc++ there should be no STL binary compatibility conflicts between the engine and hlslcc binary.
Change 3137227 on 2016/09/22 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3137259 on 2016/09/22 by Dmitry.Rekman
Linux installed build: fix CIS (missed one .csproj)
Change 3137290 on 2016/09/22 by Dmitry.Rekman
Linux installed builds: fix for the resulting directory.
Change 3137291 on 2016/09/22 by Chris.Babcock
Restore texture filtering mode properly when movie played on Android
#jira UE-36342
#ue4
#android
Change 3137376 on 2016/09/22 by Dmitry.Rekman
Linux: re-enabled crash handler stack smash protection.
- Race condition in FRunnableThreadPThread has been previously fixed.
Change 3138498 on 2016/09/23 by Dmitry.Rekman
Linux: add missed package for installed builds.
- mono-devel package for resgen2.
Change 3138523 on 2016/09/23 by Dmitry.Rekman
Linux: Update hlslcc now that we're not rebuilding it each time.
Change 3138658 on 2016/09/23 by Josh.Adams
- Moved UT's Social Plugin into NotForLicensees
Change 3139042 on 2016/09/23 by Dmitry.Rekman
Linux: more robust check of installed packages.
- Also added mono-devel to the list of packages installed on 14.04.
Change 3139674 on 2016/09/26 by Dmitry.Rekman
Fix crash when editing widget blueprints (UE-35185).
- Caused by name collision due to copy/pasted code; aliased classes diverged and this resulted in all kinds of weird memory stomping.
- Renamed the class and also applied the same workaround (removing static) to prevent likely crashes on exit as happened with the original class (see UE-30795).
Change 3140203 on 2016/09/26 by Josh.Adams
- Wolf Fix for SHIPPING
Change 3140206 on 2016/09/26 by Josh.Adams
- NEX work, still in progress
Change 3140276 on 2016/09/26 by Josh.Adams
- Fixed Wolf compile error
Change 3140485 on 2016/09/26 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3140570 on 2016/09/26 by Dmitry.Rekman
SDL2: Delete obsolete files.
- We now have local changes to SDL2, so this tarball is no longer accurate and just takes unnecessary space.
Change 3140577 on 2016/09/26 by Dmitry.Rekman
Fix CudaTest monolithic build.
- Not the best fix, the better fix is to build against bundled libc++.
Change 3141184 on 2016/09/27 by Keith.Judge
Add FXboxOneApplication::GetXboxOneApplication to fix a save/load game assert.
#jira UE-35973
Change 3141623 on 2016/09/27 by Chris.Babcock
Support hiding virtual keyboard on Android
#jira UE-34201
#ue4
#android
Change 3141887 on 2016/09/27 by Joe.Graf
Added support for additional plugin directories that are specified by the .uproject file
New plugin wizard adds to the additional plugin directories if the user specifies a directory outside of Engine/Plugins or Game/Plugins
Change 3141916 on 2016/09/27 by Josh.Adams
- Worked around compile issues (at least with Wolf UT). This is well documented in a Jira (UE-29925)
Change 3141926 on 2016/09/27 by Josh.Adams
- Support for skipping Wolf user selector (-nologinui)
Change 3141938 on 2016/09/27 by Chris.Babcock
Allow Android media player to seek past 999ms (contributed by rcywongaa)
#jira UE-36453
#PR #2797
#ue4
#android
Change 3142207 on 2016/09/27 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3142219 on 2016/09/27 by Josh.Adams
- Wolf PhysX 3.4 libs and includes
Change 3142220 on 2016/09/27 by Josh.Adams
- File that had to be fixed up after main merge (missed adding it to the huge integrate CL)
Change 3142314 on 2016/09/27 by Chase.McAllister
#jira UE-35011 fixes to some assets to remove redundancies/output log spam
Change 3142510 on 2016/09/27 by Daniel.Lamb
Fixed up resave lightmaps commandlet so that world transforms don't get applied twice.
#jira UE-35942
Change 3142650 on 2016/09/27 by Chris.Babcock
Android support for Linux by yaakuro
- requires CodeWorks for Android Linux installed and OpenJDK 1.8
- need to set Android SDK paths manually in Project Settings
#jira UE-32752
#jira UE-32753
#PR #2564
#PR #2565
#ue4
#android
#linux
Change 3142802 on 2016/09/27 by Dmitry.Rekman
Upgrade to SDL 2.0.5-ish (still technically 2.0.4).
- Upstream revision 10374:dccf51aee79b.
- Merged all our changes hopefully.
Change 3143075 on 2016/09/28 by Luke.Thatcher
[RENDERING] [~] Add check to FBatchedElements::AddSprite to catch null textures. If the texture is null here, we will crash later in the RHI. At least now we'll get the callstack of the code adding the null textured sprite, since I don't have a repro.
#jira UE-33077
Change 3143219 on 2016/09/28 by Daniel.Lamb
Added new is compiling function which tells you if it's really compiling instead of lying.
If def out additional logging for debugging shader compilation issue for 4.14 release.
Change 3143428 on 2016/09/28 by Luke.Thatcher
[PLATFORM] [PS4] [+] Use PS4 SDK 4.008.061
Change 3143488 on 2016/09/28 by Daniel.Lamb
Changed defaults for skip cooking editor content to true.
Change 3143526 on 2016/09/28 by Daniel.Lamb
Increased the concurrent shader compile limit while in the cooker.
#test Cook paragon
Change 3143874 on 2016/09/28 by Chris.Babcock
Read Android environment variables from .bashrc on Linux
#jira UE-36565
#ue4
#android
#linux
Change 3143911 on 2016/09/28 by Dmitry.Rekman
Fix SDL EGL API binding (UE-18979).
- Contains PR #1398 by x414e54.
- Also fixes offscreen backend that needed to provide a global mouse state after the SDL upgrade.
Change 3143929 on 2016/09/28 by Daniel.Lamb
Removed some more temporary logging.
#test Cook paragon
Change 3143959 on 2016/09/28 by Jeff.Campeau
Media Player for Xbox One
Change 3143997 on 2016/09/28 by Dmitry.Rekman
Linux: faster linking in Debug.
- Do not apply --as-needed to Debug build since taking a hit of several tens of seconds on startup is better than linking for ~4 more minutes when iterating.
Change 3144004 on 2016/09/28 by Dmitry.Rekman
Linux: make SCW dump core on crash in debug builds.
- If the editor (not SCW itself) is built in Debug, make SCW dump cores if they ever crash. This makes it debug easier (at the risk of running of disk space).
Change 3144007 on 2016/09/28 by Dmitry.Rekman
Linux: Allow equals character in command line parameter value (UE-26406).
- PR #2019 by bozzaro.
- Allows passing parameters like -Switch=Key=Value.
Change 3144042 on 2016/09/28 by Jeff.Campeau
Add tag for DX12 support being experimental in target settings.
#jira UE-36150
Change 3144068 on 2016/09/28 by Dmitry.Rekman
Linux: enable using xgConsole in UAT (UE-28096).
- PR #2144 by bozzaro.
- Picks correct xgConsole binary.
- Allegedly fixes crash in CombineXGEItemFile on mono.
Change 3144120 on 2016/09/28 by Michael.Trepka
Copying //Tasks/UE4/Dev-HighDPI/... to //UE4/Dev-Platform/...
Change 3144172 on 2016/09/28 by Chris.Babcock
Add libpng 1.5.27 for Android
#jira UE-36573
#ue4
#android
Change 3144318 on 2016/09/28 by Chris.Babcock
Correct logic for checking .bashrc on Linux
#ue4
#android
Change 3144331 on 2016/09/28 by Dmitry.Rekman
Linux: repair ARM server builds.
- Also: print info about C++ library being used and allow the override via environment variable UE4_LINUX_USE_LIBCXX (either 0 or 1).
Change 3144354 on 2016/09/28 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
this is intermediate, not fully working
Change 3144368 on 2016/09/28 by Josh.Adams
- Moved the new Social files into NFL
Change 3144395 on 2016/09/28 by Chris.Babcock
Add missing functions for AndroidWebBrowserWindow
#ue4
#android
Change 3144417 on 2016/09/28 by Josh.Adams
- Probable fix for FWebBrowserWindow missing virtuals
Change 3144438 on 2016/09/28 by Jeff.Campeau
XDK updated to 160802
Change 3144569 on 2016/09/29 by Dmitry.Rekman
Linux: allow a selectable clock source (UE-36564).
- The engine will now select the best performing clock on start instead of hard-coding CLOCK_REALTIME. This will happen as part of global initialization before main() to prevent clock skew.
- Also fixes a problem of the engine not being able to start on Windows 10 since previously hard-coded clock id was not supported there.
#tests Compiled and ran a few targets (including non-monolithic). Tried bogus clock sources. Haven't actually tried on Win10 (don't have a machine atm).
Change 3145108 on 2016/09/29 by Joe.Graf
Fixed cases where path relative external plugin paths would generate the wrong path when running Unreal Header Tool (and probably other tools)
Change 3145245 on 2016/09/29 by Joe.Graf
#wolf
Checking in removal of plugin use on Win64 per Josh's request
Change 3145514 on 2016/09/29 by Will.Fissler
Updated Mac Info.plist files to disable high DPI on macOS 10.12
Change 3145538 on 2016/09/29 by Josh.Adams
- Worked around a physics task graph issue with using the new lock free stuff on Wolf, joining PS4 and XboxOne. Wolf was crashing on some boots.
Change 3145540 on 2016/09/29 by Josh.Adams
- Fix for checking some Wolf dev tool installation existence
- Fix for various Wolf build issues
- Fix for Wolf devices not showing up in Launch on
Change 3145542 on 2016/09/29 by Josh.Adams
- Pulled over Wolf changes from Wolf branch into Dev-Platform
Change 3145572 on 2016/09/29 by Josh.Adams
- Cleaned up Wolf SDK error logs which really messed up GenProjectFiles for some class of people.
#jira UE-36591
Change 3145769 on 2016/09/29 by Chris.Babcock
Remove duplicate platforms from deploy list in UFE
#jira UE-36636
#ue4
Change 3146061 on 2016/09/29 by Chris.Babcock
Linux: be less spammy in log when launching external procs
#jira UE-36638
#ue4
#linux
Change 3146208 on 2016/09/29 by Dmitry.Rekman
Linux: fix PhysX crash (UE-36613).
- PX_RESTRICT was unwarrantedly applied to memMove, allowing clang to replace the memmove() call to memcpy() at -O2 and above.
- This caused PxArray::remove() to duplicate the elements of its array (in POD case) and this opened doors to all kinds of fun.
#jira UE-36613
Change 3146476 on 2016/09/30 by Josh.Adams
- Moved a UBT log that could pollute QA logs with Wolf secrets to Verbose
Change 3146554 on 2016/09/30 by Josh.Adams
- Removed another wolf secret log
Change 3146626 on 2016/09/30 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3146712 on 2016/09/30 by Josh.Adams
- Fixed case for building Android on Linux
#jira #UE-36652
Change 3146844 on 2016/09/30 by Josh.Adams
- Removed ES2 shader compiling from TVOS, and force Metal compiling
#jira UE-36306
Change 3146865 on 2016/09/30 by Daniel.Lamb
Removed temp logging for materials
#test Launch on paragon
Change 3146874 on 2016/09/30 by Dmitry.Rekman
Linux: add rpath for libTextureConverter.so (UE-36620).
Change 3147030 on 2016/09/30 by Josh.Adams
- Version check workaround for IOS9.3/TVOS9.2 defining __IPHONE_10_0 which breaks our IOS10 code checks
#jira UE-36623
Change 3147151 on 2016/09/30 by Josh.Adams
- Fixed zlib.build.cs for XboxOne, which came in from another branch without an include path, yet somehow main is compiling?
Change 3147621 on 2016/09/30 by Michael.Trepka
Fix for setting up RPATHs for third party dylibs for packaged code-based games on Mac
Change 3147712 on 2016/09/30 by Josh.Adams
- Fixed metal crash StrategyGame crash. Recent code was checking IsES2Platform for HDR decoding in scene capture, and Metal hasn't been IsES2 since may. Changed to IsMobilePlatform.
#jira UE-36225
Change 3147725 on 2016/09/30 by Josh.Adams
- Fixed yet another Wolf log for people with Wolf access but no SDK
[CL 3147801 by Josh Adams in Main branch]
#lockdown nick.penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2958982 on 2016/04/28 by Dmitriy.Dyomin
Set owner name for RHI texture, for easier debugging
Change 2976446 on 2016/05/12 by Niklas.Smedberg
Fixed Device Profile CVars so they work even if a DLL with the cvar definition is loaded afterwards. (And they now also go through the common code path for CVars.)
Change 2983781 on 2016/05/19 by Steve.Cano
Check in PlayUsingLauncher if the device we're launching to is authorized by the computer. Could not get to this information about Devices so added an IsAuthorized interface to ITargetDevice that is overriden in the AndroidTargetDevice. Also make sure to referesh the authorized state as needed for Android device detection. Finally, changed the name of the authorized variable to be more readable (true == authorized instead of true == unauthorized)
#jira UE-21121
#ue4
#android
Change 2994202 on 2016/05/31 by Allan.Bentham
Prevent clear transulcency volume null deref crash.
Change test for allocated deferred render targets by testing against an exclusively deferred target (instead of potentially shared shadow depth surface)
probable fix for UE-22073
Change 2995613 on 2016/05/31 by Dmitriy.Dyomin
Added: Option to force full precision in a material
UEMOB-109
Change 2997960 on 2016/06/02 by Gareth.Martin
Refactored Landscape serialization to allow cooking both the data used for normal rendering and mobile rendering into the same package
#jira UE-31474
Change 2997988 on 2016/06/02 by Gareth.Martin
Files missing from CL 2997960
#jira UE-31474
Change 2999222 on 2016/06/03 by Jack.Porter
Fix up ETargetPlatformFeatures::ForwardRendering and ETargetPlatformFeatures::DeferredRendering for iOS to support the Metal MRT deferred renderer
Change 2999229 on 2016/06/03 by Jack.Porter
Rename ETargetPlatformFeatures::ForwardRendering to TargetPlatformFeatures::MobileRendering
Change 3003540 on 2016/06/07 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
Change 3003779 on 2016/06/07 by Dmitriy.Dyomin
Fixed: Criss-crossed sublevels cause NavMesh errors
#jira UE-27157
Change 3004535 on 2016/06/07 by Steve.Cano
Adding the OnControllerConnectionChange delegate message when a controller is connected on Android. Also added additional future broadcast statement when disconnect support is added for Android.
#jira UE-25697
#ue4
#android
Change 3005205 on 2016/06/07 by Niklas.Smedberg
Bumped ASTC format version to invalidate bad server DDC
Change 3005347 on 2016/06/08 by Dmitriy.Dyomin
Added a way to cache OpenGL program binaries on the disk. Disabled by default. Can be enabled only on Android platform (r.UseProgramBinaryCache=1)
#jira UEMOB-108
Change 3005524 on 2016/06/08 by Dmitriy.Dyomin
Fixed iOS build broken by CL# 3005347
Change 3005528 on 2016/06/08 by Jack.Porter
Changed hardcoded checkboxes from quality level overrides dialog to use the general property details code.
Now magically supports any uproperty types such as enums or integers added to FMaterialQualityOverrides.
Change 3005607 on 2016/06/08 by Dmitriy.Dyomin
Fixed: Occasional crash on using Launch on Android device when device is being disconnected
Change 3006705 on 2016/06/08 by Chris.Babcock
Fix virtual joystick to return -1 to 1 ranges for thumbsticks
#jira UE-31799
#ue4
#android
#ios
Change 3006960 on 2016/06/08 by Jack.Porter
Merging //UE4/Dev-Main to Dev-Mobile (//UE4/Dev-Mobile)
Change 3007050 on 2016/06/09 by Jack.Porter
FAutomationWorkerModule::ReportTestComplete() needs to send analytics first as the message endpoint will free the memory resulting in a crash
Change 3007129 on 2016/06/09 by Dmitriy.Dyomin
Fixed: Black edges seen on flames in Sun Temple
#jira UE-31712
Change 3010686 on 2016/06/13 by Dmitriy.Dyomin
Fixed: Android Monolithic warnings for glGetProgramBinaryOES and glProgramBinaryOES
#jira UE-31933
[CL 3011074 by Jack Porter in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945365 on 2016/04/15 by Mark.Satterthwaite
Assert if anyone calls RHIClearUAV on a structured-buffer or texture under Metal - there's no clear way to implement these cases yet.
Change 2945366 on 2016/04/15 by Mark.Satterthwaite
Change the Metal parallel command-context submission to hand-off the entire NSArray of MTLCommandBuffers to avoid race conditions between one use of a context and the next.
Change 2945394 on 2016/04/15 by Mark.Satterthwaite
Duplicate CL #2943702 from 4.11.2: Change the way Metal validates the render-target state so that in FMetalContext::PrepareToDraw it can issue a last-ditch attempt to restore the render-targets. This won't fix the cause of the Mac Metal crashes but it might mitigate some of them and provide more information about why they are occurring.
Change 2945444 on 2016/04/15 by Mark.Satterthwaite
Cache the Metal fallback depth-stencil surface for the canvas tile rendering so that we only ever keep one spare depth-stencil surface around. This costs us a little more permanent memory but reduces churn.
Change 2945457 on 2016/04/15 by Mark.Satterthwaite
Add validation code to MetalRHI to ensure that we don't erroneously re-clear existing render contents when restoring the render command encoder. This will only be active when the Metal debug layer is enabled and is completely compiled away in Test & Shipping builds for performance.
Change 2946249 on 2016/04/16 by Nick.Shin
build HarfBuzz for HTML5
#jira UE-28552 - HarfBuzz - HTML5
Change 2946250 on 2016/04/16 by Nick.Shin
Rename/move file(s)
move emscripten (part 1 of 2)
from Engine/Source/ThirdParty/HTML5/emsdk
to Engine/Extras/ThirdPartyNotUE/emsdk
this is a request from legal
Change 2946251 on 2016/04/16 by Nick.Shin
move emscripten (part 2 of 2)
build scripts and cpp files updated with new emscripten path
from Engine/Source/ThirdParty/HTML5/emsdk
to Engine/Extras/ThirdPartyNotUE/emsdk
this is a request from legal
Change 2946516 on 2016/04/18 by Mark.Satterthwaite
Disable r.DFShadowScatterTileCulling as well as r.AOScatterTileCulling on Mac because we don't have the necessary RW textures on Metal.
Change 2947000 on 2016/04/18 by Michael.Trepka
Print OS X version to log in FMacPlatformMisc::PlatformInit()
Change 2948197 on 2016/04/19 by Lee.Clark
PS4 - Use SDK 3.508.031
Change 2948301 on 2016/04/19 by Nick.Shin
upgrading zlib openssl libcurl libwebsockets
part 1 of 2 -- adding new compiled versions (part 2 will be removing the old version -- which will be done after platform owners are given a chance to recompile for their platform - most notably: zlib)
NOTE: Linux libraries are built for CentOS 6.7 (i.e. 2010 - glibc 2.12 and gcc 4.4.7)
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1223 - Arrange testing for 'update websocket library'
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948319 on 2016/04/19 by Nick.Shin
update zlib to v1.2.8
part 1 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
Change 2948320 on 2016/04/19 by Nick.Shin
update OpenSSL to v1.0.1s
part 2 of 4 - doing this in stages for tracking purposes
also, removing dynamic libs (for windows) -- these are no longer needed as this is now statically linked in editor
- tested by installing perforce server setup with ssl access only and pointing editor source code to it as ssl:hostname:port
- also tested trying accessing it without ssl which resulted in access denied indicating a successful test of dynamic lib removal
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948322 on 2016/04/19 by Nick.Shin
update libwebsockets to v1.7.4
part 4 of 4 - doing this in stages for tracking purposes
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948323 on 2016/04/19 by Nick.Shin
build scripts
pull source and compile - zlib openssl libcurl & libwebsockets
tested on:
- Win64 VS2013 & VS2015
- OSX
- Linux
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2948337 on 2016/04/19 by Lee.Clark
VS 2015 libScePad support
Change 2948382 on 2016/04/19 by Mark.Satterthwaite
Add Mac model, CPU string, num HTs to the log on Mac so that errors reported to us contain the data that Apple want when we turn them into bug-reports. Also added a missing sigaction from the trampoline.
Change 2948385 on 2016/04/19 by Mark.Satterthwaite
Disambiguate Metal command-buffer failures by vendor & error type so that we don't end up with just one crash-reporting entry for many different kinds of crash and enable this assertion on all builds because it will always be fatal and failing to crash here may end up causing the Mac to reboot.
Change 2948460 on 2016/04/19 by Peter.Sauerbrei
fix for wrong line endings
Change 2948526 on 2016/04/19 by Nick.Shin
fix for wrong line endings
Change 2949334 on 2016/04/20 by Nick.Shin
fix library path
for some reason, NetworkFileSystem and HttpNetworkReplayStreaming on Mac platform needs full path - even though lib path was set...
Change 2949398 on 2016/04/20 by Lee.Clark
PS4 - Fix SDK compile warnings
Change 2949656 on 2016/04/20 by Nick.Shin
Back out changelist 2948320
but keeping the C# build file as-is
Change 2949676 on 2016/04/20 by Mark.Satterthwaite
Double-buffer the Metal viewport's back-buffer so that we can access the contents of the back-buffer after EndDrawingViewport is called until BeginDrawingViewport is called again on this viewport, this makes it possible to capture movies on Metal.
#jira UE-29140
Change 2950025 on 2016/04/20 by Mark.Satterthwaite
Undo CL #2949676 and instead on Mac where we want to be able to capture videos of gameplay we just insert an intermediate texture as the back-buffer and use a manual blit to the drawable prior to present. This also changes the code to enforce that the back-buffer render-target should never be nil as the code & Metal API itself assumes that this situation cannot occur but it would appear from continued crashes inside PrepareToDraw that it actually can in the field. This will address another potential cause of UE-29006.
#jira UE-29006
Change 2950084 on 2016/04/20 by Nick.Shin
OSX warning fix:
UE4 supports down to OSX 10.9 rebuilt the zlib openssl libcurl and libwebsockets to support that
build file also updated to use MACOSX_DEVELOPMENT_TARGET=10.9
Change 2950613 on 2016/04/20 by Dmitry.Rekman
UAT: Disable modules that are not supported on Linux.
#rb none
#codereview Ben.Marsh, Michael.Trepka, Josh.Adams
#tests Run RunUAT.sh
Change 2951065 on 2016/04/21 by Nick.Shin
temp: update SSL dlls in Engine/Binaries/ThirdParty/OpenSSL/Win64
Change 2951556 on 2016/04/21 by Nick.Shin
static libs double checked
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951559 on 2016/04/21 by Nick.Shin
static libs double checked
forgot these files - they were in another changelist
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951574 on 2016/04/21 by Nick.Shin
remove unused variable warning
was bughunt code...
Change 2951652 on 2016/04/21 by Josh.Adams
- Disabled MRT support on iPad Air 1 devices, since it doesn't support wide enough MRTs that the engine needs (ie, only use MRTs in METAL_MRT mode on iOS)
Change 2951656 on 2016/04/21 by Josh.Adams
- Fixed Mac compile error in Metal
Change 2951718 on 2016/04/21 by Nick.Shin
remove shared SSL DLLs in a controlled manner
tested with QA help who was able to replicate the bug in the morning - and was able to successfully run the editor with this changelist (shelved - remote unshelved test - thanks Dan.Bullard_volt!)
#jira UE-29674 - Editor fails to open in Dev-Platform
Change 2951862 on 2016/04/21 by Lee.Clark
PS4 - Enable Neo high resolution support.
Change 2952409 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the libs and header files
Change 2952411 on 2016/04/22 by Nick.Shin
add win32 build targets for zlib openssl libcurl libwebsockets
part 1 of 2: these are the C# build scripts
Change 2952580 on 2016/04/22 by Lee.Clark
PS4 - Fix staging and deploying of system prxs
Change 2953152 on 2016/04/22 by Mark.Satterthwaite
Only cache instances of TShadowDepthVS with bIsForGeometryShader=true when the RHI can handle the underlying feature. We can save memory on iOS by only emitting these shaders on Mac Metal or RHI's with Geometry shaders which have the required H/W to do this.
Change 2953385 on 2016/04/22 by Nick.Shin
use HarfBuzz libs for HTML5
c# build files updated to link in the harfbuzz libs
#jira UE-28552 - HarfBuzz - HTML5
Change 2954686 on 2016/04/25 by Nick.Shin
from legal:
Emscripten approved for redistribution provided that *all* files are checked into the following directory: Engine/Extras/ThirdPartyNotUE
Please also check in the attached .tps files and licenses alongside the TPS itself. This will allow us to track third party files within P4.
Change 2954928 on 2016/04/25 by Daniel.Lamb
Fixed min number of threads allocated for compiling shaders in cooker.
Change 2954942 on 2016/04/25 by Daniel.Lamb
Added flag -skipcompile for running visual studio.
Skip force compilation on -multiprocess flag.
#jira UE-22308
#PR 1678
#1678
Change 2954948 on 2016/04/25 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2955370 on 2016/04/25 by Josh.Adams
- Fixing C# error from main
#lockdown nick.penwarden
Change 2957745 on 2016/04/27 by Daniel.Lamb
Pull request from acordon@microsoft.com.
Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call.
Change 2957747 on 2016/04/27 by Daniel.Lamb
Pull request from acordon@microsoft.com.
Resave packages commandlet now can also rebuild asset registry paths with consistent case.
Change 2957750 on 2016/04/27 by Daniel.Lamb
Pull request from acordon@microsoft.com.
Fixed deterministic cooking issue with StaticMeshComponent using StaticMesh before it had it's postload call.
Change 2958708 on 2016/04/28 by Nick.Shin
remove boringSSL
#jira UE-29970 - QAGame launch on fails for Win64, fatal error LNK1169: one or more multiply defined symbols found
#lockdown josh.adams
Change 2958724 on 2016/04/28 by Nick.Shin
moved setting bVerifyPeer flag AFTER CertBundlePath has been set...
otherwise, libCurl is going to try to verify the SSL session - but without a cert file, it makes no sense to try and verify the session
- we could (and probably should) make this an error condition - but the constructor has the bVerifyPeer set to true -- which would mean that all games will need to have a cert file and/or know to set bVerifyPeer to false...
- and so far, only linux and android seem to have code in place to make use of the cert files...
#jira UE-29950 - Orion deticated server MCP authentication fails when using CURL
#lockdown josh.adams
Change 2959058 on 2016/04/28 by Mark.Satterthwaite
Mac Metal RHIGetSupportedResolution & RHIGetAvailableResolutions exactly as they were for Mac OpenGL.
Change 2959587 on 2016/04/28 by Jeff.Campeau
Use response files for compiling CPPs using the VC toolchain to avoid issues where the command line is too long for XGE
Change 2959605 on 2016/04/28 by Jeff.Campeau
Reuse existing response files if contents are unmodified.
#2278
Change 2959680 on 2016/04/28 by Daniel.Lamb
Don't cook clients when building only server configs.
#pr 2127
#2127
Change 2959764 on 2016/04/28 by Nick.Shin
set PS4 back to using boringSSL - until OpenSSL has been built for it
#jira UE-30088 - Orion PS4 Cook and Deploy fails to build for PS4
Change 2959875 on 2016/04/28 by Jeff.Campeau
Simplified compression to use a bitwindow param instead of a targetplatform param
Added bitwindow parameter for unrealpak
Set Xbox One to pass 12 bit window for paks (for hw decompress)
Change 2959960 on 2016/04/28 by Nick.Shin
removed url protocol scheme from external script loads - this will support fetching scripts with either http or https automatically
and added window.focus after game has finished compiling - this will help if game is inside an iframe
#jira UE-29886 - HTML5 project does not load using itch.io
Change 2960064 on 2016/04/28 by Dmitry.Rekman
XMPP: Add missing dependency on OpenSSL on Linux.
Change 2961310 on 2016/04/29 by Mark.Satterthwaite
DistanceField tile alignment changes to attempt to make it work on Mac.
Change 2961602 on 2016/04/29 by Nick.Shin
#ifndef'd EMSCRIPTEN around FOpenGL::Flush();
answerhub 409649 - HTML5 OpenGL backend doesn't need to flush GL commands
Change 2961604 on 2016/04/29 by Nick.Shin
return "()" on empty object
answerhub 390139 - JSON Conversion of TMaps of UStructs Can't Deserialize
Change 2963068 on 2016/05/02 by Peter.Sauerbrei
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 2963302 on 2016/05/02 by Peter.Sauerbrei
fix for PS4 build failure
Change 2963731 on 2016/05/02 by Dmitry.Rekman
Linux: move crash/ensure info from Binaries to Saved (UE-28411).
- Allows running from read/only locations, since Saved can be redirected.
#rb none
#codereview Chris.Wood, David.Vossel
Change 2963737 on 2016/05/02 by Dmitry.Rekman
CrashMalloc: get allocation size also from jemalloc.
- Editor builds on Linux are otherwise shutting down on attempting to realloc things ("binned" is not used for the editor).
#rb none
#codereview Chris.Wood, Robert.Manuszewski, Steve.Robb
Change 2963989 on 2016/05/03 by Lee.Clark
PS4 - Fix texture initialization
Change 2964296 on 2016/05/03 by Dmitry.Rekman
Better fix for getting previous allocation size.
- Suggested by GilG.
#codereview Gil.Gribb
Change 2964398 on 2016/05/03 by Mark.Satterthwaite
Added GetCompressionBitWindow to IPlatformCompression so that FArchive compression can acquire the platform specific window value at runtime even without the Developer-only TargetPlatform modules. This allows the ShaderCache to perform runtime compression of preloaded shaders in-game without crashing.
#jira UE-30238
Change 2965966 on 2016/05/04 by Peter.Sauerbrei
fix for bad path when deploying from mac
#jira UE-30294
#lockdown josh.adams
Change 2968380 on 2016/05/05 by Dmitry.Rekman
Fix visibility placement which breaks Linux build.
#lockdown Josh.Adams
#codereview James.Golding
Change 2969002 on 2016/05/06 by Nick.Shin
use boringssl until webrtc recompiled with openssl work is finished
#jira UE-30298 - Fortnite and Orion crash on login
#lockdown josh.adams
Change 2969545 on 2016/05/06 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
#lockdown nick.penwarden
Change 2969923 on 2016/05/06 by Chris.Babcock
Fix linker warning (mismatched function/variable for glMapBufferOES and glUnmapBufferOES)
#jira UE-30222
#ue4
#android
#lockdown Josh.Adams
Change 2970016 on 2016/05/07 by Nick.Shin
undo all of the following upgrades:
- zlib
- openssl
- libcurl
- libwebsockets
and reset webrtc
#jira UE-30298 - Fortnite and Orion crash on login
#lockdown josh.adams
#lockdown nick.penwarden
[CL 2970080 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2764244 on 2015/11/12 by Keith.Judge
Stop creating/deleting SRVs for dynamic buffers all the time. Instead add a new view when a new buffer is cycled and keep them around until the buffer is dead.
Change 2936695 on 2016/04/07 by Mark.Satterthwaite
Disable Metal on Mac OS X versions prior to 10.11.4 because their drivers are too buggy and lots of issues users will encounter were fixed in 10.11.4.
Change 2936701 on 2016/04/07 by Mark.Satterthwaite
Re-enable DistanceFieldAO on Mac Metal, but disable the support for Heightfield composition into the DistanceFieldAO as that currently requires Read+Write texture support which isn't present in Metal yet.
Change 2936702 on 2016/04/07 by Mark.Satterthwaite
Enable capsule shadows on Metal SM5 for Mac Paragon.
Change 2936704 on 2016/04/07 by Mark.Satterthwaite
Re-add Metal_MacES3_1 entries in RHIDefinition functions - not quite sure how they disappeared...
Change 2936706 on 2016/04/07 by Mark.Satterthwaite
Fix implementation of BeginRenderingPrePass to only clear the depth+stencil buffers when it is asked to - this fixes LOD fading in Paragon on Mac when parallel execution is enabled. The parallel contexts were being instructed to clear the pre-pass data which was then fouling up all the subsequent rendering.
Change 2936708 on 2016/04/07 by Mark.Satterthwaite
Extend workaround from 2905206 for UE-27818 to Metal as well as OpenGL - it isn't permissable to have an unbound resource on these APIs as you aren't allowed to make the assumption than an if-branch will protect against null dereference on the GPU.
Change 2936737 on 2016/04/07 by Mark.Satterthwaite
Changes to reduce Metal's peak memory usage when streaming texture data in when loading levels:
- When uploading data to Shared memory Metal textures dispose of the source buffer immediately as it won't be required after the call to replaceRegion.
- Add an optional CVar ("rhi.Metal.MaxOutstandingAsyncTexUploads") and keep a count of outstanding async. texture uploads - really this might be better as a memory count - if teh current outstanding count is greater than the specified CVar wait for all operations to complete before purging the used buffers. By default the CVar is set to 0 which disables the tracking and the game will use all available memory.
Change 2936741 on 2016/04/07 by Mark.Satterthwaite
For Metal don't use a texture-view unless the mip-range or texture format is different - we only create a texture-view if we absolutely have to in order to avoid performance reductions on some vendors. When this happens we'll have to update the SRV to point to the new source texture but that can be handled on bind.
Change 2936753 on 2016/04/07 by Mark.Satterthwaite
Mutex the pipeline cache inside each Metal bound-shader-state - with parallel execution this can be modified from multiple threads.
Change 2936758 on 2016/04/07 by Mark.Satterthwaite
Don't eliminate redundant Metal command-encoders on Intel either - this only seems to work correctly on AMD...
Change 2936762 on 2016/04/07 by Mark.Satterthwaite
Validate that parallel contexts aren't asked to clear render-targets (incl depth/stencil) as this won't work as desired - each context will end up clearing the contents meaning none of the rendering will propagate which is probably not what you intend.
Change 2936765 on 2016/04/07 by Mark.Satterthwaite
Fix alignment of blit-commands between textures & buffers in Metal. Mac Metal has no minimum alignment and allows tightly packed rows, but mobile H/W has a fixed row alignment of 64-bytes for linear texture data.
Change 2936767 on 2016/04/07 by Mark.Satterthwaite
Remove the workaround for old Mac OS X AMD cards not supporting frame-buffer sRGB - I have a feeling it causes more problems than it solves.
Change 2936773 on 2016/04/07 by Mark.Satterthwaite
Warn the user when trying to run on OpenGL 3.2 GPUs that they are running unsupported and there may be rendering errors and performance problems.
Change 2936777 on 2016/04/07 by Mark.Satterthwaite
In MetalRHI move the calls that reset the state-cache and command-encoder to EndFrame and fix the fallout. Hopefully this will eliminate the problem where a draw call fails because a call to SetRenderTargets hasn't been made since the last time the command-buffer was submitted.
Change 2936788 on 2016/04/07 by Daniel.Lamb
PR #2193: Commandlet tweaks: Fixup Redirects and Cook-on-the-fly Server (Contributed by FineRedMist)
Change 2936799 on 2016/04/07 by Mark.Satterthwaite
Automatically enable RHI thread support in Metal if parallel execution is compiled in unless running the Editor which doesn't support it. The RHI thread is only enabled in Metal when parallel execution is available because there's little to no advantages to the RHI thread with Metal unless parallel execution is enabled. Also only enable async compute support when parallel execution is available and running on an AMD GPU as only AMD support it and again its only really useful when running things in parallel. Disable the async. compute fencing code when async. compute is disabled.
Change 2936923 on 2016/04/07 by Peter.Sauerbrei
add exception when trying to access an ini section which we don't cache
Change 2937839 on 2016/04/08 by Lee.Clark
PS4 - BC6H and BC7 support
#jira OR-14804
Change 2937841 on 2016/04/08 by Lee.Clark
Fix media player not opening the same file that has just been closed.
Change 2937843 on 2016/04/08 by Lee.Clark
PS4 - Fix Media player seek and duration
Change 2938272 on 2016/04/08 by Mark.Satterthwaite
Change the Metal texture lock/unlock code to use the immediate getBytes API to read from the texture unless it is stored in Private memory and requires we use the blit-encoder. This means iOS texture locking won't generally need to use the blit encoder with its row alignment restrictions as all textures will be Shared. On Mac most textures will still be accessed via blit operations since Private memory is much more common than Managed.
Change 2938471 on 2016/04/08 by Nick.Shin
load/save with "negative char size value" fixed
two 'U''s were missing-- causing base64encoder and decoder to not return original data (or expected data for that matter)...
C++ function shows these signatures:
\Engine\Source\Runtime\Engine\Public\SaveGameSystem.h
FGenericSaveGameSystem::SaveGame(..., ..., ..., ...<uint8>);
FGenericSaveGameSystem::LoadGame(..., ..., ..., ...<uint8>);
javascript version was using signed operators...
answerhub 386719 - broken load/save
Change 2938546 on 2016/04/08 by Nick.Shin
upgrading zlib, openssl, libcurl & libwebsockets
(part 1, for libwebsockets -- engine changes will be in part 2)
and writting down all of the build instructions into a single script file
future tasks may have the script broken to smaller sized files and placed in the respective library folders for simplicity -- for now, it's bundled together to ensure build is all-in-one...
#jira UEPLAT-1246 - Update libWebsockets
#jira UEPLAT-1221 - update websocket library
#jira UEPLAT-1223 - Arrange testing for 'update websocket library'
#jira UEPLAT-1203 - Add Linux library for libwebsockets
#jira UEPLAT-1204 - Rebuild libwebsockets with SSL
Change 2939402 on 2016/04/11 by Mark.Satterthwaite
No need to call synchroniseTexture on iOS when locking a texture for read - that function call is only available and required on OS X.
Change 2939526 on 2016/04/11 by Daniel.Lamb
Don't mark content as modified when garbage collecting.
#PR2249
#2249
Change 2940094 on 2016/04/11 by Michael.Trepka
Temporarily rollback //UE4/Dev-Platform/Engine/Source/Runtime/Apple/MetalRHI/Private/MetalContext.cpp to revision 47 to unblock UE-29312
#codereview Mark.Satterthwaite
Change 2940540 on 2016/04/12 by Jeff.Campeau
Hardware decompress support for Xbox One.
Change 2940793 on 2016/04/12 by Lee.Clark
PS4 - Fix file handle leaks
#codereview Marcus.Wassmer
Change 2940903 on 2016/04/12 by Keith.Judge
Xbox One - Fix validated driver warning when using async compute with dynamic buffers (remove dynamic buffers).
Also resurrected the old deferred deletion queue (though simplified the code a lot as TQueue was horrible), as the platform agnostic one can't deal with placement created resources with a separate buffer/resource.
Moved associated deferred deletion logic out of FD3D11DynamicBuffer.
Attempted fix for UE-28758, but doesn't actually fix it. :(
Change 2940959 on 2016/04/12 by Michael.Trepka
Moved RadioEffectUnit CoreAudio plugin to Engine/Build/Mac
#codereview Ben.Marsh
Change 2940961 on 2016/04/12 by Michael.Trepka
Updated GitHub readme for Mac with instructions for building ShaderCompileWorker
#codereview Ben.Marsh
Change 2941010 on 2016/04/12 by Daniel.Lamb
Added xboxone.projectsettings to the ini processer in UAT.
#codereview Peter.Sauerbrei
#jira UE-29344
Change 2941671 on 2016/04/12 by Jeff.Campeau
March 2016 XDK update
Change 2941998 on 2016/04/13 by Mark.Satterthwaite
In MetalCommandList retain/release when waiting on a command-buffer commit to ensure command-buffer lifetime.
Change 2942008 on 2016/04/13 by Keith.Judge
Fix black reflections when async compute is enabled. Shader resource tables are now properly bound on the context, and fixed a bug where the buffer offset and number of constants wasn't being properly set when using the ring buffer.
#jira UE-28758
Change 2942046 on 2016/04/13 by Lee.Clark
Fix SN-DBS launch failure with VS2015 - (path env seems to be null in 2015)
Change 2942095 on 2016/04/13 by Mark.Satterthwaite
MIssed a change to use AlignedStride rather than Stride in FMetalDynamicRHI::RHIReadSurfaceFloatData to fix iOS blit-encoder read-back.
Change 2942383 on 2016/04/13 by Mark.Satterthwaite
When locking a Metal texture on Mac you have to submit the command buffer & wait in a different location for Private vs. Managed access.
Change 2942419 on 2016/04/13 by Michael.Trepka
Enabled IPv6 on iOS and Mac
#jira UEPLAT-1168
Change 2942472 on 2016/04/13 by Daniel.Lamb
Fixed missing OnlineSubsystemGooglePlay section from UAT ini processing.
#codereview Peter.Sauerbrei
Change 2942829 on 2016/04/13 by Nick.Shin
removing unused emscripten - ThirdParty folder
the ThirdParty folder contained a lot of GPL (and sometimes missing) licensing projects - removing to keep legal happy
tested with full rebuild, full cook, packaging and running QAGame
Change 2943110 on 2016/04/13 by Chris.Babcock
Fix Oculus mobile binaries filtered (include the jars)
#jira ue-29080
#ue4
#android
#gearvr
#codereview Nick.Whiting
Change 2943111 on 2016/04/13 by Chris.Babcock
Fix GearVR plugin jar copy logic
#jira UE-29108
#ue4
#android
#gearvr
#codereview Nick.Whiting
Change 2943579 on 2016/04/14 by Peter.Sauerbrei
enable tvOS in the binary build
Change 2943587 on 2016/04/14 by Peter.Sauerbrei
creation of xcode archives when using the archive command with iOS
Change 2943619 on 2016/04/14 by Mark.Satterthwaite
Make Metal SM4 the default on Mac again for the 4.12 release. As expected there are many bugs to resolve.
Change 2943869 on 2016/04/14 by Daniel.Lamb
Turned duplicate stage of files into warning.
#codereview Peter.Sauerbrei
#lockdown Josh.Adams
#jira UE-29487
Change 2943901 on 2016/04/14 by Keith.Judge
Xbox One - Fix start up crash.
#lockdown Josh.Adams
Change 2943981 on 2016/04/14 by Mark.Satterthwaite
Allow RWBuffers in Metal, which should work, but not RWTextures which aren't yet supported.
#jira UE-29492
#lockdown josh.adams
Change 2944080 on 2016/04/14 by Peter.Sauerbrei
temporarily remove code which removes passwords in ini files which reside in the pak file
multiple defaultengine.ini files were being copied over one another
#lockdown josh.adams
Change 2944249 on 2016/04/14 by Peter.Sauerbrei
fix for writing out DefaulEngine.ini when deprecated items are not changed
#codereview zabir.hoque
#lockdown josh.adams
Change 2944454 on 2016/04/14 by Peter.Sauerbrei
fix for incorrect archive directory and missing IPA
#jira UE-29509
#lockdown josh.adams
Change 2944834 on 2016/04/15 by Peter.Sauerbrei
fix for crash on some iOS device due to resources being freed while still in use by the GPU
#jira UE-29517
#lockdown josh.adams
Change 2944915 on 2016/04/15 by Peter.Sauerbrei
fix for including Facebook SDK in tvOS since we don't have the Facebook libraries for tvOS yet
#lockdown josh.adams
Change 2945164 on 2016/04/15 by Josh.Adams
- Removing XboxOnePDBFile from junkmanifest, causes too much trouble when staging using AutoSDKs
#lockdown nick.penwarden
#codereview jeff.campeau
#lockdown nick.penwarden
[CL 2945174 by Josh Adams in Main branch]
Move the Apple Driver Monitor stats into their own stat groups, DriverMonitor has the common stats, DriverMonitorAMD/Intel/Nvidia have the vendor/GPU specific stats. The Metal and OpenGL RHIs update the driver monitor stats group for the current GPU at the appropriate time.
Change 2898950 on 2016/03/08 by Mark.Satterthwaite
More shader cache code documentation.
Change 2898952 on 2016/03/08 by Michael.Trepka
Check GPU driver version and warn of bad drivers only on Windows
Change 2898964 on 2016/03/08 by Mark.Satterthwaite
Only verify the vertex attribute layout for Metal in debug builds or when using development with the debug layer turned on. It reduces performance significantly and isn't all that helpful unless you are attempting to debug a mismatch.
Change 2898973 on 2016/03/08 by Mark.Satterthwaite
Switch uniform buffers to managed memory on Mac as this is more appropriate for AMD & Nvidia GPUs.
Change 2898988 on 2016/03/08 by Mark.Satterthwaite
Simplify MetalContext by having only one SubmitCommandsHint implementation.
Change 2899011 on 2016/03/08 by Mark.Satterthwaite
Duplicate 4.11 CL #2898988:
Proper fix for UE-25804 - we have to manually expand PF_G8 + SRGB to RGBA8_sRGB - this then fixes UE-27483.
#jira UE-25804
#jira UE-27483
Change 2899024 on 2016/03/08 by Mark.Satterthwaite
Duplicate 4.11 CL #2887365 & CL #2887583:
Allow InfiltratorDemoEditor under Metal to issue a query buffer reset without crashing - the function that switches to the new query buffer needs to reapply some of the draw-state so that future commands don't dereference nil.
#jira UE-27513
My earlier fix for UE-27513 overlooked various internal details that meant it wouldn't restore state correctly, would fail validation and could crash in a new place. This version will ensure that cached state is only reset when it is appropriate to do so and will restore it correct when doing a query buffer reset.
#jira UE-27513
Change 2899418 on 2016/03/08 by Daniel.Lamb
Added support for textboxes in the editor to convert uasset filenames into long package names. As this is more useful to the cooker and more portable for projects.
#codereview Matt.Kuhlenschmidt
#jira UE-27785
Change 2899419 on 2016/03/08 by Daniel.Lamb
Added support for passing -opengl command through to launch on if the editor is started with it.
#codereview Michael.Trepka
Change 2900846 on 2016/03/09 by Mark.Satterthwaite
Reimplement Metal object lifetime tracking as stats in the stat-group, though the old system is maintained as a debug-only tool that could (and probably should) be extended to track over/under-release bugs. Currently the texture count will be distorted by texture SRVs so will need improvement but other stats should be reliable. In order to properly report the number of buffers the TResourcePool policy class must now define a FreeResource function, so I've added them to the appropriate places too.
Change 2900853 on 2016/03/09 by Mark.Satterthwaite
Optimise away empty encoders that don't perform a clear operation on AMD & Intel, but not Nvidia or non-Mac Metal devices. This should slightly improve performance.
Change 2900927 on 2016/03/09 by Mark.Satterthwaite
Implemented operation threshold submission of Metal command buffers to keep the GPU busier and not just idle waiting for the CPU. Whenever rhi.Metal.CommandBufferCommitThreshold is set to a value >0 and the current command buffer has >= draw/dispatch operations outstanding then the command-buffer will be committed at the next encoder boundary. The default value is 100 operations which is currently arbitrary and the feature can be disabled by setting the value to <= 0 in which case only explicit submissions will occur as previously.
Change 2901310 on 2016/03/09 by Mark.Satterthwaite
Change OneColor clear shader setup so that it works with parallel encoding in Metal.
Change 2903002 on 2016/03/10 by Mark.Satterthwaite
Instantiate the OneColor shaders once in Metal.
Change 2903274 on 2016/03/10 by Mark.Satterthwaite
Remove more unnecessary parallel execution stalls from MetalRHI.
Change 2903402 on 2016/03/10 by Mark.Satterthwaite
Implement Metal support for index buffer SRVs.
Change 2903419 on 2016/03/10 by Mark.Satterthwaite
Always use Managed memory on Mac Metal for buffers.
Change 2905206 on 2016/03/11 by Mark.Satterthwaite
Worked around UE-27818 "ElementalDemo Causes Invalid Rendering on AMD GPUs" - recent changes to allow mesh particles to write to velocity leave a texture-buffer unbound & then use a uniform value & an if-branch to guard against access but AMD's Mac GL driver notices that the buffer is referenced in the shader but not bound & promptly tries to fallback to Apple's S/W renderer regardless of what the uniform value is. That's legal behaviour for an OpenGL implementation so the C++ code has been changed to allocate and write the current transforms into the buffer for OpenGL when they wouldn't otherwise be provided. This is sufficient to avoid the problem without affecting any other API.
Change 2906217 on 2016/03/11 by Nick.Shin
re-enabled http network file server
it was disabled in CL: #2790193
#jira UE-22166 HTML5 Cook on the fly will launch and then close browser
Change 2908203 on 2016/03/14 by Michael.Trepka
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform). Everything but SSF lib.
Change 2908553 on 2016/03/14 by Mark.Satterthwaite
Force a submit & wait in Metal when contexts are being destroyed to prevent kernel panics in drivers which continue to process the now abandoned command-queue and encounter invalid resources (because we destroy them on shutdown).
Change 2908595 on 2016/03/14 by Michael.Trepka
Fixed iOS compile error in MetalUniformBuffer.cpp
#codereview Mark.Satterthwaite
Change 2910106 on 2016/03/15 by Mark.Satterthwaite
Use a dispatch_semaphore not an FEvent for Metal free-list synchronisation as the dispatch_worker threads can't be properly setup for FStats and this causes problems.
Change 2910107 on 2016/03/15 by Mark.Satterthwaite
Fix Metal reporting of GPU memory through the RHI as it is in bytes, not MB.
Change 2910138 on 2016/03/15 by Mark.Satterthwaite
Properly retain/release dispatch_semaphore for Metal command buffer completion block & allow uniform buffer creation on parallel encoding thread.
Change 2911735 on 2016/03/16 by Nick.Shin
housekeeping
removing extra and inconsistant whitespace as well as making tabs & spaces consistant
[CL 2936662 by Josh Adams in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2835191 on 2016/01/19 by Nick.Whiting
Invert the y-axis on the SteamVR controllers to match the convention of the engine and the rest of the gamepads
#jira UE-22705
Change 2835686 on 2016/01/20 by Gareth.Martin
Fixed landscape material instances not being updated if holes are painted on a landscape that doesn't have the landscape visibility mask node in the material and then the visibility mask node is added to the material later.
#jira UE-18187
Change 2835767 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Added a cursor to TopDown template (C++ version) to match the BP version.
Change 2835772 on 2016/01/20 by Richard.Hinckley
#jira UE-25499 Adding the material asset for the C++ TopDown template's cursor.
Change 2835811 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25699 Added Validity Checks in BP logic, unchecked CDO for Pixel Ship, to Fix Log Warnings
#jira UE-25704 Adjusted Matinee to happen at Box Location
#jira UE-25688 Adjusted Player Starts
#jira UE-25693 Adjusted Player Starts
Change 2835863 on 2016/01/20 by Gareth.Martin
Fixed crash in the landscape ramp and mirror tools if the streaming level containing the landscape is hidden (or possibly if the landscape actor is deleted)
#jira UE-24883
Change 2835889 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25698 Enabled V-sync, also fixed up player Respawn Issue
Change 2835995 on 2016/01/20 by Jamie.Dale
The output log now hard-wraps lines to prevent long lines causing performance issues
#jira UE-24187
Change 2836052 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25675 Added Blocking Volume to prevent Player from Falling off map
#jira UE-25676 Added Blocking Volumes so that the Player doesn't get stucl at awkward corners under the Bridge
Change 2836137 on 2016/01/20 by Chad.Taylor
Vehicle and VehicleAdv template content fixes for new VR camera
#jira UE-25507
Change 2836166 on 2016/01/20 by Gareth.Martin
Fixed hiding a streaming level containing a landscape causing the landscape editor to switch to the "New Landscape" tool instead of exiting
#jira UE-25093
Change 2836174 on 2016/01/20 by Chad.Taylor
IHeadMountedDisplay crash fix associated with accessing a dangling pointer.
#jira UE-25272
Change 2836179 on 2016/01/20 by Jamie.Dale
Optimized FShapedGlyphSequence reverse look-up
There's now a reverse look-up map of cluster indices to their glyph data in order to avoid brute force looping
#jira UE-24187
Change 2836286 on 2016/01/20 by Chris.Babcock
Update Qualcomm TextureConverter for OSX
#jira UE-22092
#ue4
#android
Change 2836328 on 2016/01/20 by Nick.Darnell
Fixing a problem with widget components crashing on destruction with the render commands to pre/post render for window render commands needing access to the policy, but it potentially being deleted. Inserting a NoOp command that keeps the shared ptr alive through the RHI render process.
#jira UE-25752
Change 2836342 on 2016/01/20 by Nick.Darnell
Depending on shutdown order, the Slate Renderer may go away, and then render data handles may not be collected correctly because they are trying to reference a pointer that's no longer valid and cause a crash on exit. The correct approach would be to have render handles actually have a pointer back to who owns them, in this case the RHI Resource Manager, which is still alive and well at this point in the pipeline. Then if the resource manager is collected, it forces all handles to get cleaned up correctly, or if the handles are collected first, they can be sure they've got a valid pointer back to the resource manager.
#jira UE-25753
Change 2836358 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25710 Replaced Deprecated Nodes
Change 2836510 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25718 Adjsuted BP to make pointer decal rotate in the direction of surface
Change 2836564 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25716 Added bool to store last Moved Direction
Change 2836697 on 2016/01/20 by Taizyd.Korambayil
#jira UE-25740 Removed unused VR Nodes to remove Log errors on Mac
Change 2836725 on 2016/01/20 by Peter.Sauerbrei
workaround for thread race when trying to release the TargetDeviceService endpoint after an unclaim message is sent
#jira UE-25123
Change 2836782 on 2016/01/20 by Jamie.Dale
Added FTextLayout::AddLines
This is similar to AddLine, however it allows you to add multiple lines in a single call, thus avoiding the re-justification cost associated with each call to AddLine.
AddLine has also been changed to take the same structure type as AddLines (which takes an array of these structures), and the existing version of AddLine has been deprecated.
#jira UE-24187
Change 2836801 on 2016/01/20 by Jeff.Campeau
[CL 2857187 by Matthew Griffin in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2719147 on 2015/10/07 by Mark.Satterthwaite
Allow the shader cache to perform some precompilation synchronously on load before falling back to asynchronous compilation to balance load times against total time spent precompiling. Added a stat to the group that reports how long the precompile has been running until it completes so it is easier to track.
Change 2719182 on 2015/10/07 by Mark.Satterthwaite
Refactor the ShaderCache's internal data structures and change the way we handle recording whether a particular predraw state has been submitted to try and make it more efficient.
Change 2719185 on 2015/10/07 by Mark.Satterthwaite
Merging CL #2717701: Try and fix random crashes on Mac when manipulating bound-shader-states caused by ShaderCache potentially providing a bogus shader state pointer on exit from predraw.
Change 2719434 on 2015/10/07 by Mark.Satterthwaite
Make sure that Mac ensures reports have a source context and a sane callstack when sent to the crash-reports server.
Change 2724764 on 2015/10/12 by Josh.Adams
[Initial AppleTV support]
Merging //depot/YakBranch/... to //UE4/Dev-Platform/...
Change 2726266 on 2015/10/13 by Lee.Clark
PS4 - Calc reserve size required for DMA copy when using unsafe command buffers
Change 2726401 on 2015/10/13 by Mark.Satterthwaite
Merging CL #2716418: Fix UE-15228 'Crash Report Client doesn't restart into project editor on Mac' by reporting the original command line supplied by LaunchMac, not the modified one that strips the project name. The CRC can then relaunch as expected.
#jira UE-15228
Change 2726421 on 2015/10/13 by Lee.Clark
PS4 - Don't try to clear invalid targets
Change 2727040 on 2015/10/13 by Michael.Trepka
Merging CL 2724777 - Fixed splash screen rendering for images with DPI different than 72
Change 2729783 on 2015/10/15 by Keith.Judge
Fix huge memory leak in Test/Shipping configurations, caused because I am a numpty.
Change 2729847 on 2015/10/15 by Mark.Satterthwaite
Merging CL #2729846: On OS X unconstrain windows from the dimension of the parent display when in Windowed mode - it is OK for them to be larger in this case. They do need to be repositioned if on the Primary display so that they don't creep under the menu bar and become unmovable/unclosable and Fullscreen windows still need to be constrained to a single display. We can now take screenshots of windows that are larger than the display & not get grey bars beyond the cutoff.
#jira UE-21992
Change 2729865 on 2015/10/15 by Keith.Judge
Fast semantics - Finish up resource transitions, adding resource decompression where appropriate and using non-fast clears where we can't determine the resource transition.
Change 2729897 on 2015/10/15 by Keith.Judge
Fast Semantics - Make sure all GetData() calls are made safe with GPU fences.
Change 2729972 on 2015/10/15 by Keith.Judge
Removed the last vestiges of ID3D11DeviceContext/ID3D11DeviceContext1 from the Xbox RHI. Everything now uses ID3D11DeviceContextX directly.
This should be marginally quicker as it stops a double call to ClearState().
Change 2731503 on 2015/10/16 by Keith.Judge
Added _XDK_VERSION to the DDC key for textures, which should solve the issue of the tiling mode changing in August XDK (and future changes Microsoft may inflict).
Change 2731596 on 2015/10/16 by Keith.Judge
Fast Semantics - Add deferred resource deletion queue to make deleted resources be actually deleted a number of frames later so that the GPU is definitely finished with them. Hooked up the temporary SRVs for dynamic VBs as a first step.
Change 2731928 on 2015/10/16 by Michael.Trepka
PR #1659: Mac/Build.sh handles additional arguments (Contributed by judgeaxl)
Change 2731934 on 2015/10/16 by Michael.Trepka
PR #1618: added clang 3.7.0 -Wshift-negative-value ignore in JpegImageWrapper.cpp (Contributed by bsekura)
Change 2732018 on 2015/10/16 by Mark.Satterthwaite
Emit a shader code cache for each platforms requested shader formats, this is separate to the targeted formats as not all can or need to be cached.
- The implementation extends the ShaderCache's hooks in FShaderResource's serialisation function to capture the required shaders.
- Each target platform has its own list of cached shader formats, analogous to the list of targeted RHIs. Presently only the Mac implements this.
- Code cached shaders are now compressed (for size) to reduce the overhead associated with keeping all the shader code around - this works esp. well for text-based formats like GLSL.
Change 2732365 on 2015/10/16 by Josh.Adams
- Packaging a TVOS .ipa now works (still haven't tried any of the Editor integration like Launch On)
Change 2733170 on 2015/10/18 by Terence.Burns
Fix for Android IAP query not returning entire inventory.
Change 2733174 on 2015/10/18 by Terence.Burns
Fix Movie player issue where wait for movie to finish isnt being respected.
Seems a stray bUserCanceled event flag was causing this not to be observed.
Added some verbose logging to apple movie player.
Change 2733488 on 2015/10/19 by Mark.Satterthwaite
Added the ability to merge the .ushadercache files used by the ShaderCache to store shader & draw state information.
- Fixed a bug that would cause invalid shader membership and draw state information to be logged.
- Added a separate command-line tool to merge shader cache files, currently Mac-only but in theory should work on other platforms too.
Change 2735226 on 2015/10/20 by Mark.Satterthwaite
Fix temporal AA rendering on GL/Mac OS X - you can't rely on EyeAdaptation values unless SM5 is available so only perform that code on SM5 & we must correctly clamp saturate(NaN) to 0 as the current hlslcc won't do that for us (& is required by the HLSL spec). The latter used to be clamped in the AA_ALPHA && AA_VELOCITY_WEIGHTING code block that was removed recently.
#jira UE-21214
#jira UE-19913
Change 2736722 on 2015/10/21 by Daniel.Lamb
Improved performance of cooking stats system.
Change 2737172 on 2015/10/21 by Daniel.Lamb
Improved cooking stats performance for ddc stats.