warning V773: Visibility scope of the 'SavedIndices' pointer was exited without releasing the memory. A memory leak is possible.
warning V773: The function was exited without calling the Release method of the COM object pointed by the 'DeviceDenumerator' pointer.
#rb patrick.boutot, andrew.rodham
#jira UE-91644
[CL 15066688 by Tim Smith in ue5-main branch]
#rnx
#rb none
#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870549 by ryan durand in Main branch]
#jira none
#rb Mark.Satterthwaite
#ROBOMERGE-SOURCE: CL 5112753 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5206605 by michael trepka in Main branch]
#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 3947021 by Max.Chen
Sequencer: Don't preserve root component when copying object properties.
A spawnable empty actor, has a root component that is generated by the empty actor factory. If the object template's root component is preserved when copying from the spawnable empty actor, the root component will not be copied
over. Therefore, we need to NOT preserve the root component when copying object properties.
#jira UE-55825
Change 3947366 by Max.Preussner
WmfMedia: Better log output
Change 3947367 by Max.Preussner
MfMedia: Better detection of compressed format properties on Windows
Change 3949102 by Max.Chen
Sequencer: Remove SequenceActorTag when converting to possessable.
#jira UE-56206
Change 3949207 by andrew.porter
EngineTest: Set the screenshot nodes resolution to 1280x720
Change 3949404 by Max.Chen
Sequencer: More informative tooltip for "Rerun Construction Scripts" option. It now says "Rerun construction scripts every frame on actors that have 'Rerun Construction Script in Sequencer' enabled in their class settings".
Change 3950067 by Matt.Hoffman
Renamed UAutomatedLevelSequenceCapture's StartFrame and EndFrame to CustomStartFrame/CustomEndFrame to reflect that it is user-overriden. This will also resolve upgrade issues due to the variable datatype changing.
#jira UE-56189
Change 3950193 by JohnHenry.Carawon
Updating my latest MovieRendering test content.
Change 3950757 by JohnHenry.Carawon
More updates to MovieRendering test content
Change 3952059 by Max.Chen
Resave LevelVisibility_SubLevels to fix data loss conversion warning of OpacityMaskConstant
#jira UE-56086
Change 3952283 by Max.Chen
Sequencer: Disable dropping level sequence assets as spawnables.
#jira UE-56120
Change 3952422 by Max.Chen
Sequence Recorder: Add button to record from the current player.
#jira UE-55942
Change 3952987 by JohnHenry.Carawon
MovieRendering Test Content - Fixing camera bindings and changing the override binding actor
Change 3953823 by Mike.Zyracki
Fix for Bad FBX Import
Tangents not scaled by frame rate.
After looking at this again it seems that a set of MovieScene:: overiddes for the channel traits wasn't set correctly, so use the ADL idiom to use MovieScene, which can then call Optimize in the correct namespace.
With this we can now correctly use the passed in tolerance.
There was also a redundant set of Optimize calls so that it could happen twice so removed them, and needed an extra check in the float channel Optimize.
Also since we need to set auto tangents no matter if we optimize we don't set that parameter(though leave it since it's used by context menu key reduction).
Finally fixed speed issue with trajectories caused by calculating way too many substeps. Reverted back to a time based step size for consistency.
#jira UE-56193
Change 3954317 by Matt.Hoffman
Adding a key to the last frame of a section no longer causes a crash. Keys can already be moved to be on the last frame of a section so now you can just add a key there directly.
#jira UE-56255
Change 3954326 by Matt.Hoffman
Dilating a section that is only infinite on one side no longer causes a crash.
#jira UE-56260
Change 3954486 by Max.Chen
PR #4580: Exposes IsReversed() from UMovieSceneSequencePlayer (Contributed by alanedwardes)
Change 3955238 by Max.Preussner
Messaging: Enabled delayed message routing
https://github.com/EpicGames/UnrealEngine/pull/4574
#jira UE-56247
Change 3955901 by Max.Preussner
MediaFrameworkTest: Added developer test for overriding desired media player plug-in at runtime.
Change 3955922 by Andrew.Porter
QAGame: Updating movie rendering content in dev folder
Change 3956004 by andrew.porter
QAGame: Adding MPC track to movie rendering test content
Change 3956510 by Max.Chen
Sequencer: Fix fbx camera import of static properties so that they are imported before default tracks are created. Otherwise, the default tracks inherit the default properties of the camera, rather than the values from the fbx.
#jira UE-56311
Change 3957613 by Max.Preussner
MediaUtils: Added code documentation to media player facade
Change 3958005 by Max.Preussner
MediaUtils: Added method to get number of sinks
Change 3958934 by Max.Chen
Sequencer: Fix keys getting added and sequence getting erroneously re-evaluated when auto key is off.
Only apply defaults if there are no keys.
Only modify the movie scene section before creating keys or setting defaults.
#jira UE-55903
Change 3959687 by Andrew.Rodham
Sequencer: Fixed visibility track external values being inverted
#jira UE-56324
Change 3960507 by Max.Preussner
Core: Fixed incorrect rounding in FMath::DivideAndRoundNearest
Change 3962047 by JohnHenry.Carawon
MovieRendering Test Content Changes:
- Add Lightmass Importance Volumes to sublevel to fix warnings
- Rebuilt Lighting
- Add a third sequence for Gamut testing
- Resaved the sound master.uasset to fix warning
Change 3962211 by Mike.Zyracki
Add Frame Numbers to selected animation sections.
Added MapTimeToAnimation to MovieSceneSkeletalAnimation so that we could get it from the Skeleton Animation track Editor.
Since the thickness of the frame line can change based upon frame rate and zoom we need to calculate it similarly to how the time slider controller does it. Those calculations were private so we had to expose FScrubRangeToScreen
and GetScubberPixelRange from the TimeSliderController.
Also needed to know if the section itself was selected so added a bIsSelected flag to the section Painter.
Also fixed a bug where you couldn't add a section if other sections existed at different times in MovieScenePropertyTrack and could crash due to the check().
#jira UESEQ-395
Change 3962497 by Max.Preussner
Core: Added new string formatting argument to FTimespan
Change 3963662 by Max.Chen
CineCamera: Flip VistaVision width and height.
Change 3963731 by Max.Preussner
MediaCompositing: Implemented sequence recording support for media track
Change 3964195 by Andrew.Rodham
Sequencer: Set inverted property correctly for newly created visibility track sections
- Also clamp evaluation for key editors to the bounds of the section so we're not displaying values outside of the section bounds when the cursor is not on the bounds
#jira UE-56324
#coderevew Max.Chen
Change 3964196 by Andrew.Rodham
Sequencer: Fixed crash when attempting to render sections that resulted in a negative intersection with the view range
Change 3964275 by Andrew.Rodham
Sequencer: Fixed MovieScene::ClampToDiscreteRange for infinite range bounds
Change 3964364 by Andrew.Rodham
Curve Editor: Reduce minimum vertical view range when zooming to fit
Change 3965091 by Max.Chen
Sequencer Recorder: Refresh next sequence if empty when starting a recording, otherwise, use existing name.
#jira UE-56469
Change 3965148 by Max.Chen
Sequence Recorder: Move Record to Possessable to "Actor Recording" group
Change 3965162 by Max.Chen
Sequence Recorder: Always break out of immersive mode when done recording, even when stopping recording during countdown.
#jira UE-56407
Change 3965214 by Max.Preussner
QAGame: Enabled ImagePlate plug-in
Change 3965574 by Max.Preussner
SimpleComposure: Reorganized & upgraded content to work with new Media Track
#jira UE-56488
Change 3965651 by Max.Preussner
MediaCompositing: Ignoring seek-on-open if media not seekable
Change 3966075 by Christina.TempelaarL
Sequencer: Added Final Cut Pro 7 XML Export functionality
#jira UESEQ-358
Change 3966087 by Matt.Hoffman
Adding a single key to the Particle Toggle track now makes an infinite range section that is displayed in the UI.
#jira UE-56295
Change 3966547 by Andrew.Rodham
Sequencer: Fixed rounding errors when drawing the section background on boolean sections
- Logic was using time in sectonds which caused rounding errors on evaluation and flickering red/green stripes when dragging keys around
#jira UE-56324
Change 3966563 by Andrew.Rodham
Curve Editor: Key editor interface improvements
- SKeyEditInterface has a few problems - it does not update in real time when editing properties, and does not support multi-edit which makes it unsuitable for use with the curve editor
- We now take a different approach for editing keys by gathering a set of proxy UObjects for each key that is currently selected. These objects are added as top level objects to the details panel which means they support multi
edit as you'd expect from any other details panel in the editor.
- Proxy objects are updated every tick for the curve editor if they implement the ICurveEditorKeyProxy interface, which allows them to refresh their current value.
- Ideally, the same mechanisms would be used in the main sequence interface, and we would be generating the proxy classes at runtime based on the key value type, but that work remains a separate task from this initial offering.
#jira UE-56165
Change 3966564 by Andrew.Rodham
Curve Editor: Expand to frame when adding or moving keys in the curve editor
Change 3967051 by andrew.porter
MediaFrameworkTest: Set the CameraPlayer_Video texture to auto clear
Change 3967141 by Andrew.Rodham
Sequencer: Keep track of spawned objects that have been modified and only re-save such object's default spawnable state on destruction
- Now that we're taking this approach, I've remove serveral redundant bits of functionality in the spawn register such as making some spawnables read-only, and the PreSave binding for Sequencer.
- We now hook into all object pre-saves to make sure we handle the case where the sequences are saved through the content browser or elsewhere.
#jira UE-47686
Change 3967170 by Andrew.Rodham
Sequencer: Added the ability to possess anim instances as object bindings
- This allows full and direct animation of properties on UAnimInstance, and animation blueprints
- Object Bindings are made by first possessing a skeletal mesh component, then choosing the + Add button where its anim instance will be listed
- Added a new function to UMovieSceneSequence to gather previously cached objects that should now be invalidated. Anim instances will be re-resolved if a new UAnimInstance is assigned to USkeletalMeshComponent::GetAnimInstance.
- ObjectBindingIDs for anim instances are just represented by an entry in a set of GUIDs. We only ever resolve such bindings through USkeletalMeshComponent::GetAnimInstance.
- Only currently supported on LevelSequences
#jira UE-56132
Change 3967195 by Max.Preussner
Core: Updated TRangeSet to use TCallTraits
Change 3967345 by JohnHenry.Carawon
Test Content Changes - first iteration of spacing out the examples in the shots.
Change 3967572 by Max.Chen
Sequencer: Fix setting PreviousPlayEvalPosition until after we've tested whether it's set.
#jira UE-56518
Change 3967750 by Max.Chen
Audio: Set duration based on number of input channels, rather than number of channels to serialize. This fixes an issue where audio split into 2 channels is set to a duration that's twice as long.
#jira UE-56430
Change 3967836 by Max.Chen
Sequencer: Allow for animating array elements within ustruct properties
#jira UE-55887
Change 3968506 by Matt.Hoffman
Fixed ambiguous conversions for seconds and frames being overriden by ambiguous conversion to Timecode (in frames).
Change 3968748 by Max.Chen
Sequencer: Make the event properties submenu widget larger.
#jira UE-55557
Change 3968862 by Max.Chen
Sequencer: Recursive expansion when shift is down
#jira UE-52139
#pr 4194
Change 3968863 by Max.Chen
Sequencer: Bind rename command to selected track so that F2 shortcut start renaming
#jira UE-52139
#pr 4194
Change 3968872 by Max.Chen
Sequencer: Rekey the selected key at the current time.
#jira UESEQ-396
Change 3968938 by Max.Chen
Cine Camera: Add option to toggle the behavior of locking the rail mount to the orientation of the spline. By default, the option is off, no change in behavior.
#jira UE-55815
Change 3968958 by Andrew.Rodham
Sequencer: Consider vertical position when hittesting keys
#jira UE-56256
Change 3969643 by Max.Preussner
Core: Rounding timespans created from double values towards nearest ticks
Change 3969646 by Max.Preussner
MediaUtils: Implemented timeout mechanism for block-on-fetch feature
Change 3969776 by Mike.Zyracki
Added Skip Anim Notifiers Toggle per what was in Matinee.
Investigated the Enable Root Motion toggle as also discussed but it's implementation is directly contained by the
animation asset and unlike animation notifies there seems to be no exposure to interactively disable it during a playback tick.
Note if we are generating thumbnails we still automtically disable notifies in the editor to avoid annoying noise playback.
Note that if Enable Root Motion/Root locked is specified in the animation asset it does correctly effect the Sequencer.
#jira UESEQ-399
Change 3969835 by Matt.Hoffman
Playback Range and Selection Range use unified logic for adding themselves as potential snap locations which properly handles inclusive/exclusive bounds. This resolves an issue where having an unset selection range caused a
potential snap location to be added on frame 0 and 1 (internal resolution) which caused a misalignment when placing objects near frame 0.
This also removes the one frame offset on setting Selection Range to bring behavior inline with other ranges.
#jira UE-55420
Change 3969885 by Max.Preussner
MediaAssets: Don't register media player CDO with media ticker
Change 3971129 by Andrew.Rodham
Sequencer: Fixed UMovieSceneSequencePlayer::GotToEndAndStop() not taking into account for start time
This is a remnant from when the times were always specified in 0-duration space, rather than actual sequence times.
Change 3972056 by JohnHenry.Carawon
More updates to Test Content. I continued spacing out the examples in the sequence so that they have a consistent number of frames between each example and during the start/end of the example. Also removed the Marcie sublevel.
Change 3972066 by Andrew.Porter
MediaFrameworkTest: Setting Marcie folder to be never cooked in package settings
Change 3972675 by Matt.Hoffman
Splitting Subsequence Sections no longer sets an incorrect playback range on the subsequence when the subsequence has a different internal resolution than the owning sequence.
#jira UE-55453
Change 3973376 by Max.Preussner
ImgMedia: Zero is the only valid video track for image sequences
Change 3973489 by Max.Preussner
Launch: Build rules cleanup pass
- don't use Media, MediaUtils on server apps
- don't link against Media (include-only dependency)
- don't include from MediaAssets (dynamic load only)
Change 3973760 by Max.Preussner
MediaUtils: Moved AppMediaTimeSource implementation into its own file; added logging
Change 3973765 by Max.Preussner
ImgMedia: Disallowing seek beyond media length
Change 3973855 by Max.Preussner
MediaFrameworkTest: Updated developer test content
Change 3973858 by Max.Preussner
MediaCompositing: Blocking on media player time instead of media sample time (the former may not be hit in the current frame)
Change 3974988 by Max.Chen
Sequencer: Fix trim left so that it also sets the start offset for audio and skeletal animation sections.
#jira UE-57015
Change 3976101 by Matt.Hoffman
Sequencer will now focus the scroll view on newly created items.
#jira UE-56492
Change 3976203 by Max.Chen
Property Editor: Add DetailsViewArgs for ColumnWidth. Defaults to 0.65f, no change in existing behavior.
Change 3976205 by Max.Chen
Sequencer: Set better column widths for sequencer.
#jira UE-55557
Change 3976206 by Max.Chen
Sequencer: Added menu category for import/export
Change 3976265 by Matt.Hoffman
Tracks within Object Binding Nodes will now sort using the old behavior so that components are added above other track types.
#jira UE-56473
Change 3976901 by Max.Chen
Sequencer: Add event names to event track section
#jira UESEQ-353
Change 3977878 by Max.Preussner
Media: Moved media framework ticking stats into Media module
Change 3977982 by Max.Chen
Sequencer: Add Edit->Reset section length to duration of source (ie. audio, skeletal animation, shot length)
Added MovieSceneSection::GetDefaultDuration and MovieScene::HasDefaultDuration
#jira UESEQ-392
Change 3977994 by Max.Preussner
Media: Fetching and rendering media samples before viewports are rendered (to ensure frame sync for in-level media playback)
#jira UE-53975
Change 3978188 by Matt.Hoffman
Easing Curves are now clipped by the sequence's PlayRange when testing against an infinite section. This causes blended sequences to finish their blend when the section starts/ends instead of always using 25% of the total section
length to determine default blend range.
#jira UE-56362
Change 3978676 by Max.Preussner
MediaCompositing: Fixed first frame of rendered out media track missing
#jira UE-53975
Change 3978684 by Max.Preussner
MediaCompositing: Enabled media track frame sync feature
#jira UE-53975
Change 3980026 by Matt.Hoffman
Keys can be selected on folded out sections (such as an audio track expanded to show volume and pitch) again.
#jira UE-57169
Change 3981614 by Max.Preussner
MediaUtils: Added missing subtitle sample queue flush
Change 3982311 by Max.Preussner
MediaCompositing: Added safeguard for zero length media sources
Change 3982389 by andrew.porter
QAGame: Adding media track test content into FrameAccuracySubscene
Change 3983661 by Max.Chen
Sequencer: Add level name to spawn a spawnable into.
Add sublevel menu option to set the level
#jira UESEQ-390
Change 3983712 by Andrew.Rodham
Sequencer: Purge legacy blueprint spawnables from LevelSequence packages
#tests Ran a preflight for cooking fortnite, ocean and Orion. Only orion shows up this edge case, and will require a re-save of the EndCines level
#jira UE-39173
Change 3983787 by Max.Preussner
MediaCompositing: Moved compile time switch for block-on-fetch into media player facade
Change 3983812 by Andrew.Rodham
Sequencer: Exposed default level sequence instance data to blueprints
Change 3984373 by Max.Preussner
Media: Added API for quering whether player plug-in supports block on fetch
Block on fetch allows Sequencer and other systems to block the game thread until a desired video frame has been decoded.
Change 3984670 by JohnHenry.Carawon
Movie Rendering Test Content progress. Saving the state of the content.
There is a bug where things got replaced with particle emitters and I think it was because I tried to copy paste an animation track into a separate skeletal mesh track.
Change 3985097 by Max.Chen
Sequencer: Rename Reset to AutoSize
Change GetAutoSizeDuration to return TOptional<FFrameTime>
#jira UESEQ-392
Change 3986043 by Max.Chen
Sequencer: Fix crash when attach/path duration is less than 0.
#jira UE-57310
Change 3986373 by Max.Chen
Sequencer: Add support for deleting tracks and channels which equates to setting the channel mask.
#jira UE-52951
Change 3986375 by Max.Chen
Sequencer: Add Create Pose Asset to skeletal animation section. This allows animators to blend animations in sequencer and create new pose assets from them.
#jira UESEQ-408
Change 3986796 by Andrew.Rodham
Sequencer: Fixed stale object references remaining in ULevelSequence::BindingReferences when using convert to spawnable/possessable
- We used to convert objects by creating a new binding, then re-assigning its GUID, which meant we didn't have to do any further object fixup, but the code to achieve this was confusing and led to a vulnerability where object
references would not be cleaned up correctly due to the newly created possessable essentially being a temporary object that's immediately thrown away.
- To address this, there is now a function for porting all the contents of one object binding to another, and handles the correct fixup required for parent/child object bindings for both spawnables and possessables.
- Also added codepath to remove any stale object references from the level sequence reference map on PostLoad (this piggy-backs off the PurgeLegacyBlueprints object version which is close close enough to this change to be
identical)
#tests Verified that existing sequences with stale references get cleaned up on load. Verified that repreatedly converting from spawnable<->possessable cleans up references correctly.
Change 3987807 by JohnHenry.Carawon
Updates to the MovieRendering Test Content.
- Fixed the spawnable actors that were overwritten
- Shortend the Lighting example and combined the Intensity and Color tracks
- Organized the Sequence and WorldOutliner to group the examples.
Change 3988151 by Max.Chen
Cine Camera: Enable keying the "Enable Look at Tracking" toggle.
Change 3988880 by Max.Chen
Sequencer: Support enter to add asset for all sequencer track editors that have asset pickers.
#jira UE-57367
Change 3988953 by Max.Chen
Sequencer: Make the track color picker focusable so that it will close when you click away or lose focus.
#jira UE-57210
Change 3988962 by Max.Chen
MovieSceneCapture: Fix EDL export so that it takes into account movie scene frame resolution and desired frame rate.
#jira UE-57365
Change 3988964 by Max.Chen
Movie Scene Capture: Clarified tooltip for bRelativeFrameNumbers. If you specify custom start/end frames for the recording, they will be relative to the playback range.
#jira UE-57308
Change 3989442 by Max.Chen
Fix CIS
Change 3991548 by Matt.Hoffman
Dragging the time slider no longer causes the time slider to ignore snap-to-interval with "Snap to Keys While Scrubbing" when no keys are in range.
#jira UE-57417
Change 3991598 by Matt.Hoffman
Snap to Key while scrubbing now mirrors the behavior of "jump to next key". When there are no tracks selected it snaps to all keys and when there are tracks selected it snaps to only keys from that track.
This also resolves an issue where deleting an object did not remove it from the Sequencer's selection. Undoing a delete already doesn't seem to restore your selection, so removing it from your selection shouldn't change that
behavior.
#jira UE-57417
Change 3991603 by Max.Chen
Sequencer: Disable EditAnywhere for some section properties
#jira UE-53530
Change 3992240 by Max.Preussner
MediaAssets: Implemented dynamic audio sample rate adjustment based on audio/media clock drift
#jira FORT-70638
Change 3992911 by Andrew.Rodham
Sequencer: Fixed saving spawnable state using the wrong spawned object
- We now track the object binding ID so that we can apply the spawned object to the correct spawnable when the asset is saved
#jira UE-57353
Change 3992914 by Max.Chen
Movie Scene Capture: Fix compression quality not being set.
The compression interface wasn't being found through query interface, so no compression was being set. Reworked finding it through the output pins.
Tested running various compression values.
#jira-UE-55488
Change 3992919 by Max.Chen
Sequencer: Convert to possessable now uses object template instead of copying properties (ie. see LevelSequenceActorSpawner). This fixes MIDs getting lost when converting to spawnable and back to possessable.
#jira UE-52400
Change 3993184 by Max.Chen
Sequencer: Don't show +Transform/+Path/+Attach track if the actor has the "Mobility" property hidden.
Set the Landscape, LandscapeProxy and InstancedFoliage "Mobility" property to be hidden since it is static is not supposed to be dynamically movable.
#jira UE-56347
Change 3993238 by Max.Chen
Sequencer: Test for hidden mobility in creating keys as well. Refactored to HasHiddenMobility()
#jira UE-56347
Change 3993978 by Max.Chen
Cine Camera: Enable keying the "Enable Look at Tracking" toggle.
#jira UE-57489
Change 3994039 by Max.Chen
Landscape: Add Mobility to hidecategories on landscape component
#jira UE-56347
Change 3994626 by JohnHenry.Carawon
Updated Movie Rendering Test Content.
- Fixed the overridden spawnables to their proper object types.
Change 3994653 by Christina.TempelaarL
Sequencer: Added Final Cut Pro 7 XML Import functionality, improved Export functionality
#jira UESEQ-358
Change 3995609 by Max.Chen
UMG: Add support for 2d transform mask (translation, rotation, scale, shear)
#jira UE-52951
Change 3995778 by JohnHenry.Carawon
Movie Rendering Test Content Updates
- Adjusted Lights example
- Adjusted Camera example
- Added Marcie sublevel back in
Change 3995942 by JohnHenry.Carawon
QAGame: Moving Movie Rendering test content from Developer folder to Sequencer folder
Also adjusted level visibility, lights and camera example.
Change 3995993 by Christina.TempelaarL
Sequencer: FCPXML Export updates - only export sections if in playback range and media exists, warn if media does not exist. Other updates - removed unused methods and variables, fixed message context naming to be more accurate
#jira UESEQ-358
Change 3996595 by andrew.porter
QAGame: Updating Marcie content in TrackEvaluation level to use Image Plate
Change 3996614 by andrew.porter
QAGame: Adding color test sequence to the sublevel
Change 3996643 by Max.Chen
Sequencer: Fix fbx animation export - rotation and scale channels were flipped.
#jira UE-57509
#jira UE-57512
#jira UE-57514
Change 3996652 by Max.Preussner
Messaging: Fixed delayed messaging using incorrect current time after message router sleep
Based on https://github.com/EpicGames/UnrealEngine/pull/4601
Change 3996801 by Max.Chen
Sequencer: Fix folder active state for non key area sections. Look at track node sections as well as key areas.
#jira UE-57550
Change 3997098 by Matt.Hoffman
Cleaned up some remaining ToDo's in STimeRange.
Change 3998339 by Max.Preussner
Sockets: Added documentation for socket receive functions
Change 3998359 by Max.Preussner
MediaUtils: Started to implement media recorder helper class
Currently only supports BGRA frames in CPU memory. Supporting other formats and buffer types will require conversions on render-thread. I recommend refactoring out the existing conversion code in FMediaTextureResource into a
reusable helper class in the MediaUtils module. This should be a good starting point though.
Change 3998417 by Matt.Hoffman
Keys and Sections can now be moved at the same time inside of Sequencer. Keys can now snap to Sections (and vice versa) instead of just to other Keys. Sections can now be duplicated like keys can.
#jira UE-56995
Change 3998427 by JohnHenry.Carawon
QAGame: Updating test content for the Movie Rendering feature.
- Added an auto activate particle to the beginning of the sequence (it's not part of the sequence at all)
- Added an event receiver blueprint to the Events example
- Added a particle emitter to both sublevels
- Added a camera cut to the end that switches to a separate camera
- The camera zoom in, focus and Look At sections are all separate (not overlapping in the sequence)
- Added a second actor for the camera Look At
- Added a Visibility section for the Actor Hidden In Game track that has possessable and spawnable cube and light
Change 3998537 by Max.Chen
Sequence Recorder: Restore immersive mode when stopping the sequence even if not in PIE.
#jira UE-56407
Change 3999809 by Matt.Hoffman
Removed the "Go To" box from Sequencer and instead placed the current time as an always visible control. The previous shortcut (Ctrl + G) now focuses the new widget directly.
#jira UESEQ-376
Change 4000543 by Christina.TempelaarL
Sequencer: Moving editor-only code from runtime module MovieSceneCapture to editor module MovieSceneTools.
Moved EDL and FCP XML exporters as well as Automated Level Scene Capture.
#jira UESEQ-358
Change 4000706 by Matt.Hoffman
Entering multiple time strings without a number no longer crashes Sequencer.
#jira UE-57672
Change 4001051 by andrew.porter
MediaFrameworkTest: Fixing up some image sources pointing to the wrong location
Change 4001191 by andrew.porter
QAGame: Adding some quick EDL/XML test content to dev folder
Change 4001243 by Max.Chen
Sequencer: Fix import EDL out of range.
#jira UE-57665
Change 4001856 by Matt.Hoffman
Selecting keys and sections at the same time now also works with animation and audio sections.
#jira UE-57716
Change 4002021 by Max.Chen
Sequence Recorder: Fix sequence name incrementing.
If external recording sets the sequence name, use it. Otherwise, use the recording name from the recording group or the recording settings.
#jira UE-57712
Change 4002618 by Max.Chen
Viewport: Update the look at location when updating to a locked actor. This fixes an issue so that popping the view out of a locked actor and manipulating the view will not jump to the previous look at location.
#jira UE-57725
Change 4002979 by Matt.Hoffman
Fixes several edge cases with the end time range that was causing confusion about what the last frame of the sequence was. Dragging the End Frame slider will no longer be off by one tick and jumping to the end via the UI controls
now properly respects snapping and stays inside the play range instead of falling outside of it. Overall behavior does not change though and End Frame should be considered an exclusive frame so that frames 0-150 results in a 150 frame long
animation (which is frames 0-149).
#jira UE-56367
Change 4003185 by Matt.Hoffman
Fixed a regression that prevented a section from being dragged upwards past row 0 which normally resulted in all other rows moving down.
#jira UE-57717
Change 4003193 by JohnHenry.Carawon
QAGame: Updates to test content
- Shortened frames between the examples from 95 to 30
- Separated camera setting tracks
- Lighting example now switches directly from constant red - green - blue
Change 4003369 by Max.Chen
Sequence Recorder: Refresh next sequence regardless of internally stored sequence name.
#jira UE-55757
Change 4003586 by JohnHenry.Carawon
QAGame: Test Content Updates
- Level Visibility track now ends to that the levels are not visible when we move to the next example
- Shortened camera section, removed Z tranform so that we just move left to right and shortened the overall length
Change 4004414 by Max.Chen
Movie Scene Capture: Fix regression where rendering with shot handles would only render the first shot. 3972166 addressed an issue where an extra frame would be rendered by finalizing right when the end frame was reached. This was
hit on the first shot end frame, so instead, do this only for when the last shot is being rendered.
#jira UE-57314
Change 4004765 by Christina.TempelaarL
Sequencer: Fixed bugs in FCP XML import/export.
- Export: fixed sequence default resolution.
- Export: fixed XML files with no shots.
- Export: all sections clipped to playback range.
- Export: fixed incorrect section start/end times due to precision issues.
- Import: fixed incorrectly adding cinematic tracks.
- Import: fixed bugs creating new sections.
#jira UE-57660
#jira UE-57662
#jira UE-57655
#jira UE-57761
Change 4005119 by Max.Chen
Sequencer: Export/import at play rate
Change 4005195 by Max.Chen
UMG: Finish UMG evaluation on stop. Added object version so that existing UMG assets do not change.
#tests - Newly created UMG animation with sections set to restore state now return to their original state. Existing UMG animations with sections set to restore state do not return to their original state.
#jira UE-52285
Change 4005377 by Michael.Karambelas
QAGame: Moving TM-SequenceRecorder and related content out of my developer folder and into /Content/Sequencer/SequencerRecorder/*
Change 4005417 by Michael.Karambelas
QAGame: Fixed a BP compiler in the Level Blueprint of TM-SequencerRecorder.
Change 4005634 by Michael.Karambelas
QAGame: Fix up missing content and broken level sequence in TM-SequenceRecorder after move
Change 4006324 by Max.Chen
Sequencer: Reset if the focused movie scene is null. This fixes a crash if the user is focused in on a shot and undo takes the user past the point of where the shot was created.
#jira UE-57752
#jira UE-47661
Change 4007006 by Max.Chen
Sequencer: Fix FindAvailableRowIndex so that it returns the max row index (and not +1) since it doesn't find any conflicting rows.
#jira UE-57717
Change 4007907 by Max.Chen
Sequencer: Fix crash if there's no animation
Change 4007948 by andrew.porter
QAGame: added test content to dev folder for Record World Space
Change 4008636 by Max.Chen
Sequencer: Fix import fbx not setting values properly and creating additional cameras unncessarily.
#jira UE-57864
Change 4008759 by Max.Chen
Sequencer: Follow up fix for import cameras
#jira UE-57864
Change 4009994 by Matt.Hoffman
Dragging the left or right handles of the Time Range slider in Sequencer will now zoom your view in on the current center of the screen. This prevents the view from being translating as you tried to zoom in which caused issues at
high zoom levels.
#jira UESEQ-407
Change 4010169 by Christina.TempelaarL
Sequencer: FCP XML fixes.
- FCP XML export - no longer clips to playback range
- FCP XML and EDL export - fixed missing last frame of some sections after exporting to Premiere.
- Automated level capture, EDL export - use RoundToFrame instead of FloorToFrame for computing section start/end frames after frame rate conversion.
#jira UE-57802 - partial fix, movie scene capture still needs to render full section rather than clip against playback.
Change 4010287 by Mike.Zyracki
Add quaternion interpolation option to UMovieScene3DTransformSection.
This mimics how Matinee used to work by bascially finding the keys between a time and interpolating the angles as quat's between them.
As noted in the code the algorithm needs to handle the case when the x,y,z Rotation keys all aren't at the same time which was not handled by Matinee.
Also like Matinee, when in quaternion interoplation mode, we need to not display the function cuves since the interpolated and key values are now all different. (Would like to show them but that's a bigger refactor for perhaps just
a one off needed by quaternions).
I added a virtual function UMovieSceneSection::ShowCurveForChannel for this since it needs to be dynamic, not on construction of IKeyArea's, and could be useful for other sections. I could though move the method to just
UMovieScene3DTransformSection and do a cast instead.
Looked into doing a unit test for this but after talking with Andrew P we will work on doign an automated test in EngineQA since that will provide more coverage. Will also add a video the jira.
#jira UESEQ-403
Change 4010713 by Mike.Zyracki
Added option to key a group of transform channels instead of just the changed channel, or all of them.
This is useful for quaternion interpolations where you want rotation keys to be aligned but also useful for other workflows like animating FK Pose to Pose.
Change 4010715 by Andrew.Porter
MediaFrameworkTest: Setting LogMediaUtils logging from VeryVerbose to Verbose to cut back on the spam
Change 4013048 by Max.Chen
Sequencer: Fix play/jump status.
Update the player status for all position methods (Scrub, Jump, Play). Jump means Stopped.
Correctly use PlayTo or JumpTo based on position method.
In PlayInternal, JumpTo with the Stopped state (rather than playing state).
#jira UE-57844
Change 4013479 by andrew.porter
QAGame: Added content in TM-SequenceRecorder to test recording a property on a Cine Camera Component; Press 3 to trigger manual focus distance to increment on a timer
Change 4014323 by Max.Chen
Sequencer: Fix SetPlaybackPosition so that it jumps or plays based on playback status.
#jira UE-57844
Change 4015888 by Max.Chen
Sequencer: Fix crash on paste.
UMovieSceneSections were gathered from the track node's track. For sub track mode, we want to gather only those sections on that track node row.
#jira UE-57951
Change 4015943 by Max.Chen
Sequencer: Fix moving shots up when the mouse pos goes outside of the virtual track area.
#jira UE-57717
Change 4016293 by Max.Chen
Sequencer: Fix relative frame playback end frame calculation so that custom start/end frames remain in the space of the sequence and are not relative.
#jira UE-57308
Change 4017075 by Andrew.Rodham
Sequencer: Corrected initial evaluation range used when calling UMovieSceneSequencPlayer::Play()
Change 4017270 by Christina.TempelaarL
Sequencer: FCPXML importer and movie scene capture
- Use CeilToFrame when converting section start/end frame times to frame numbers in FCPXML and movie scene capture.
- Added support for clip metadata in FCPXML.
- Got rid of redundant TokenizedError message class, no longer needed now that FCPXML is in editor directory.
- Added log messages currently commented out due to exception, still testing.
#UESEQ-358
Change 4018370 by Christina.TempelaarL
Sequencer: fixed FCPXML log messages regarding sections with start/end not divisible by display rate.
#UESEQ-358
Change 4018378 by Christina.TempelaarL
Sequencer: fixed error in previous changelist.
#UESEQ-358
Change 4019457 by Max.Chen
Sequencer: Show event names only when the event track is selected
#jira UE-57897
Change 4022806 by Max.Chen
Sequencer: Fix crash on movie scene capture dialog shutdown if movie capture wasn't even started.
#jira UE-58106
Change 4022894 by Max.Chen
Sequence Recorder: Wrap OpenEditorForAssets after sequence recording within GIsEditor
#jira UE-58084
Change 4024487 by Max.Chen
Sequencer: Add tooltip for quat interpolation
#jira UE-58113
Change 4024562 by Max.Chen
Sequencer: Change path/attach track sequence binding id to currently focused sequence id so that bindings can be created in subsequences
Change 4027414 by JohnHenry.Carawon
QAGame: Checking in content that shows a bug with using particles systems and Delay Before Shot Warm Up.
Change 4028990 by Max.Chen
Sequencer: Fix evaluate sub sequences in isolation.
This check was added with the compile on the fly logic. Not sure why it was necessary but it seems like the sub sequence data needs to be updated in order to evaluate sub sequences in isolation.
#jira UE-58184
Change 4029004 by Max.Chen
Sequencer: Ensure that old binding references are removed when re-assigning actors in sequencer
#jira UE-57898
Change 4030997 by JohnHenry.Carawon
QAGame: Fixing name of the master sequence
Change 4031785 by Michael.Karambelas
QAGame: Added an instance of ThirdPerson Run to TM-SequenceRecorder for Record to Possessable test.
Change 4035548 by Andrew.Rodham
Sequencer: Changed FMovieSceneEvaluationTemplate::TemplateSignature to be a serial number to address non-deterministic cooking issues
- This commit is related to the repro steps found in 3914599 and 3934307, both of which have been verified with this new change.
- Copy of 4031684 from //Fortnite/Main/...
#jira FORT-84852
Change 4036312 by Max.Chen
Sequencer: Fix zoom view range so that it uses the passed in InZoomDelta
Change 4036318 by Max.Chen
Sequencer: Auto size now returns a range and defaults to the channel proxy range so that keyed regions can also be autosized.
Change 4036322 by Max.Chen
Forgot missing change
Change 4036360 by Max.Chen
Sequencer: Fix play rate calculation when skeletal animation section play rate changes.
Change 4037163 by Mike.Zyracki
Weighted Tangent Implementation
Tricky thing is that you need to solve a cubic in order to get the bezier weights for the time part of the curve. See https://www.gamedev.net/forums/topic/474094-help-function-curves-for-animation-interpolation/
Maya provides an implementation in it's dev kit but I didn't use it since it was horribly slow and uses an iterative solution to solve the cubic needed.
Instead I use an old algorithm (Cardano's method), to solve the cubic which should be much faster. Though relative simple to code from principles I just went ahead and used
a version from Graphics Gems 1.
I put this cubic solver directly in MovieSceneFloatChannel.cpp, but will need to move it when we support Rich Curve, maybe to FMath:: (which would probalby require some other
functions for solving quartics, etc.. for completeness.). Also note we resolve this on every evaluation but dont' need to if the interval the time is evaluating hasn't had any
change in values or tangents. So again when we support FRichCurve we can create a Weighted Evaluating class that can hold the cache.
Also with the tangent drags I got rid of the Cardinal position that was used to calculate non-weight tangents from the key point and just quickly getting a direction.
With weighted tangents we need to use the delta instead (otherwise when moving multiple they would all get the same weight based upon distance to the cardinal point. )
For mixed tangents types what I'm defaulting to non weighted if the interval doesn't match. May need to do weighted instead, not sure.
What's left is just FBX import, for tomorrow.
#jira UESEQ-76
Change 4037435 by Mike.Zyracki
Fix fo build warnings from weighted tangent submission.
#trivial
Change 4038091 by Michael.Karambelas
QAGame: Updated a Sequence Recorder group in TM-SequenceRecorder that had an actor missing the animation.
Change 4038374 by Andrew.Rodham
Sequencer: Refined scrubber styling for level sequences and actor sequences
- Scrubber now shows a block the width of a dsplay rate frame, plus a line for the actual evaluated time. UMG reverts back to the previous styling (no block)
- Keys that are outside of the playback range are now drawn with a subdued effect
- Tick labels are no longer drawn when directly underneath the scrubber
Change 4038490 by Max.Chen
Sequencer: Expose tangent weight values in details panel.
Change 4038620 by Andrew.Rodham
Sequencer: Advanced time panel polish
#jira UESEQ-426
Change 4038677 by Max.Chen
Movie Scene Capture: Redirector for MovieSceneTools.AutomatedLevelSequenceCapture
#jira UE-58248
Change 4039739 by Max.Chen
Sequencer: Media track should only be supported by Level Sequence
Change 4040024 by JohnHenry.Carawon
QAGame: Fix EventReciever and OverrideBinding example
The level sequence was set to none so the fix was to set it back to TrackEvaluation_Master.
Change 4040610 by Andrew.Rodham
Curve Editor: Moved weighted tangent switchers to a single toggle command (CTRL+W) and added an icon
#jira 58383
Change 4040882 by Mike.Zyracki
Keep broken when turning on weighted
#jira UE-58435
Change 4041089 by andrew.porter
QAGame: Sequence for Long Tangents bug
Change 4041498 by Mike.Zyracki
Turn off weighted when going auto to prevent large tangents.
Do it both in UI and when doing AutoSetTangents()
to really make sure it doesn't happen.
#jira UE-58452
Change 4041752 by andrew.porter
MediaFrameworkTest: Adding some better logging for setting rates when not supported. Also ignoring commiting URL when there is no text
Change 4041896 by Matt.Hoffman
The transform dialog box now transforms selected keys and sections, instead of just keys.
#jira UE-58265
[CL 4044405 by Max Chen in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3801826 by Max.Chen
PR #4304: Level Sequence crash fix - Guarded against dereferencing null componen. (Contributed by DSDambuster)
Change 3801828 by Max.Chen
PR #4302: Movie Scene Visibility Template unitialised variable, causing random . (Contributed by DSDambuster)
Change 3801837 by Max.Chen
Sequencer: Delay spawning/construction for convert to possessable. This fixes a bug where property values would be lost when
converting back and forth from possessable to spawnable.
#jira UE-52400
Change 3801841 by Max.Chen
Sequencer: Make spacer nodes not selectable.
PR #4194: Improvements to Sequencer (Contributed by projectgheist)
#jira UE-53117
#jira UE-52139
Change 3804183 by Max.Preussner
MediaAssets: Added missing lock in media sound component
Change 3805414 by Max.Preussner
MediaAssets: Setting valid GUID when initializing media texture resource
Change 3819578 by Max.Chen
PR #4370: When enabling the "MovieCapture", do not turn off the Stereo-3D display. (Contributed by yehaike)
#jira UE-53647
Change 3823414 by Max.Chen
Curve Editor: Lock down the first and last keys in the redundant keys removal range so that they're unaffected.
#jira UE-53591
Change 3826406 by Max.Chen
Sequencer: Move OnStartedPlaying() to within first update in UpdateTimeCursorPosition(). This fixes an issue where setting the
hud/player visibility was getting stomped on later.
#jira UE-52772
Change 3827044 by Max.Preussner
MediaAssets: Added sprite visualization to media sound component
#jira UE-53594
Change 3827988 by Max.Preussner
MediaPlayerAssets: Fixed Media Texture is not linked to Media Player when created together
#jira UE-53532
Change 3828506 by Max.Preussner
MediaPlayerEditor: Added attenuation visualizer for media sound components
#jira UE-53594
Change 3832590 by andrew.porter
EngineTest: Added a keep state check in Property Animation sequencer test
Change 3833053 by andrew.porter
EngineTest: Adding Hierarchical Bias test
Change 3835683 by andrew.porter
EngineTest: Adding UMG Animation screenshot test
Change 3836076 by Max.Chen
Sequencer: Fix audio volume and pitch multiplier deprecation.
Change 3836230 by andrew.porter
EngineTest: Adding Sequence Bone Position automation test
Change 3836347 by Max.Chen
Sequencer: Fixes to shot name parsing.
When a shot doesn't contain a shot number, assume, [ShotName]_[TakeNumber].
When duplicating a shot, put the new shot in the same path of the original shot, so that the take numbers will increment
properly.
#jira UE-51868
Change 3836552 by Max.Chen
Sequencer: Sub section now has a takes menu
Change 3838094 by Max.Chen
UMG: Fix template finish not getting called on stop. This fixes a bug where sections aren't restored when finished.
#jira UE-52285
Change 3838708 by Max.Chen
Sequencer: Add notification when the blend type is changed.
#jira UE-54046
Change 3840295 by Max.Chen
Sequencer: Fix copy/paste crash for lights
#jira UE-54084
Change 3840957 by Mike.Zyracki
Added Show Only Keyable and Show Only Animated to the filter list in the property editor.
Added IsPropertyAnimated to IDetailKeyframe Interface which already had support for showing properties which are keyable (which
is used for the key icon next to the properties.). Could have created another interface but then would have had to mimic the sequencer
binding, releasing also, so this seemed best way.
One issue still left is that custom built detail items currently don't store associated properties(usually) and so certain
properties, in particulalry transforms, won't show up as keyable or animated. Note this also shows up with the keyable icon not showing
up next to transform tracks, and other filters like Show Only Modified not working with transforms/customs. Not sure best way to tackle
this.
#jira UESEQ-328
Change 3841756 by Max.Chen
Sequencer: Fix unbound possessable components when pasting spawnables.
#jira UE-54104
Change 3843950 by andrew.porter
EngineTest: Renaming LevelStreaming tests/content to LevelVisibility
Change 3844082 by Mike.Zyracki
Missing file for animated filter in property editor.
When finding if a track is animated we need to find it but we can't easily induce the MovieTrack class for any particular
property. So we don't set a class for it and just search by it's ID and name.
#jira UESEQ-328
Change 3846902 by Max.Preussner
ImgMedia: Fixed image media player never finished initialization if loading failed
#jira UE-54247
Change 3849820 by Mike.Zyracki
Reassigning deleted widgets didn't work since the menu extender mechanism needs a valid UObject in order to perform an operation
on it. So to fix we replaced GetObjectBindingContextMenuExtender in WidgetBlueprint with new delegate mechanism
(OnBuildCustomContextMenuForGuid) that supports FGuid in addition to UObjects which is needed to handle re-binding deleted widgets. Note
that the default sequencer hacks this for replacing deleted actors in SequencerObjectBindingNode to check to see if a LevelSequence is
active. We could move to this mechanism there also.
#jira UE-53163
Change 3852211 by Max.Chen
UMG: Indicate name of the property that is not bound.
#jira UE-54350
Change 3854120 by Max.Chen
Sequencer: Fix sibling folders being allowed to have the same folder name.
#jira UE-54363
Change 3854627 by Max.Chen
Sequencer: Step to next/previous key should work for all tracks if there aren't any selected.
#jira UESEQ-391
Change 3855825 by andrew.porter
EngineTest: Adding animation blending automation test
Change 3855950 by andrew.porter
EngineTest: Adding correct expected valuues to animation blending test
Change 3856237 by Matt.Hoffman
UESEQ-336 - Sequencer Track Reordering
Adds the ability to re-order Master Tracks, Folders and Object Bindings within sequencer hierarchies (including UMG). Adds the
ability to do a one-off sorting of the content under the old sorting behavior if the user wants to reset their layout to how it was
under legacy behavior.
Modifies SequencerTrackNodes, SequencerFolderNodes and SequencerObjectBindingNodes to handle CanDrop/OnDrop for above, below and
ontop of.
Fixes a Slate Issue that forcibly expanded a TreeviewRow if an item handled OnDrop. Slate will now only forcibly expand the row
if the item says the drop happened ontop of the item, and not above or below it like it previously did.
Change 3856503 by andrew.porter
EngineTest: Adding automation test for using animation blueprint with blend multi node in sequencer
Change 3857875 by Max.Chen
Sequencer: Assign the sequence id after the template is compiled.
#jira UE-54462
Change 3858344 by Max.Chen
Sequencer: Prevent Goto and Transform boxes from overlapping by allowing them to be visible at the same time in an autosized
horizontal box. Also, added close button to the goto box.
PR #4425: Prevent Goto and Transform boxes from overlapping in Sequencer ... (Contributed by projectgheist)
#jira UE-54210
Change 3860566 by andrew.porter
MediaFrameworkTest: Set the option to index 0 for the audio and video track list by default
Change 3860654 by andrew.porter
EngineTest: Enabling Camera Cut + FOV test
Change 3860981 by andrew.porter
EngineTest: Updating skeletal mesh tests with a delay after set playback position
Change 3861256 by Max.Chen
Sequencer: Add all bindings if none selected.
#jira-54440
Change 3862154 by Andrew.Rodham
Added TimeManagement module
Change 3862424 by andrew.porter
EngineTest: Turned on the test Bone Positions with Blend Multi Node
Change 3862573 by andrew.porter
EngineTest: Adding test to compare bone positions in a sequence that is blending an animation that is using an AnimBP
Change 3865117 by Max.Chen
Sequencer: Stop auto scroll on mouse release of movement.
#jira UE-31212
Change 3865303 by Max.Chen
Sequencer: Add drag and drop transactions
#jira UE-54662
Change 3865304 by Max.Chen
Sequencer: Fix crash when an actor factory is not found.
Change 3865361 by Max.Chen
Sequencer: Don't change the camera/shot lock button when popping out of a sequence.
#jira UE-54665
Change 3865412 by Max.Chen
Sequencer: Determine whether a transform track is for a camera by using the spawned object or template
#jira UE-54666
Change 3865685 by Max.Chen
Sequencer: Clear autoscrub offset when stopping autoscroll
#jira UE-31212
Change 3865886 by Max.Chen
Sequence Recorder: Log an error if the number of frames changes while recording. This can happen if the skeleton changes while
recording.
#jira UE-48715
Change 3866925 by Andrew.Porter
MediaFrameworkTest: Changing the current PNG test video image sequence to 1024 x 576
Change 3867705 by andrew.porter
QAGame: Adding Audio Sort Sequence to dev folder
Change 3867890 by andrew.porter
QAGame: Adding a sequence for testing a sorting crash to my dev folder
Change 3872628 by Max.Chen
Movie Scene Capture: Split delay before warmup into split delay before shot warmup so that there's separate controls for when
the movie scene capture warmups up vs. shot boundaries.
Change 3873131 by Matt.Hoffman
UE-54732 - Crash reordering a folder with a track.
This was caused by folders being the only type of track to check if someone was putting a parent track into a child track.
Object Binding tracks and Tracks now check as well so that you can't use the above/below drop targets to add parents as children.
This also fixed a typo in the localization keys.
#jira UE-54732
Change 3873301 by Mike.Zyracki
Added ability to support continous euler angle changes when changing rotations, in particularly with the rotation gizmo's. To do
this we effectively added a form an of 'euler filter'(https://en.wikipedia.org/wiki/Euler_filter) to find the closest euler angle to the
current euler angle.
Three functions were added to FRotator to make this possible, one to get the euler angle that's has the same rotation as it, one
to get the difference between two euler angles via Manhattan distance and a third using the previous two to choose a Rotator value
that's closest to it. We then use these functions before calling UComponent::SetRelativeRotation to make sure we use the correct Euler
after the Quat conversion. We also no longer limit(bound) the euler angles to -180,180, which is obviously necessary to avoid flips.
I also changed how we caluclate yaw and roll when pitch is -90 or 90 to make it the standard approach of zeroing out roll and
just setting yaw. Main reasons are the previous implementation had precision issues so things like 180, 90, -180 would show up due to
numbers being nearly zero but negative,(this would break any smooth interpolations), and this facilitates having a 'gimbal' rotation
mode (like Maya, Blender etc..) if we ever want that also. If needed we could keep the previous implementation but would need to add
some FMath::IsNearlyZero checks, with less performance.
Note we only do this special filtering when applying delta's to actors or components in the editors, which then call
UComponent::SetRelativeRotationExact, which is a new function to foces the RelativeRotation to be equal to the new rotation. This allows
us to store un-nomalized Rotators at the cost that the RotationCache may be broken. We didn't change any of the other UComponent
functions that set rotations (via Quats or Transforms) so they will still be bounded and unwound.
In SetInternalWorldLocationAndRotation we only set the rotation if the rotation has changed, which fixes the rotation getting
changed and re-normalized if just translate happens.
In TransformTrackEditor, we correclty use the bUndwing flag and in MovieScene3DTransformSection there was an un-needed winding
check there, it will be unwound earlier if needed, which happens if Sequence Recording is happening. Max we should talk about what to do
about this .
Note the euler angle drag via the widget is still bound to 0-360. I think we should just unbound that now since the rotations
value are now unbound.
This review now includes fixes suggested by Zak.
#jira UE-UE-22228
Change 3873483 by Matt.Hoffman
Sequencer Tracks can now be inserted above the spacer at the bottom of the tree.
#jira UE-54706
Change 3873899 by Max.Chen
Sequencer: Add section selection throbbing
Change 3873908 by Max.Chen
Movie Scene Capture: Added logging per frame
Change 3873924 by Matt.Hoffman
Adds the ability to store Sequence Recorder setups into profiles that stay with the map and can be re-loaded later. Profiles
store the Actor Recordings so the settings for each actor should carry with them.
#jira UESEQ-339
Change 3874726 by Matt.Hoffman
Disable drag-and-drop targets on spacers that come between rows in Sequencer. This prevents extra drag/drop targets showing up
between each row.
#jira UE-54706
Change 3874862 by Matt.Hoffman
Audio Track no longer gets reordered when adding sub-audio tracks, as sub-tracks are no longer counted towards the sorting order
index when normalizing indexes.
#jira UE-54727
Change 3875905 by Matt.Hoffman
Disable Fade Track UI if a fade track already exists in the sequence.
#jira UESEQ-393
Change 3876163 by Max.Chen
Sequencer: Swap the camera object to the camera component's owner if it's not the same.
#jira UE-54874
Change 3876971 by Andrew.Porter
EngineTest: Moved Media Player Seek test to new folder. Also enabled the test with new ground truth image.
Change 3877040 by Max.Chen
Cine Camera: Split camera properties to two groups, "Camera Options" and "Camera Settings". The cine camera now hides properties
in the "Camera Settings" group so that properties like bConstrainAspectRatio (in the "Camera Options" group) can be visible.
#jira UE-54192
Change 3877763 by Max.Chen
Curve Editor: Fix curve changed on end drag so that only curves that had keys/tangents that were changed receive notification,
otherwise all loaded curves were getting notified that they were changed.
#jira UE-54951
Change 3878234 by Matt.Hoffman
Disable "Drop Below" targets for Sequencer Tree nodes to prevent a confusing UX issue where dropping underneath a Object Binding
Node puts it after the object binding node but the UI looks like it's inserting it inside the Object Binding node.
#jira UE-54743
Change 3879359 by Mike.Zyracki
If a track is inactive we dim it a bit which seems to be the UE4 way to show inactive or disabled state. We changed the active
logic so that all subtracks need to be inactive for the track to also be inactive(instead of all active for active). This conforms to
how the active state actually works, e.g if you have two sections and only one is active the track is still active above it.
#jira UESEQ-388
Change 3879462 by Max.Chen
Sequencer: Allow dragging onto a particular row which would move out any overlapping sections to make space for the newly
created section. Newly created sections are now selected and throbbed to draw attention to themselves.
#jira UE-54664
Change 3879464 by Max.Chen
Sequencer: Fixed overlapping ranges being inserted into the evaluation field during compilation
- The issue was that track segments that had been combined with adjacent segments (due to them being identical) would
potentially cause a subsequently compiled frame to overlap with a range that had already been inserted into the evaluation field.
- The insertion code previously asserted that only minor overlaps were catered for (due to fp rounding errors) and assumed
that a supplied range could not entirely contain any other range in the field.
- The solution is to supply the insertion time along with the range to know exactly where the data should live in the field,
and crop the range to the maximum allowable space between adjacent ranges.
#jira UE-54922
Change 3879590 by Matt.Hoffman
Items that are now added to the Sequencer via the "+Track" menu will be selected after being added.
Items can now be added inside of folders instead of just to the root level.
#jira UE-27397
Change 3879612 by Mike.Zyracki
Display Nodes with no children are always active.
#jira UESEQ-388
Change 3879730 by Matt.Hoffman
Sequence Recorder's actor recording groups now remove items from the group when removed via the UI.
#jira UESEQ-339
Change 3880256 by Mike.Zyracki
Fix issue with inactive display with folders and other track nodes.
#jira UESEQ-388
Change 3883491 by Max.Chen
Fix issue where tick is skipped due to last ticked pose isn't cleared after AnimInstance changes.
Copy from Release-4.19
#jira UE-51323
Change 3883603 by Max.Chen
Movie Scene Capture: Add option toggle disable screen percentage. By default this is on (no change in current behavior).
#jira UE-51898
Change 3885074 by Max.Preussner
MediaCompositing: Resetting media texture & freeing resource on section end; removed dead code
Change 3887220 by Max.Preussner
MediaCompositing: Defaulted media section duration to 1 sec (since we do not know the actual duration in most cases)
Change 3887478 by Matt.Hoffman
Sequences now show [Inactive] in their title bars when they're disabled. This helps communicate why a sequence isn't being
evaluated.
#jira UE-51469
Change 3888985 by Max.Chen
Movie Scene Capture: Clamp HDR Compression Quality between 0 and 1.
#jira UE-55136
Change 3893519 by Max.Chen
Sequence Recorder: Clarified tooltip for bRecordNearbySpawnedActors - spawned actors will still be recorded if they match the
ActorFilter.
#jira UE-55238
Change 3893546 by Max.Chen
Sequence Recorder: If a selected actor already has a recording, add a blank recording.
#jira UE-55239
Change 3894044 by Max.Preussner
MediaCompositing: Added support for seeking into a media section
Change 3894310 by andrew.porter
MediaFrameworkTest: Adding Img media sources for 1080 and 2160 ravent test content
Change 3894426 by Max.Preussner
MediaAssets: Letting media textures with AutoClear retain their clear color when player is reset
Change 3895717 by Max.Chen
Sequencer: Null checks to prevent crash when saving the default state of a spawnable
#jira UE-55304
Change 3897388 by Max.Chen
Sequencer: Don't update current time to be within the view range when stepping into a sequence.
#jira UE-55322
Change 3897452 by Max.Chen
Audio: Fix crash when trying to record audio without any active capture devices. Log warning if the number of input channels is
not 1 or 2.
#jira UE-55223
Change 3897619 by Max.Preussner
MediaCompositing: Removed commented out code
Change 3898072 by Max.Chen
Sequencer: Override the animation asset in the player state if it doesn't match the animation asset that's being evaluated.
#jira UE-55328
Change 3898272 by Max.Preussner
MediaPlayerEditor: Made slate brush constants static
Change 3898704 by Max.Chen
Sequencer: Skip if the binding id's sequence can't be found.
#jira UE-55337
Change 3899855 by Max.Preussner
MediaCompositingEditor: Added cache state visualization to media track
Change 3900300 by Max.Preussner
MediaCompositingEditor: Added loop indicators to media sections
Change 3900694 by Max.Preussner
ImfMedia: Looping cache only when player is looping
Change 3900892 by Max.Preussner
Stats: Added stats category for media framework
Change 3900954 by Max.Preussner
MediaCompositing: Don't evaluate at the end of media section
Change 3901348 by Max.Preussner
Core: Replaced TLruCache autos for better readability
Change 3901655 by Max.Preussner
ImgMedia: Added more perf stats to EXR reader
Change 3901972 by Max.Preussner
MediaAssets: Added getter for media player in media sound components
Change 3902233 by Max.Preussner
MediaAssets: Enabling media textures to receive samples right after player is assigned
Change 3902238 by Max.Preussner
MediaCompositing: Working around init/shutdown idiosyncracies in sequencer
Change 3904045 by Max.Chen
Sequencer: Fix copy/paste crash. Only process UMovieSceneCopyableBinding and objects that can be spawned by the movie scene
spawn register.
#jira UE-55314
Change 3905605 by Max.Chen
Sequencer: Restrict spawnables from being created if they have a ClassWithin that UMovieScene is not a child of.
#jira UE-55429
Change 3906550 by Max.Chen
Sequencer: Add media track icon
#jira UE-55480
Change 3907101 by Max.Chen
Sequence Recorder: Fix bugs related to not recording a level sequence. There were certain assumptions that creating a level
sequence meant that sequence recording was in progress. This is not always the case - the recorders can record animation assets and not
create a level sequence.
Changed the notion of IsRecording() to having at least one actor recording that is recording. Countdown timer, recording
displays, etc should function if IsRecording() and not based on whether a level sequence is created.
#jira UE-55485
Change 3907247 by Max.Chen
Sequence Recorder: Fix crash not removing PrepareToCleanseEditorObject delegate. Repros when opening sequence recorder, closing
it, and then opening or creating a level.
Change 3910343 by Max.Preussner
Core: Added async helper for executing functions on a given thread pool
Change 3910346 by Max.Preussner
ImgMedia: Added separate thread pools for loading/decoding and deleting image frames
Change 3910829 by Max.Preussner
Profiler: Increased visible range of profiler graph
Change 3910841 by Max.Preussner
MediaCompositing: Displaying asset name instead of full media source path in media section
Change 3910870 by Max.Preussner
ImgMedia: Using deallocation thread pool only in debug builds
Change 3919642 by Max.Chen
Sequence Recorder: Clarify active tooltip
#jira UE-55661
Change 3919660 by Max.Chen
Sequencer: Sequence template source signatures are now also compared to catch the case where a sub-sequence asset has been saved
but not modified
- The following sequence of events exposes this issue:
- Create a master sequence with a single shot that spawns a cube
- Add this sequence to a level and set it to auto-play
- Save everything and restart
- Resave just the inner shot asset without opening it
- PIE
- The inner shot never spawns its cube because its template was wiped on save, but its signature never changed. Since the
master sequence previously didn't check the template source signature, it ends up trying to evaluate an empty template.
#jira UE-55626
#jira UE-55490
Change 3921825 by Max.Chen
Sequencer: "Run Construction Script in Sequencer" is off by default for blueprints but on for Sequencer. This allows the content
author to switch it on for specific blueprints and sequencer will be default, run those with construction scripts enabled.
Change 3922232 by Max.Chen
Sequence Recorder: Reset countdelay on stop.
#jira UE-55755
Change 3922306 by Max.Chen
Sequence Recorder: Don't automatically mark transforms to be recorded by sequence recorder. Instead, log a warning if the user
toggled it off to warn that the resulting animation might not match gameplay.
#jira UE-55758
Change 3922912 by Max.Chen
Sequence Recorder: Fix refresh next sequence name
#jira UE-55757
Change 3927654 by Max.Chen
Movie Scene Capture: Added format mapping for the name of the current camera
#jira UE-55769
PR #4537
Change 3927658 by Max.Chen
Sequencer: Added fbx property mapping for "FocusDistance" to "FocusSettings.ManualFocusDistance"
#jira UE-55782
Change 3932022 by Max.Chen
Sequencer: Add import animation track section to next available row index.
#jira UE-55892
Change 3933919 by Max.Chen
Sequencer: Jump to playback start frame and not 0 to start playback for recording.
#jira UE-55933
Change 3934307 by Andrew.Rodham
Sequencer: Add template signature that is re-generated every time the base template is regenerated, which invalidates evaluation
fields
This fixes an issue where the same sequence is instantiated multiple times in a sequence.
If the source sequence was saved, its template would be wiped, which would invalidate the template ID
When an instance tries to evaluate the master template, it would only invalidate a range in the evaluation field that was the
hull of any invalid sub sequences overlapping the current time, potentially leaving invalid data in the evaluation field at positions
later (or earlier) on in the sequence
When the sub template was re-generated, it receives the same SequenceSignature as it had before (because the sequence hasn't
actually changed), which causes the stale evaluation field data to fail the IsDirty check (because the sequence is the same as it
thought, but the *template* has changed)
This has been addressed be adding a signature to templates themselves, and checking both the template signature and sequence
signature as a part of the IsDirty check. This ensures that we regenerate if either the template, or the sequence have changed.
#jira UE-55934
Change 3936327 by Andrew.Rodham
Sequencer: Removed increment when trimming right
UMovieSceneSection::TrimSection already explicity assigns an exclusive bound to the time passed in. The new behavior means we
can trim a section to the right, and insert another section without changing the time to create adjacent sections.
#jira UE-42652
Change 3936328 by Andrew.Rodham
Fixed KeyFrameManipulator assignment operators and copy/move constructors
- These types are potentially self-referential so cannot use default constructors/assignment
Change 3936330 by Andrew.Rodham
Converted UMGSequencePlayer to use frames internally
#jira UE-54878
Change 3936726 by Max.Chen
Sequencer: Set track node as the parent of the key area node. The key area switcher needs the object binding id from the parent
object binding node. Without this, the binding to the external value fails.
#jira UE-55931
Change 3936775 by Max.Chen
Sequencer: Should stop or loop should compare DurationFrames with Current Time from StartTime.
The bug is that if you set 30 warmup frames in movie rendering for a range of 0-100, the FrameRange will be starting at -30 and
have a duration of 130. Without this fix, the playback will continue until frame 130, rather than 100.
#jira UE-55933
Change 3936935 by Matt.Hoffman
Easing Curves are now represented in Play Rate resolution instead of internal resolution.
#jira UE-55937
Change 3937069 by Matt.Hoffman
Users can toggle if the is infinite on each side, limited by which tracks support infinite ranges.
#jira UE-55891
Change 3937516 by Max.Preussner
ImgMedia: Added support for single-threaded platforms
#jira UE-55986
Change 3937826 by Max.Preussner
MediaAssets: Disabling media sound components on HTML5 if AudioMixer is not enabled
Change 3937997 by Max.Chen
Curve Editor: Add Zoom to Fit Curves so that selected curves from Sequencer can be focused on. Tested that undo doesn't re-zoom.
#jira UE-55935
Change 3938000 by Max.Chen
Sequencer: Stop all sounds before generating audio waveforms.
#jira UE-55951
Change 3938376 by Max.Preussner
XGEController: Disabled XGE Controller in single-threaded apps to prevent crash
Change 3938444 by Max.Preussner
Core: Added async support for single-threaded applications
Change 3938445 by Max.Preussner
Networking: Added support for single-threaded applications in UDP socket sender/receiver
Change 3938447 by Max.Preussner
Messaging: Added support for single-threaded applications
Change 3939432 by Max.Chen
Sequence Recorder: Append command list to global level editor actions so that shortcuts are accessible in level editor.
#jira UE-55798
Change 3940229 by Andrew.Rodham
Added prospective display rate upgrade to UMovieScene::PostLoad
- There was previously some very odd behaviour that would assign the fixed frame interval only when a sub sequence was focused
in SSequencer. This meant that many sequences could have a frame interval of 0 set in the data.
- Under the old method of snap interval display this would have fallen back to getting the display interval from the sequencer
settings, but we no longer look at these.
- The USequencerSettings properties have been removed and in their place, a prospective data upgrade for sequences that have a
fixed frame interval old 0fps that sets the play rate to the previous defaults based off the old USequencerSettings defaults.
- This could end up 'changing' the display rate for sequences where the user has changed the snap interval in the settings for
a particular sequence editor, but there's not much we can do about that given we don't have access to the USequencerSettings classes in
UMovieScene
#jira UE-55919
Change 3940277 by Andrew.Rodham
Sequencer: Added ability to default frame resolutions and play rates for newly created actor sequences
Change 3940378 by Andrew.Rodham
Sequencer: Post move import dialog now defaults to the playback framerate of the sequence, and floors to frame numbers
Change 3940559 by Andrew.Rodham
Reinstated primed or recording sequence color
Change 3940642 by Max.Preussner
ImagePlate: Removed image plate media playback functionality
Change 3940843 by Max.Preussner
Core: Made TCircularQueue actually thread-safe; improved code comments
Change 3940860 by Max.Chen
Sequencer: Changed StructNameToKey to StructPathToKey
Previously, keying a PropertyPath of [RenderTransform][Shear][X] would get trimmed to X, which doesn't map to a channel name as
considered by Sequencer2dTransformTrackEditor. Instead, trim the resulting property path to [Shear][X] so that track editors can
determine the desired struct path and channels to key.
#jira UE-52966
Change 3941292 by Mike.Zyracki
Fix for trajectories out of range not showing up.
1) If we had no key data we would pop the time, so wouldn't get the section ranges.
2) Calculating of upper bound was wrong, checking against -1 and not key == num of keys when doing algo::lower_bound.
3) No need to do the Bck-- for the bakward iterators since we fixed#2. We start now from the upper bound correctly.
4) If we had no keys (at section start,end) we would incorrectly say we were any key type, so since we draw constant keys as
dashed we would do so incorrectly around section end points.
#jira UE-55929
Change 3941424 by Max.Chen
Curve Editor: Change Zoom to Fit to use TArrayView
Change 3941498 by Max.Preussner
Core: Added FMath::DivideAndRoundNearest function
Change 3942097 by Matt.Hoffman
Drop Frame Timecode Support for NTSC rates.
Change 3942104 by Matt.Hoffman
Sequence Recorder Group is no longer visible inside the World Outliner after using one.
#jira 55266
Change 3942107 by Max.Chen
Sequencer: Resurrect logic to find or extend an existing section when adding keys.
Change 3942330 by Max.Chen
Sequence Recorder: Better tooltip for default animation settings.
#jira UE-55636
Change 3942339 by Max.Chen
Sequence Recorder: Better tooltip for default animation settings.
#jira UE-55636
Change 3942507 by Andrew.Rodham
Sequencer: We no longer pad the time overlap threshold with a small number that is not scaled by the current zoom level
- The presence of this pad was causing keys that were far apart to be grouped when zoomed in a long way
Change 3942509 by Andrew.Rodham
Sequencer: Only pad total view range, rather than section range as well when retrieving keys to render
- This stops us from rendering keys that are within the view range, but outside the section range
Change 3942512 by Andrew.Rodham
Added transactions to some sequencer details customizations
Change 3942513 by Andrew.Rodham
Sequencer: Reinstated validation checks to UMovieSceneSection::SetStartFrame and SetEndFrame, changed erroneous uses to use
SetRange
Change 3942560 by Andrew.Rodham
Pass by rvalue reference to appease error C2719 on Win32
('InChannels': formal parameter with requested alignment of 8 won't be aligned)
Change 3942697 by Andrew.Rodham
Newly Created Level Sequences and Actor Sequences now default to 24000 fps frame resolution (+/- ~24hrs range, supporting all
integer rates + 23.976)
Change 3942700 by Andrew.Rodham
Sequencer: Added legacy out-of-bounds errors for times that are not supported by the current legacy upgrade frame resolution
Change 3942989 by Max.Preussner
Core: Fixed circular queue count calculation
Change 3943538 by Max.Preussner
MediaAssets: Reverted workaround for procedural audio log spam in HTML5
(Actor component initialization cannot be skipped if the component is used in a level)
Change 3944071 by Max.Preussner
QAGame: Fixed Media Texture keeps last frame of Media when PIE ends
#jira UE-53360
Change 3944292 by Max.Chen
Sequencer: Added extra flags to ensure that asset initialization does not occur on template actor sequences
#jira UE-56113
Change 3944364 by Max.Chen
Sequencer: Prevent circular shot/master tracks.
Tested adding master -> child -> master as drag and drop cinematic shot tracks and sub tracks as well as through the + button.
#jira UE-56091
Change 3944422 by Max.Chen
Sequence Recorder: Disable transform recording if off.
#jira UE-56061
Change 3944745 by Andrew.Rodham
Sequencer: Key rendering fixes
- Fixed assert that occured when keys happened to reside on some times due to KeyTime + TimeOverlapThreshold - KeyTime being
slightly larger TimeOverlapThreshold
- Fixed keys sometimes being clipped when zoomed right in due to lack of half-frame offset
- Added missing documentation to MovieSceneTimeHelpers.h
#jira UE-56107
Change 3945231 by Andrew.Rodham
Sequencer: Reconstruct channel proxy on Serialize to catch all cases of undo/redo, PostLoad and duplication
#jira UE-56089
Change 3945301 by Andrew.Rodham
Sequencer: Added safety checks during initial sequence recording to guard against applying negative or 0-sized sequence ranges
#jira UE-56125
Change 3946627 by Max.Preussner
Fortnite: Fixed game crashes closing editor while in PIE - Pure virtual function being called
#jira UE-56144
[CL 3946896 by Max Chen in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
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 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
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 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh 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 3421703 on 2017/05/03 by Ben.Marsh
Surround invalid character message in quotes, so it's clear when a space is listed.
#jira UE-44606
Change 3422644 on 2017/05/04 by Steve.Robb
Ranged-for support for TChunkedArray.
Change 3422754 on 2017/05/04 by Steve.Robb
IAsyncReadFileHandle made non-copyable to prevent accidental wrong stat calculation.
Change 3422758 on 2017/05/04 by Steve.Robb
Misc readability/standards improvements in stats code.
Change 3427955 on 2017/05/08 by Steve.Robb
Version fix for IOS optimization pragmas, copied from equivalent Mac code.
Change 3428017 on 2017/05/08 by Steve.Robb
Unused property types removed.
Change 3428641 on 2017/05/08 by Ben.Marsh
UAT: Remove failed attempt to separate out BuildCookRun into separate commands, which have since rotted.
Change 3430407 on 2017/05/09 by Ben.Marsh
UBT: Define UE_4_X_OR_LATER macros for every UE4 version greater than 4.17 (eg. UE_4_17_OR_LATER, etc...).
Change 3430682 on 2017/05/09 by Gil.Gribb
UE4 - Added a fatal error for asking for very large alignments from MallocBinned2 and also return the true size of the memory block in GetAllocationSize().
Change 3430685 on 2017/05/09 by Gil.Gribb
UE4 - Fixed a bug with the windows async IO stuff related to an unsafe pointer cast to LPDWORD from int64*.
Change 3430756 on 2017/05/09 by Ben.Marsh
UBT: Switch some receipt stuff to use FileReference/DirectoryReference objects rather than raw paths.
Change 3431157 on 2017/05/09 by Ben.Marsh
UBT: Store absolute paths when receipts are in memory; only insert pseudo-variables for $(EngineDir) and $(ProjectDir) when saved to disk.
Change 3432334 on 2017/05/10 by Graeme.Thornton
Include project name in the UBT error message which appears when a plugin is missing
Change 3432481 on 2017/05/10 by Gil.Gribb
UE4 - Fixed code to detect cycles in parallel tick sorting.
Change 3432485 on 2017/05/10 by Steve.Robb
Simplified templating around bitfield offset calculation.
Change 3432608 on 2017/05/10 by Steve.Robb
'bool == byte' static_assert restored after being removed in CL# 3432485.
Change 3432767 on 2017/05/10 by Ben.Marsh
UBT: Fix exception when a missing plugin is encountered if the target does not have a project.
Change 3433031 on 2017/05/10 by Ben.Marsh
UAT: Add classes to allow safer manipulation of paths within the staging directory (StagedFileReference, StagedDirectoryReference), and convert staging code over to using those and their regular filesystem counterparts (FileReference/DirectoryReference). Lots of cleanup and refactoring of staging code.
Change 3433049 on 2017/05/10 by Ben.Marsh
Add more diagnostic information to asserts in TStaticIndirectArrayThreadSafeRead, to try and shed light on what sort of corrupted data is being passed in from the cooker.
#jira UE-44336
Change 3433097 on 2017/05/10 by Steve.Robb
Value initialization fix for MakeUnique<T[]>().
Change 3433972 on 2017/05/10 by Daniel.Lamb
Stop unrealpak from crashing if generating a patch with more pak files then the original game.
Change 3434124 on 2017/05/10 by Ben.Marsh
UAT: Remove hacky bUseWebSocketNetDriver option.
Change 3434824 on 2017/05/11 by Gil.Gribb
UE4 - Printed an error instead of asserting when there are missing native classes.
Change 3434916 on 2017/05/11 by Ben.Marsh
UAT: Separate the list of files to be staged into a separate class.
Change 3435427 on 2017/05/11 by Gil.Gribb
UE4 - Fixed attempts to load compiled in packages, which produces warnings and is slow.
Change 3436240 on 2017/05/11 by Ben.Marsh
UAT: Add a command to search for restricted folders under a given base directory.
Change 3438068 on 2017/05/12 by James.Fox
Checking in Phase 1 of the Dev-Core test map for repro purposes. UE-44996 #rb none
Change 3438855 on 2017/05/15 by Robert.Manuszewski
When verbose cluster logging is enabled and new object is added to an already existing cluster, the cluster will be dumped to log.
Change 3438929 on 2017/05/15 by Robert.Manuszewski
Merging CL # 3436939 using Dev-Core_To_Dev-LoadTimes:
Fix for potential crashes caused by levels staying in memory through material references.
Change 3439021 on 2017/05/15 by Ben.Marsh
PR #3566: fix non-ascii characters in help command HTML converted to "?" (Contributed by kayama-shift)
Change 3439079 on 2017/05/15 by Ben.Marsh
PR #2832: Implement missing MessageBox (Contributed by projectgheist)
Change 3439258 on 2017/05/15 by Ben.Marsh
Highlight lines containing the strings "Error:" or "Warning:" in the output log, so that diagnostics from child processes are highlighted appropriately. The build system already relies similar logic for scraping diagnostics from logs, so it should be safe and predictable to check for messages in this way.
#jira UE-43673
Change 3439358 on 2017/05/15 by Ben.Marsh
UBT: Fix Visual Studio solution referencing the incorrect platform for existing C# project ("Any CPU" instead of "AnyCPU"). Was causing prompt to save the solution the first time it is opened.
Change 3439665 on 2017/05/15 by Ben.Marsh
UAT: Remove DeployPakInternalLowerCaseFilenames(). No platforms require this to be true.
Change 3440735 on 2017/05/16 by Robert.Manuszewski
UBT compile fix after the last merge
Change 3440889 on 2017/05/16 by Ben.Marsh
EC: Fix regex for matching path to source files included in error messages from the Linux toolchain.
Change 3442776 on 2017/05/17 by Steve.Robb
Platform fix for FPaths::IsSamePath.
Change 3445411 on 2017/05/17 by Ben.Marsh
UBT: Fix typo in makefile diagnostic string.
Change 3446070 on 2017/05/18 by Steve.Robb
Fix to array sizes in generated UFunction code, which should now handle editor-only functions.
Change 3446091 on 2017/05/18 by Steve.Robb
Another array size fix for generated code.
Change 3446605 on 2017/05/18 by Steve.Robb
BuildConfiguration option for static analysis.
Change 3448601 on 2017/05/19 by Richard.Fawcett
Change FWindowsPlatformProcess::ApplicationSettingsDir() so that it no longer returns a path with a mixture of "\" and "/" characters, and only contains "/" characters.
This makes it consistent with other related functions like FWindowsPlatformProcess::UserSettingsDir().
Change 3449026 on 2017/05/19 by Ben.Marsh
Fix whitespace in template file.
Change 3449697 on 2017/05/19 by James.Fox
Checking in Phase 2 of Dev-Core test map for QAGame
Also enabled Blueprint and Actor clustering by default in QAGame for more thorough GC testing.
Change 3451352 on 2017/05/22 by Steve.Robb
UFunction flags are now viewable in the debugger.
Change 3451355 on 2017/05/22 by Steve.Robb
ARRAY_COUNT fix for zero-sized arrays in Clang.
Change 3451379 on 2017/05/22 by Steve.Robb
C++14 operator delete overloads with size, for consistency.
Change 3451398 on 2017/05/22 by Graeme.Thornton
Add AES and RSA encryption keys to the list of config fields that get stripped from ini files when staging
When creating a pak file, do a filtered copy of all ini files to a temp directory so that all confidential fields can be stripped. Equivalent behaviour to staging a loose file distribution
Change 3451476 on 2017/05/22 by Ben.Marsh
Compile shipping builds for WEX and Ocean, and post telemetry for the resulting executable size.
Change 3451478 on 2017/05/22 by Graeme.Thornton
PR #3197: Improved log message formatting (Contributed by projectgheist)
Change 3451868 on 2017/05/22 by Steve.Robb
Static log category moved out of header.
ENUM_CLASS_FLAGS macro used instead of explicit operators.
Change 3452319 on 2017/05/22 by Ben.Marsh
UBT: Add a new "package" build product type, which can be used for APK files on Android and Stub files on iOS. Treating these files as executables is causing the measured executable size to be incorrect.
Change 3452607 on 2017/05/22 by Ben.Marsh
UBT: Filter out folders for other platforms when searching for headers to pass to UHT.
Change 3453600 on 2017/05/23 by Graeme.Thornton
PR #3226 - Updated some code comments to better describe the usage of the log category definition macros
Change 3453616 on 2017/05/23 by Steve.Robb
Error reported instead of a crash when there's a space between UCLASS or UINTERFACE and the open parenthesis.
Change 3453714 on 2017/05/23 by Ben.Marsh
Build: Add some Visual Studio 2017 test compiles to the build system.
Change 3453795 on 2017/05/23 by Ben.Marsh
UBT: Fix parsing of command line attributes that have a specific value assigned. We should never have an '=' suffix for such arguments.
Change 3454606 on 2017/05/23 by Ben.Marsh
UAT: Make sure log filenames are unique by creating a 0-byte file in its place.
Change 3454709 on 2017/05/23 by Ben.Marsh
UBT: Enable the /permissive- option for stricter standards compliance on Visual Studio 2017. Currently have /Zc:strictStrings disabled due to violations in Windows headers; all UE4 instances have been fixed up.
Change 3456445 on 2017/05/24 by Graeme.Thornton
MemoryProfiler2 - Add mprof filename into title bar after opening
Change 3457129 on 2017/05/24 by Ben.Marsh
Fix comment for FVector::Normalize().
#jira UE-45369
#rnx
Change 3457228 on 2017/05/24 by Ben.Marsh
Do not allow forward-declaring Rect structs. They are not public, and it conflicts with third party libraries.
#rnx
Change 3458357 on 2017/05/24 by Ben.Marsh
Fix name resolution issue with /permissive- in VS2017.
Change 3458812 on 2017/05/25 by Robert.Manuszewski
PR #2407: Fix LoadLibrary error with Microsoft Group Policy CWDIllegalinDllSearch mode 1 or 2 (Contributed by bozaro)
Change 3458894 on 2017/05/25 by Robert.Manuszewski
PR #2096: Fix argument parsing in DiffAssets Comandlet (Contributed by cgrebeld)
Change 3461205 on 2017/05/26 by Robert.Manuszewski
Fixed parameter parsing so that arguments are not parsed if not preceeded by a whitespace (for example "-Log" was parsed in "TM-Log")
#jira UE-33790
Change 3464714 on 2017/05/30 by Robert.Manuszewski
Fixing potential deadlock caused by a race condition when using FMallocVerifyProxy with FMallocBinned
Change 3465310 on 2017/05/30 by Ben.Marsh
UBT: Enable bAdaptiveUnityDisablesOptimizations by default.
Change 3465346 on 2017/05/30 by Ben.Marsh
UBT: Require Update 3 to be installed when compiling using VS2015.
Change 3465389 on 2017/05/30 by Ben.Marsh
UBT: Fix support for RTTI when creating PCHs and shared PCHs.
Change 3466084 on 2017/05/30 by Ben.Marsh
Fix compiling plain C files, where it would incorrectly use a C++ PCH.
Change 3467018 on 2017/05/31 by Robert.Manuszewski
Async loading code will now properly handle cases when the requested package could not be created.
Change 3467113 on 2017/05/31 by Ben.Marsh
UGS: When opening a solution in Visual Studio, always start the process in the solution's directory.
Change 3467508 on 2017/05/31 by Ben.Marsh
Add a function to fix a long package name so it matches the case of a file on disk. Fixes deterministic cooking issues when on-disk case changes.
Change 3467510 on 2017/05/31 by Ben.Marsh
Fix deterministic cooking issue caused by LODGroup only being initialized in the CDO if it's serialized, causing inconsistent delta serialization for instances.
Change 3467967 on 2017/05/31 by Ben.Marsh
Always allow UAT to compile on non-Windows platforms, even if a debugger is present, since MSVC is the only one that will load C# PDBs.
Change 3468544 on 2017/05/31 by Ben.Marsh
UBT: Add a more helpful message when a module is being compiled with implicit PCHs, but a source file is not configured correctly.
Change 3469241 on 2017/06/01 by Ben.Marsh
UBT: Fix single-file compile causing a different UHT manifest to be generated, potentially excluding hidden dependencies.
Change 3471709 on 2017/06/02 by Daniel.Lamb
Rebuild lighting commandlet now rebuilds reflections also instead of trashing them.
#test None
Change 3471719 on 2017/06/02 by Daniel.Lamb
Fixed crash in cooker while trying to cook for multiple platforms
#test Launch on shootergame windows + ps4
#jira UE-45356
Change 3472261 on 2017/06/02 by Ben.Marsh
CRP: Clear out MDD logs whenever we clear out CRP logs.
Change 3473169 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist)
Change 3473176 on 2017/06/05 by Graeme.Thornton
PR #3622: Log category code cleanup (Contributed by projectgheist) (Part II)
- Missed some files from my previous checkin
Change 3473597 on 2017/06/05 by Ben.Marsh
UnrealVS: Fix massive slowdown on startup caused by searching the directory tree under the solution for *.uproject files (including intermediate folders, etc...). Now reads *.uprojectdirs files and only checks the listed directories within. Measured it taking > 30s to run before, now takes < 0.1s.
Change 3473722 on 2017/06/05 by Steve.Robb
GitHub #3444: UE-42521: Added missing macro's for TMap and TSet
PREPROCESSOR_COMMA_SEPARATED added as a better solution for the hacky comma separator solution in the PR.
Change 3475073 on 2017/06/06 by Steve.Robb
Fix for TPromise's move assignment operator return value.
Change 3475331 on 2017/06/06 by Ben.Marsh
UAT: Fix invalid paths being generated when stripping encryption settings from config files.
* In cases where INI files were in a subfolder of the Config folder (eg. Config\Localization), it was not stripping the separating slash, resulting in files being written to the root directory of the current drive.
* Paths under the config folder are not guaranteed to be unique.
Change 3475453 on 2017/06/06 by Ben.Marsh
UBT: Add an error if a plugin lists a non-plugin module as belonging to it.
#jira UE-45178
Change 3475668 on 2017/06/06 by Ben.Marsh
Add a message showing when we begin creating the asset registry, since it can take a long time.
#jira UE-41675
Change 3475747 on 2017/06/06 by Steve.Robb
Replicated from CL# 3332960:
Force a gather on hot reload, so we don't use stale state from the makefile.
#jira UE-42205
Change 3475897 on 2017/06/06 by Ben.Marsh
PR #3655: Improved behavior for Automation.IsBuildMachine (Contributed by projectgheist)
Change 3477432 on 2017/06/07 by Robert.Manuszewski
Removed AsyncIOBandwidthLimit as it was no longer being used by anything.
Change 3478582 on 2017/06/07 by Ben.Marsh
UBT: Allow setting the UE_ENGINE_DIRECTORY macro for any monolithic builds, to fix being able to debug cooked foreign projects in the binary release.
Change 3480035 on 2017/06/08 by Gil.Gribb
UE4 - Fixed async loading from pak files < 64k.
Change 3484348 on 2017/06/12 by Robert.Manuszewski
Removed private_subobject macro which was a temporary measure to make all subobjects private without breaking game code.
Change 3484863 on 2017/06/12 by Steve.Robb
Fix for TSparseArray::operator= corrupting non-POD objects.
InCopy.ArrayMax cached in a local instead of being read each time.
Const-correctness fix for element copy construction.
SrcData and DestData names flipped as they were the wrong way around.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485003 on 2017/06/12 by Ben.Marsh
UGS: Add support for multiple tabs. Each tab can monitor changes in a separate workspace, and scheduled syncs will run for all open tabs.
Change 3485063 on 2017/06/12 by Ben.Marsh
UGS: Fix a null reference exception when right clicking on the notification icon during startup.
Change 3485104 on 2017/06/12 by Ben.Marsh
PR #2084: [UAT] Command-line parameter to override branch name (Contributed by nbjk667)
Change 3485112 on 2017/06/12 by Steve.Robb
TSetElement generic constructor protected from becoming a copy constructor.
Redundant #include removed from AreTypesEqual.h.
Source: https://udn.unrealengine.com/questions/374840/possible-bug-in-tsparsearray-assignment-operator.html
Change 3485452 on 2017/06/12 by Ben.Marsh
UnrealVS: Fix command line not being updated for C# projects. IVsBuildPropertyStorage.SetPropertyValue does not seem to update properties that are cached in memory.
#jira UE-45716
Change 3486182 on 2017/06/12 by Ben.Marsh
UGS: Include option to selet tab names in the options menu.
Change 3486189 on 2017/06/12 by Ben.Marsh
UGS: Fix browse button from context menu always opening a new tab.
Change 3486636 on 2017/06/13 by Steve.Robb
FStatMessagesArray iteration changed to use ranged-for instead of indexing.
Change 3486688 on 2017/06/13 by Steve.Robb
Fix for CDO pointer replacement in non-UObject properties during hot reload.
#jira UE-38146
Change 3486704 on 2017/06/13 by Ben.Marsh
UGS: Fix exception when closing the last open tab.
Change 3486707 on 2017/06/13 by Ben.Marsh
UGS: Fix exception on load if UGS was closed with no projects open.
Change 3486715 on 2017/06/13 by Ben.Marsh
UGS: Change tabs to show the project file by default.
Change 3486718 on 2017/06/13 by Ben.Marsh
UGS: Only allow one workspace to sync at a time.
Change 3486880 on 2017/06/13 by Ben.Marsh
UGS: Show the sync progress of each tab via the underline on the tab button.
Change 3486912 on 2017/06/13 by Ben.Marsh
UGS: Include the open project and recent project list as separate top-level menu items.
Change 3486914 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.101.
Change 3487092 on 2017/06/13 by Ben.Marsh
UGS: Fix crash on startup if log window is minimized.
Change 3487099 on 2017/06/13 by Ben.Marsh
UGS: Update version to 1.102
Change 3487198 on 2017/06/13 by Ben.Marsh
Remove debug code.
Change 3487285 on 2017/06/13 by Ben.Marsh
Restore Remap() function that was accidentally removed in merge.
Change 3487769 on 2017/06/13 by Ben.Marsh
Disable the promoted flag when using the SyncProject command on Mac; doing so prevents UE4Game being compiled when packaging blueprint projects.
#jira UE-45995
Change 3487915 on 2017/06/13 by Ben.Marsh
UAT: Fix exception due to collection being modified while packaging for Linux.
#jira UE-46013
Change 3487972 on 2017/06/13 by Ben.Marsh
UAT: Always allow staged files to overwrite previously staged files. New iOS code relies on old behavior to overwrite engine icons and metadata with game copies.
#jira UE-46014
Change 3487991 on 2017/06/13 by Ben.Marsh
UAT: Ensure that the directory exists before trying to create a placeholder log filename.
#jira UE-46015
Change 3489062 on 2017/06/14 by Robert.Manuszewski
Removed FPackageFileSummary's AdditionalPackagesToCook as it was not used by anything. This should reduce the package header size considerably for levels with many streaming sublevels.
#jira UE-45563
Change 3489063 on 2017/06/14 by Robert.Manuszewski
Increasing the maximum package summary size to handle levels with multiple streaming sublevels.
#jira UE-45563
Change 3491552 on 2017/06/15 by Ben.Marsh
Handle failures to load *MeshReduction modules.
[CL 3492074 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3386262 on 2017/04/10 by Ben.Marsh
Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.
Change 3386999 on 2017/04/10 by Ben.Marsh
Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.
Change 3387073 on 2017/04/10 by Ben.Marsh
Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.
Change 3387988 on 2017/04/11 by Steve.Robb
Comments added to clarify the role of DestructItem and DestructItems.
Change 3388085 on 2017/04/11 by Ben.Marsh
UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.
Change 3390048 on 2017/04/12 by Richard.Hinckley
#jira UE-43876
Fixed description of Streaming settings (within Project Settings).
Change 3390697 on 2017/04/12 by Steve.Robb
CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.
Change 3390711 on 2017/04/12 by Steve.Robb
AGRESSIVE_ARRAY_FORCEINLINE removed.
Change 3392167 on 2017/04/13 by Robert.Manuszewski
UObject can be added to GC cluster only if all of its Outers can also be added to it.
Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.
#jira UE-42948
Change 3392309 on 2017/04/13 by Robert.Manuszewski
When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.
Change 3392620 on 2017/04/13 by Ben.Marsh
UGS: Only check for updates every 5 minutes.
Change 3392623 on 2017/04/13 by Ben.Marsh
UGS: Only poll for new changes every 60 seconds.
Change 3392744 on 2017/04/13 by Ben.Marsh
UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.
Change 3392874 on 2017/04/13 by Ben.Marsh
UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...
Change 3392878 on 2017/04/13 by Ben.Marsh
Update UGS to version 1.96
Change 3395635 on 2017/04/17 by Ben.Marsh
UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.
Change 3395655 on 2017/04/17 by Ben.Marsh
UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.
Change 3396989 on 2017/04/17 by Wes.Hunt
CrashReporter configurable tweaks.
* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
- When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
- Zero means never alert.
* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
- Interval by which to report disk space availability.
- Default is never (Zero)
* Updated config file to match production config.
#codereview:jin.zhang
Change 3397656 on 2017/04/18 by Ben.Marsh
UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.
Change 3397677 on 2017/04/18 by Robert.Manuszewski
PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)
Change 3397722 on 2017/04/18 by Robert.Manuszewski
PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)
Change 3397739 on 2017/04/18 by Richard.Hinckley
#jira UE-44100
Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.
Change 3398023 on 2017/04/18 by Ben.Marsh
PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)
Change 3398095 on 2017/04/18 by Ben.Marsh
PR #3051: Generate map file from UAT (Contributed by projectgheist)
Change 3398212 on 2017/04/18 by Ben.Marsh
PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)
Change 3399304 on 2017/04/19 by Ben.Marsh
UGS: Prevent editor target files being removed when running custom tools.
Change 3399306 on 2017/04/19 by Robert.Manuszewski
Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe
Change 3399729 on 2017/04/19 by Steve.Robb
Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
Checks for a positive count added to RemoveAt() and RemoveAtSwap().
Change 3399750 on 2017/04/19 by Jin.Zhang
Order branch alphabetically #RB
Change 3400186 on 2017/04/19 by Steve.Robb
Per-header generated code.
Change 3401458 on 2017/04/20 by Steve.Robb
Static log categories moved out of headers to prevent duplicates when the header is included multiple times.
#jira UE-37507
Change 3401657 on 2017/04/20 by Gil.Gribb
UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.
Change 3401735 on 2017/04/20 by Gil.Gribb
UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.
Change 3403362 on 2017/04/21 by Steve.Robb
Algo::Sort() fixed to support C arrays.
Size+count versions of Also::IsSorted() deprecated.
Algo::IsSortedBy() added.
Algo::FindBy() added to allow an element to be found by projection.
Simplifications and generalizations.
Change 3404017 on 2017/04/21 by Ben.Marsh
Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.
Change 3405299 on 2017/04/24 by Steve.Robb
Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.
#jira UE-35106
Change 3405302 on 2017/04/24 by Ben.Marsh
UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.
Change 3405629 on 2017/04/24 by Ben.Marsh
Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.
Change 3406431 on 2017/04/24 by Ben.Marsh
UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.
Change 3406670 on 2017/04/24 by Ben.Marsh
UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).
Change 3407080 on 2017/04/25 by Gil.Gribb
UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.
Change 3407486 on 2017/04/25 by Gil.Gribb
UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.
Change 3407495 on 2017/04/25 by Gil.Gribb
UE4 - Tweaked out XBox and Windows low level file IO.
Change 3407497 on 2017/04/25 by Gil.Gribb
UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.
Change 3407705 on 2017/04/25 by Ben.Marsh
Removing most of the junk in DotNETUtilities.
Change 3409701 on 2017/04/26 by Ben.Marsh
Disable another static analyzer warning for third party libraries.
Change 3410074 on 2017/04/26 by Daniel.Lamb
Network platform file runs heart beats and responds to modified file changes.
Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
Fixed issue with network platform file not using correct sandbox.
#test cook on the side shootergame
Change 3411131 on 2017/04/27 by Steve.Robb
TIsTriviallyDestructible now supports forward-declared enums.
Change 3411186 on 2017/04/27 by Steve.Robb
Fix for #includes in generated code for Within classes which are in a different module from the generated class.
Change 3411917 on 2017/04/27 by Steve.Robb
Fixes to pushing/popping the CPP macro.
Change 3411966 on 2017/04/27 by Steve.Robb
Include spam reduced in generated code.
Change 3412155 on 2017/04/27 by Ben.Marsh
Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.
Change 3412223 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.
Change 3412273 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Duplicated variable name.
Change 3412511 on 2017/04/27 by Ben.Marsh
PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)
Change 3412582 on 2017/04/27 by Ben.Marsh
Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code
Change 3413136 on 2017/04/28 by Robert.Manuszewski
Helper functions for dissolving specific GC clusters
Change 3413310 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.
Change 3413341 on 2017/04/28 by Gil.Gribb
UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.
Change 3413351 on 2017/04/28 by Ben.Marsh
Include code analysis macros directly from Platform.h, so that macros are available to everything.
Change 3413352 on 2017/04/28 by Ben.Marsh
Fixing a few more PVS studio warnings.
Change 3413437 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Comparison is always true.
Change 3413759 on 2017/04/28 by Ben.Marsh
Suppressing warnings for PVS-Studio.
Change 3413784 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning.
Change 3413898 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning: Same conditional is checked twice.
Change 3413915 on 2017/04/28 by Ben.Marsh
Fix PVS-Studio warning: LHS of expression is identical to RHS.
Change 3413989 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.
Change 3414053 on 2017/04/28 by Ben.Marsh
More PVS-Studio fixes.
Change 3414062 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.
Change 3414070 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Fix incorrect condition.
Change 3414071 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Array index is always zero.
Change 3414116 on 2017/04/28 by Ben.Marsh
BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.
Change 3414160 on 2017/04/28 by Ben.Marsh
Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.
Change 3414237 on 2017/04/28 by Ben.Marsh
EC: Allow disabling and enabling the log preprocessor via special markers in the log.
To disable: <-- Suspend Log Parsing -->
To enable: <-- Resume Log Parsing -->
Change 3414343 on 2017/04/28 by Ben.Marsh
UBT: Exclude ThirdParty folders from PVS output.
Change 3414392 on 2017/04/28 by Ben.Marsh
Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.
Change 3414459 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Object goes out of scope without being freed.
Change 3414495 on 2017/04/28 by Ben.Marsh
Suppress some more PVS-Studio warnings.
Change 3414514 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.
Change 3414526 on 2017/04/28 by Ben.Marsh
Fix for PVS-Studio warning: Variable assigned to itself has no effect.
Change 3415183 on 2017/04/29 by Ben.Marsh
Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.
Change 3415765 on 2017/05/01 by Ben.Marsh
Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.
Change 3415853 on 2017/05/01 by Ben.Marsh
EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.
Change 3416138 on 2017/05/01 by Ben.Marsh
Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.
Change 3416309 on 2017/05/01 by Ben.Marsh
Build: Fix node names for static analysis.
Change 3416360 on 2017/05/01 by Ben.Marsh
UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.
Change 3416398 on 2017/05/01 by Daniel.Lamb
Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.
#test Cook on the side shootergame.
Change 3416826 on 2017/05/01 by Daniel.Lamb
Added callback to game when files are requested reload from networkfileserver.
Game will need to unload / reload effected objects.
Working on simple reload capability in shootergame.
#test Cook on the side shootergame with reloading
Change 3417983 on 2017/05/02 by Ben.Marsh
EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.
Change 3418747 on 2017/05/02 by Steve.Robb
Fix for const pointer properties.
Fix for UHT debugging manifest.
Test added for pointer properties.
Change 3420477 on 2017/05/03 by Gil.Gribb
UE4 - Removed check from windows async IO layer.
[CL 3421020 by Ben Marsh in Main branch]
#rb none
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3203880 on 2016/11/18 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3207429 on 2016/11/22 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3207285
Change 3252627 on 2017/01/10 by Lukasz.Furman
removed duplicated entries from visual logger shape rendering
#ue4
Change 3252675 on 2017/01/10 by Ori.Cohen
Add support for tagged memory regions (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3252686 on 2017/01/10 by Ori.Cohen
Refactor BodySetup to make it easier to reuse shape creation (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3252833 on 2017/01/10 by Ori.Cohen
Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3252887 on 2017/01/10 by Dan.Reynolds
Increased modes to include:
Harmonic minor
Melodic minor (going up)
Pentatonic (Major)
Pentatonic (minor)
Whole Tone
Diminished (WH)
and Blues
Change 3252895 on 2017/01/10 by Aaron.McLeran
update to music utilities.
Change 3253060 on 2017/01/10 by Aaron.McLeran
Updates to synthesis plugin and some new features to DSP objects
Change 3253061 on 2017/01/10 by Aaron.McLeran
Updates to music maps
Change 3253078 on 2017/01/10 by Aaron.McLeran
Removing pragma optimization code accidentally checked in
Change 3253110 on 2017/01/10 by Ori.Cohen
First iteration of immediate mode ragdoll node (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3253315 on 2017/01/10 by Aaron.McLeran
Fixing a few bugs in DSP objects
- Added a new types file EpicSynth1 and EpicSynth1 component can share enums
Change 3253577 on 2017/01/11 by Aaron.McLeran
Checking in updates to assets for music -- celestial manager for rotating objects like planets, new ambient map
Change 3254052 on 2017/01/11 by Ori.Cohen
Fix build.
Change 3254059 on 2017/01/11 by Ori.Cohen
Turn off html5 trying to build apex.
Change 3254095 on 2017/01/11 by Ori.Cohen
Fix build
Change 3254200 on 2017/01/11 by Jon.Nabozny
Make vectorized FTransform Accumulate (with blend) and AccumulateWithAdditive (with blend) consistent with the non-vectorized version and comments.
#JIRA UE-40469
Change 3254334 on 2017/01/11 by Marc.Audy
Put in missing virtual
Change 3254397 on 2017/01/11 by dan.reynolds
Updates to OtonOkeMap
Change 3254410 on 2017/01/11 by Marc.Audy
Cleanup autos
Change 3254420 on 2017/01/11 by Marc.Audy
PR #3110: Add missing IsInAudioThread check (Contributed by projectgheist)
Modified somewhat, but based on what PR indicated as a problem.
#jira UE-40369
Change 3254423 on 2017/01/11 by Marc.Audy
Optimize GetDefaultSubobjectByName and GetDefaultSubobjects
Remove autos
Change 3254826 on 2017/01/11 by Aaron.McLeran
Bringing optimizations to dev-framework
Change 3254831 on 2017/01/11 by dan.reynolds
Modified MidiSynthTestBP to use Program Change events to pull a Preset from a Preset Bank--added a Data Blueprint Object ES1Bank_Default (containing Preset arrays) with children classes for different classifications of Presets.
Change 3254833 on 2017/01/11 by dan.reynolds
Updating MidiSynthTestBP's default SynthPreset pan value.
Change 3254851 on 2017/01/11 by dan.reynolds
Updating ES1Bank_Bass
Updating OtonOkeMap
Change 3254854 on 2017/01/11 by Aaron.McLeran
Some fixups for pan modulation
Change 3255682 on 2017/01/12 by aaron.mcleran
Turning the bass down a bit on OtonOkeMap
Change 3255721 on 2017/01/12 by Marc.Audy
Fix spelling error
Change 3255790 on 2017/01/12 by Marc.Audy
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3256263 on 2017/01/12 by Ori.Cohen
Refactor immediate mode api to take PxD6Joint and PxRigidActor instead.
Change 3256288 on 2017/01/12 by Ori.Cohen
Undo constraint refactor as we found a way around it and it made the code much harder to read/debug
Change 3256360 on 2017/01/12 by Ori.Cohen
Make sure physx actors passed into immediate mode are done so with proper locks (can probably improve this in the case where the actor is not even in the scene)
Change 3256846 on 2017/01/13 by Marc.Audy
Deprecate FBox/FBox2D int32 constructor because it makes no sense if you pass in a non 0 value. Use ForceInit instead.
Change 3256954 on 2017/01/13 by Marc.Audy
Fix missed fixup of deprecated constructor use
Change 3257167 on 2017/01/13 by Jon.Nabozny
Fix check in FBodyInstance::SetCollisionEnabled.
Create convenience methods for HasPhysics and HasQuery.
#jira UE-39633
Change 3257181 on 2017/01/13 by Zak.Parrish
Adding input map and some testing content to Xenakis
Change 3257183 on 2017/01/13 by Mieszko.Zielinski
Implemented an improved navigation projection BP function that retrieves both projected locaiton as well as a boolean indicating if the projection succeeded #UE4
Also, did similar changes to GetRandomReachablePointInRadius and GetRandomPointInNavigableRadius
#jira UE-40368
Change 3257211 on 2017/01/13 by Jon.Nabozny
Fix CIS issue caused by 3257167.
Change 3257220 on 2017/01/13 by Marc.Audy
Additional FBox constructor deprecation fixups
Change 3257236 on 2017/01/13 by zak.parrish
Fixed error on Xenakis input pawn
Change 3257242 on 2017/01/13 by zak.parrish
Update to InputListener
Change 3257273 on 2017/01/13 by Marc.Audy
No reason to pass simple types by reference
Change 3257418 on 2017/01/13 by Ori.Cohen
Attempt to turn android physx libs back to static libs.
Change 3257445 on 2017/01/13 by Ori.Cohen
Turn android libs back to OBJ and removed unreal side linking as it seems we are now just merging into a single physx lib
Change 3257903 on 2017/01/14 by Aaron.McLeran
Additions to synth module and updates to dsp objects
- Adding ability to create arbitrary modular patches from modulating sources to modulation destinations
- DSP objects define their default depths but patches can override
- Creating new SynthesisEditor module for synthesis plugin so we can create synthesis preset assets
- Adding a preset bank type so we can store a bank of presets (aka factory presets)
Change 3258179 on 2017/01/15 by Seth.Weedin
Duplicating input test map for some FX work
Change 3258181 on 2017/01/15 by Seth.Weedin
Modify skybox in test map to be dark and spooky
Change 3258183 on 2017/01/15 by aaron.johnson
substituted classes, changed wind speed and adjusted level lighting
Change 3258190 on 2017/01/15 by aaron.johnson
substituted triplet pawn and motion controller classes, enabled grabbing animations
Change 3258191 on 2017/01/15 by Aaron.McLeran
Getting source effects working for GDC demo
- Added new synthesis editor module to create instances of user-created source effects
- Added code to do source effects
- Modified old design to a newer, more simpler design for calling into client code to set parameters. No longer using the complex struct reflection design and instead just pass in the uobject preset the user created. They'll then cast it to the type that has the actual settings.
- Tweaks and fixes to existing dsp objects to get source effects working
- Modified existing engine code to allow for playing out source effect tails
- Only supporting mono and stereo assets for source effect processing. Multi-channel effect processing is overly complex for this feature though we may extend the capabilities in the future.
- Fixed issue of pitching with stereo delay effect on setting first interpolated param
- Moving synth/dsp stuff in synthesis plugins into appropriate public/private folders in plugin/module
- Deleting some cruft files no longer needed
Change 3258201 on 2017/01/15 by Seth.Weedin
C++ and BP classes for managing grid cells. Initial grid mapping tests. #rb none
Change 3258206 on 2017/01/15 by aaron.johnson
map push, triplets interface created, debug widget placed in level
Change 3258222 on 2017/01/15 by Aaron.McLeran
Fixing crash when there's a null entry in the source effect chain
Fixed some zippering introduced by applying volume twice.
Change 3258225 on 2017/01/15 by aaron.johnson
Interface changes, pawn output values wip
Change 3258228 on 2017/01/15 by aaron.johnson
Pawn should be outputting all correct values for Tripletsinterface
Change 3258242 on 2017/01/15 by Stanley.Hayes
Edge lights and Spherical Density Materials
Change 3258251 on 2017/01/16 by Seth.Weedin
More progress on grid FX. Add curve strength modifiers, begin hooking up interaction. #rb none
Change 3258284 on 2017/01/16 by Aaron.McLeran
Fixing CIS build error
Surprised that MSVC allows that...
Change 3258525 on 2017/01/16 by Mieszko.Zielinski
Made UGameplayTask::ResourceOverlapPolicy configurable via ini files #UE4
Change 3258537 on 2017/01/16 by Lukasz.Furman
fixed duplicated & undo operations not updating navigation area in nav link proxy and nav link component
#ue4
Change 3258595 on 2017/01/16 by Marc.Audy
Fix static analysis warning
Change 3259364 on 2017/01/16 by Mieszko.Zielinski
BTTask_RotateToFaceBBEntry comment spelling fix #UE4
#jira UE-40669
Change 3259683 on 2017/01/16 by dan.reynolds
Updated Preset Bank System implemented in MidiSynthTestBP and 4 Preset Banks have been started
Change 3260244 on 2017/01/17 by Lina.Halper
#anim
- optimize layer blend node to not create mask weights in run-time but in compile time.
#code review: Martin.Wilson
Change 3260617 on 2017/01/17 by Ori.Cohen
Immediate mode spawns its own actors.
Change 3260701 on 2017/01/17 by Ori.Cohen
Don't bother blending physics with animation when physics is QueryOnly
Change 3260796 on 2017/01/17 by Ori.Cohen
EndPhysics tick will no longer be scheduled if QueryOnly is used on a ragdoll.
Change 3261207 on 2017/01/17 by Ori.Cohen
First iteration of contact enabling/disabling for immediate mode.
Change 3262010 on 2017/01/18 by Marc.Audy
Remove some autos
Change 3262525 on 2017/01/18 by Lina.Halper
Fix crash with required bones index not using property indexing
#jira: UE-40786
Change 3263658 on 2017/01/19 by Martin.Wilson
Add AnimTechDemo to dev-framework (base third person + feng mao)
Change 3263684 on 2017/01/19 by Lina.Halper
#anim : layer node - fix allocation change I made by mistake
Change 3264523 on 2017/01/19 by Ori.Cohen
Immediate mode can now add static geometry it finds in the world. Also improve contact gen by caching iteration order
Change 3264701 on 2017/01/19 by Ori.Cohen
Make it so that immediate mode ragdolls collide with the ground in persona.This is a bit of an editor only hack which allows immediate mode to find non-static actors
Change 3264980 on 2017/01/19 by Ori.Cohen
Make sure physics asset collision disabled works in immediate mode.
Change 3265011 on 2017/01/19 by Ori.Cohen
Added the ability to override physics asset for immediate mode
Change 3265030 on 2017/01/19 by Ori.Cohen
Added override gravity for immediate mode.
Change 3265650 on 2017/01/20 by Benn.Gallagher
NvCloth Source
Change 3265652 on 2017/01/20 by Benn.Gallagher
NvCloth Lib
#rnx
Change 3265653 on 2017/01/20 by Benn.Gallagher
NvCloth Bin
#rnx
Change 3266195 on 2017/01/20 by Danny.Bouimad
Initial ClothTest Assets for NCloth Before and after comparison TM-MultiClothTest (Under Maps>Framework>Cloth)
Change 3266377 on 2017/01/20 by Marc.Audy
Ensure that OrphanedDataOnly and TrashClass blueprint generated classes are correctly considered a blueprint class for disregard for GC purposes.
Change 3267873 on 2017/01/23 by Jon.Nabozny
Fix SceneProxy shadowing in UGeometryCacheComponent.
Change 3268025 on 2017/01/23 by Benn.Gallagher
IWYU change, platform PCH generation seemed to hide this one.
Change 3268026 on 2017/01/23 by Benn.Gallagher
Fixed LOCTEXT_NAMESPACE being inconsistently scoped in an #if block
#rnx
Change 3268630 on 2017/01/23 by Zak.Parrish
Updating to add MIGS shooter content, as well as audio interaction Blueprints
Change 3268663 on 2017/01/23 by Ori.Cohen
Ragdoll animnode uses raw physics asset pointer to ensure it makes a hard reference.
Change 3268811 on 2017/01/23 by Ori.Cohen
Added component space sim for immediate mode
Change 3269369 on 2017/01/24 by Benn.Gallagher
Copying //Tasks/UE4/Dev-UEFW-11-NewClothingPipeline to Dev-Framework (//UE4/Dev-Framework)
Replaced clothing with new simulation framework
Change 3269417 on 2017/01/24 by danny.bouimad
Minor Update to cloth map for test
Change 3269420 on 2017/01/24 by Benn.Gallagher
Removed APEX simulation from clothing framework (used in testing, not fully complete)
Change 3269421 on 2017/01/24 by danny.bouimad
Small tweaks
Change 3269515 on 2017/01/24 by Lukasz.Furman
enabled gameplay debugger's OnSelectionChanged event support for both PIE and SIE modes
fixed GameplayAbility debugger's category not using IAbilitySystemInterface
#ue4
Change 3269595 on 2017/01/24 by mason.seay
Break apart physics asset for crash bug
Change 3269819 on 2017/01/24 by Ori.Cohen
Make the possibly kinematic actor the first actor in the immediate mode joint. This is consistent with physx vanilla solver.
Change 3270364 on 2017/01/24 by Josh.Stoddard
upgrade to the latest version of v-HACD:
https://github.com/kmammou/v-hacd/tree/master/src/VHACD_Lib
commit: 7a09f9d
NOTE: only updated windows binaries
mac and linux still using old binaries until they can be tested
#jira UE-40124 #rb josh.stoddard
Change 3271188 on 2017/01/25 by Jurre.deBaare
Post-import script support
#jira UEFW-80
Change 3271249 on 2017/01/25 by Thomas.Sarkanen
Move soundwave-internal curve tables to advanced display
Exposing it was confusing to audio people
Change 3271586 on 2017/01/25 by Marc.Audy
Don't rerun construction scripts twice on a level that has been hidden and reshown
#jira UE-40306
Change 3272048 on 2017/01/25 by Ori.Cohen
Fix for immediate mode sim when root body is the same as the root bone.
Change 3272083 on 2017/01/25 by Ori.Cohen
Make sure to warn when component space sim and collision are used together. Also handle it gracefully.
Change 3272300 on 2017/01/25 by Ori.Cohen
Fix incorrect collision generation when a shape's local pose is not identity.
Change 3273195 on 2017/01/26 by Jurre.deBaare
Fix for Anim import script crash in GetBonePosesForTime
Change 3273204 on 2017/01/26 by Ben.Marsh
Ignore PRAGMA_DISABLE_SHADOW_VARIABLE_WARNINGS and PRAGMA_ENABLE_SHADOW_VARIABLE_WARNINGS macros between include directives. Fixes CIS warning with IncludeTool.
Change 3273378 on 2017/01/26 by James.Golding
In AnimBP editor, call CopyNodeDataToPreviewNode when properties are edited, not just pin defaults changed
Change 3273381 on 2017/01/26 by James.Golding
Big refactor to PoseDriver
- RBF logic now moved into its own class/file
- Allow editing of transform and radial scaling per-target
- Add support for different falloff functions (not just Gaussian)
- Allow driving curves directly, rather than always poses
- Add details customization for pose driver node
- Edits to PoseDriver settings now take immediate effect, don't need to recompile
Change 3273826 on 2017/01/26 by Josh.Stoddard
modify VHACD to improve quality of hulls generated by convex decomposition
NOTE: mac libs not included - mac editor will use legacy libs for now
Change 3273902 on 2017/01/26 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3273433
Change 3274018 on 2017/01/26 by Ori.Cohen
Added immediate physics preview in phat.
Change 3274165 on 2017/01/26 by Ori.Cohen
PhAT now depends on immediate mode plugin. Fix build
#JIRA UE-41179
Change 3275001 on 2017/01/27 by Jurre.deBaare
Fix for crash in Persona with Anim Modifiers
Change 3275297 on 2017/01/27 by Ori.Cohen
Big refactor to iterate over shapes instead of bodies (allows multiple shape per body collision)
Change 3275340 on 2017/01/27 by Benn.Gallagher
Fixed Paragon clothing crashes during clothing upgrade step, fixed bone mapping not getting updated on reimport with different hierarchy
#jira UE-41025
#jira UE-41039
Change 3275383 on 2017/01/27 by Benn.Gallagher
Blacklisted double promotion warning on ps4 NvCloth build
#rnx
Change 3275426 on 2017/01/27 by Benn.Gallagher
Removed CUDA dependencies from NvCloth cmake files
Change 3275670 on 2017/01/27 by Ori.Cohen
Fix phat ragdoll in immediate mode updating sketal mesh component transform
Change 3275673 on 2017/01/27 by Ori.Cohen
Add position/velocity iteration to immediate mode
Change 3276001 on 2017/01/27 by Alan.Noon
Migrated Immediate Mode Minion Ragdoll Content to GDC AnimTech Project. Updated DefaultInput.ini
none
Change 3276596 on 2017/01/28 by Aaron.McLeran
Removing unused #ifdef
Change 3276597 on 2017/01/28 by Aaron.McLeran
Getting rid of static analysis warning
Change 3277354 on 2017/01/30 by Lukasz.Furman
fixed custom navlink Id collisions
#ue4
Change 3277356 on 2017/01/30 by Lukasz.Furman
fixed comments in GameplayDebugger.h
#jira UE-41103
Change 3277371 on 2017/01/30 by mason.seay
Test map for spawn sound/force feedback bug.
Change 3277445 on 2017/01/30 by Lukasz.Furman
fixed compilation warning
#ue4
Change 3277560 on 2017/01/30 by Danny.Bouimad
Made checkin to Fix Crash that occured due to bad content.
Change 3277567 on 2017/01/30 by Ori.Cohen
Fix immediate mode crashing when joint is empty.
#JIRA UE-41026
Change 3277928 on 2017/01/30 by Ori.Cohen
Turn on immediate mode plugin by default
Change 3278433 on 2017/01/30 by Ori.Cohen
Immediate mode supports heightfield collision.
Change 3278449 on 2017/01/30 by Ori.Cohen
Fix immediate mode cache not being initialized properly.
Change 3278787 on 2017/01/31 by James.Golding
Fix CIS error in ImmediatePhysicsSimulation.cpp
Change 3279303 on 2017/01/31 by mason.seay
Assets for RigidBody node bug
Change 3279352 on 2017/01/31 by Benn.Gallagher
Fixed inertia blends on self collision cloth assets as we now only have local space simulation and these values weren't used before
Change 3279377 on 2017/01/31 by Alan.Noon
GDC AnimTech Demo: adjusted minion physics assets
none
Change 3279425 on 2017/01/31 by james.cobbett
Updating QA-Physics map.
Made one of the simulated physics objects more user-friendly, able to enable/disable physics on key-press now.
Change 3279436 on 2017/01/31 by Benn.Gallagher
Fixed inertia scales on Owen mesh
Change 3279480 on 2017/01/31 by Benn.Gallagher
Fixes for clothing behavior changes
#jira UE-41092
Change 3279495 on 2017/01/31 by Ori.Cohen
Remove unneeded cache clearing when contact pairs are not skipped, but there is no collision.
Change 3279579 on 2017/01/31 by james.cobbett
Added new scenario to QA-Physics map.
Moving platforms (up/down, left/right) with physics objects on them.
Change 3279695 on 2017/01/31 by mason.seay
RigidBody node test asset
Change 3280105 on 2017/01/31 by Ori.Cohen
Prevent query only ragdolls from simulating if their bodysetup is marked as simulated. Also remove slow check in term body for owning components. This is not true for destructibles or immediate mode
Change 3280148 on 2017/01/31 by mason.seay
First round of assets for force feedback testing
Change 3280860 on 2017/02/01 by James.Golding
Merge CL 3280853 to Dev-Framework
Fix crash with null CurrentSkeleton on AnimInstance when using Re-import button in SkelMesh Editor
Change 3281172 on 2017/02/01 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3281156
Change 3281210 on 2017/02/01 by james.cobbett
Updated QA-Physics map
Added cube that starts off with physics enabled, then disables. Made physics toggleable on that and another cube.
Change 3281211 on 2017/02/01 by James.Golding
Details customization for editing PoseDriver targets list
Change 3281332 on 2017/02/01 by Marc.Audy
Fix bad merge
Fix file types
Change 3281388 on 2017/02/01 by mason.seay
Updated Force Feedback asset
Change 3281396 on 2017/02/01 by mason.seay
moving asset
Change 3281987 on 2017/02/01 by Benn.Gallagher
Fixed project generation failing after main merge
Change 3282047 on 2017/02/01 by Marc.Audy
Fix up Target and build cs files after changes from Dev-Build
Change 3282214 on 2017/02/01 by Ori.Cohen
Expose radial forces to immediate mode
Change 3282221 on 2017/02/01 by Alan.Noon
Immediate Mode GDC demo content: development on minion anim B, refined Orbital Laser Pawn controls, tweaked laser parameters
none
Change 3282273 on 2017/02/01 by Ori.Cohen
Fix crash when recompiling animbp of immediate mode due to null pointer.
Change 3282368 on 2017/02/01 by Ori.Cohen
Quick iteration on minion demo
Change 3282824 on 2017/02/02 by James.Golding
Fix for CIS in RBFSolver.h
Change 3282829 on 2017/02/02 by James.Golding
Fix CIS in PoseDriverDetails.cpp
Fix list UI not refreshing after copying targets from PoseAsset
Change 3282834 on 2017/02/02 by Danny.Bouimad
Adding Pose driver additive assets
Change 3282863 on 2017/02/02 by James.Golding
Add Mambo mesh and Skeleton
Change 3282892 on 2017/02/02 by James.Golding
Copy Aurora (Ice) and Mambo meshes/materials/some anims from Dev-General to AnimTechDemo project in Dev-Framework
Change 3283157 on 2017/02/02 by Mieszko.Zielinski
Cook Orion Win64 fix #UE4
Had to change the Extent param of K2_ProjectPointToNavigation. Updated the error causing Orion BP
Change 3283159 on 2017/02/02 by Marc.Audy
Additional CIS fixes
Change 3283179 on 2017/02/02 by Marc.Audy
More CIS fixes
Change 3283197 on 2017/02/02 by Jurre.deBaare
Fix for issues importing Fornite geometry cache assets
#fix Use actual import number of frames instead of total number of frames in the Alembic Cache
Change 3283201 on 2017/02/02 by Marc.Audy
Keep fixing CIS
Change 3283270 on 2017/02/02 by James.Golding
Merging CL 3276013 to Dev-Framework
- fix issue with additive pose preview applying twice
Change 3283499 on 2017/02/02 by Marc.Audy
More CIS fixes
Change 3283543 on 2017/02/02 by Jon.Nabozny
Update comment on AActor::GetActorBounds to properly reflect ChildActorComponents aren't included in the calculation.
Change 3283663 on 2017/02/02 by Ori.Cohen
Fix potential null dereference in ragdoll node
Change 3283757 on 2017/02/02 by Marc.Audy
May fix remaining CIS issues
Change 3283984 on 2017/02/02 by Marc.Audy
Fix linux CIS
Change 3284039 on 2017/02/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3283913
Change 3284067 on 2017/02/02 by Marc.Audy
Fixup mistakes in converting redirects
Change 3284187 on 2017/02/02 by Ori.Cohen
Immediate mode works with radial force (not just radial impulse)
Change 3284358 on 2017/02/02 by Ori.Cohen
Update arcblade phys asset for immediate mode
Change 3284667 on 2017/02/02 by Marc.Audy
Arguments is an array not a string now. Fixing commented out code.
Change 3284684 on 2017/02/02 by Marc.Audy
Move AVIWriter out in to its own module to avoid any possible unity build issues where xwindows.h got indirectly included through the DirectShow third party library and caused FGenericWindow::IsMaximized and IsMinimized to conflict with a macro.
Change 3284707 on 2017/02/02 by Marc.Audy
Fix AVIWriter module compilation on Mac
Change 3285012 on 2017/02/03 by Benn.Gallagher
Fixes for Dx NvCloth shader warnings
Change 3285016 on 2017/02/03 by Marc.Audy
Fix missing include
Change 3285048 on 2017/02/03 by Benn.Gallagher
Fixed Persona needing a restart when changing number of clothing assets (import/delete)
#jira UE-41323
Change 3285325 on 2017/02/03 by Marc.Audy
Properly implement AVIWriter module
Change 3285538 on 2017/02/03 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3285499
Change 3285735 on 2017/02/03 by Jon.Nabozny
Add IsInAir method to UVehicleWheel.
#jira UE-38369
Change 3285862 on 2017/02/03 by Aaron.McLeran
UE-41435 Fixing PIE audio
- Fixing PIE audio. Recent change to editor preferences from Dev-Editor branch (CL 3234495) caused all audio to be muted in PIE.
Change 3285914 on 2017/02/03 by danny.bouimad
RecomputeTangents Test Assets
Change 3286246 on 2017/02/03 by Mieszko.Zielinski
Changes to game-specific BPs containing calls to deprecated NavigationSystem functions #UE4
#jira UE-41527
#jira UE-41518
Change 3286308 on 2017/02/03 by Ori.Cohen
Make sure physx trimesh scale is never too small. Fix box clamping being ignored. Fixes cook warnings for Odin.
#JIRA UE-41529
Change 3286396 on 2017/02/03 by Ori.Cohen
Fix CIS
Change 3286479 on 2017/02/03 by Ori.Cohen
Copying //UE4/Dev-Physics-Upgrade to Dev-Framework (//UE4/Dev-Framework)
Change 3287421 on 2017/02/06 by James.Golding
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3286819
Change 3287427 on 2017/02/06 by James.Golding
Fix PoseBlendNode to 'pass through' if no poses are activated
Change 3287430 on 2017/02/06 by James.Golding
- Add support to PoseDriver for evaluating source bone in the space of a different bone
- Fix driven bone adding a scale of 1
- Fix posedriver values 'sticking' (reset all weights to zero each frame)
- Move CopyTargetsFromPoseAsset and AutoSetTargetScales from FAnimNode_PoseDriver to UAnimGraphNode_PoseDriver (not required outside editor)
- Tranlsation targets now draw larger when selected
- 'Copy from pose asset' now also auto-sets radius for you
- Remove spammy warnings for missing poses/curves
- Add UPoseAsset::GetNumTracks and ::GetFullPose
- Remove unused ExtractionContext from UPoseAsset::GetBaseAnimationPose
- Remove bIncludeRefPoseAsNeutralPose option (not really useful since we no longer always normalize weights to 1.0)
Change 3287496 on 2017/02/06 by Chad.Garyet
fixing busted quotes around defaultvalues
Change 3287569 on 2017/02/06 by Mieszko.Zielinski
Orion BP fixed after deprecating NavigationSystem's BP API #Orion
Change 3287595 on 2017/02/06 by Benn.Gallagher
BuildPhysX.Automation: Deploying PhysX & NvCloth Win64 Win32 PS4 libs.
Built for new NvCloth upgrade
Change 3287598 on 2017/02/06 by Benn.Gallagher
NvCloth Upgrade to 21604115
Added Linux+Mac support
Change 3287710 on 2017/02/06 by Lukasz.Furman
added option to disable navlink polys at the end of generated paths
#ue4
Change 3287857 on 2017/02/06 by Benn.Gallagher
Fixed NvCloth module files to correctly set up linux and mac hopefully
Change 3287894 on 2017/02/06 by Benn.Gallagher
Another fix to NvCloth build files, didn't get picked up in VS for some reason.
Change 3287917 on 2017/02/06 by Lina.Halper
Copy from CharacterRigging to Dev-Framework
#code review:Thomas.Sarkanen, Martin.Wilson, James.Golding, Andrew.Rodham
Change 3287938 on 2017/02/06 by Thomas.Sarkanen
Fix crash opening a media sound wave
#jira UE-41582 - Editor crashes when running Automation test
Change 3287942 on 2017/02/06 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3287682
Change 3288035 on 2017/02/06 by James.Golding
Remove C++ GameMode and pawn classes (replace with floating BP instead)
Resave anims to remove Orion refs
Add simple AnimBP and map for Mambo testing
Change 3288036 on 2017/02/06 by Benn.Gallagher
Fix to BuildPhysX task to trigger Mac and Linux builds properly
Change 3288125 on 2017/02/06 by Ori.Cohen
Change PhysXCommon back to dylib
Change 3288127 on 2017/02/06 by Benn.Gallagher
Fixed project file identification not working for NvCloth under XCode
Change 3288156 on 2017/02/06 by Benn.Gallagher
Disable "expansion-to-defined" warning in Linux NvCloth builds
Change 3288159 on 2017/02/06 by Lina.Halper
potential compile fix for Ocean Editor
#code review:Thomas.Sarkanen
Change 3288190 on 2017/02/06 by Ori.Cohen
Link against static PhysXCommon for mac
Change 3288200 on 2017/02/06 by Marc.Audy
Fix CIS
Change 3288270 on 2017/02/06 by Lina.Halper
fix compile error
#code review:Thomas.Sarkanen, Marc.Audy
Change 3288302 on 2017/02/06 by Thomas.Sarkanen
Fixed ensure when deselecting bones in anim BP editor
#jira UE-41274 - Ensure when clicking in the viewport of an animation blueprint
Change 3288348 on 2017/02/06 by Lina.Halper
- Enabled control rig
- Changed plugin name to be Control Rig
Change 3288490 on 2017/02/06 by Benn.Gallagher
Fixes for Mac attempting static links against NvCloth and failing to load dynamic libraries. Worked with MasonS to get Mac editor up and running.
Change 3288511 on 2017/02/06 by Lina.Halper
compile fix
Change 3288513 on 2017/02/06 by Lina.Halper
Check in content to work with
Change 3288615 on 2017/02/06 by Ori.Cohen
Fix skeletal mesh not simulating when using an aggregate.
#JIRA UE-41593
Change 3288791 on 2017/02/06 by thomas.sarkanen
Exposed transforms to cinematics so they can be animated
Change 3288795 on 2017/02/06 by Ori.Cohen
Fix lock warnings for physx
#JIRA UE-41591
Change 3288817 on 2017/02/06 by Charles.Anderson
GDC Arcblade setup tests.
Change 3288825 on 2017/02/06 by Lina.Halper
Fix build issue of shadow variable
Change 3289058 on 2017/02/06 by Ori.Cohen
Fix crash when immediate mode constraint generates 0 rows. This is a potentially temporary fix until NVIDIA replies with a better solution.
#JIRA UE-41026
Change 3289348 on 2017/02/06 by Lina.Halper
fix compile issue
Change 3289369 on 2017/02/06 by Lina.Halper
Renamed leg control to limb control and will be used for arm/feet.
- changed vars.
- has unused variables that will be used soon but want to check in so that i don't block content change on BaseHuman.
#code review:Thomas.Sakanen
Change 3289422 on 2017/02/06 by Lina.Halper
Fixed IK sinking issue - or moving
#code review:Thomas.Sarkanen
Change 3289433 on 2017/02/06 by Lina.Halper
Fixed real shadow error
Change 3289485 on 2017/02/06 by Lina.Halper
fixed build issue
Change 3289657 on 2017/02/07 by thomas.sarkanen
Added rig bone mapping to Ice's skeletal mesh
Change 3289658 on 2017/02/07 by thomas.sarkanen
Added ControlRig map with Ice setup to pose
Change 3289662 on 2017/02/07 by Thomas.Sarkanen
Fixed up static analysis warning
Change 3289663 on 2017/02/07 by Thomas.Sarkanen
Fixed crash when attempting to bind to skeletal mesh with already-set anim BP
Anim instance may not have actually been created when binding, so dont dereference it
Change 3289717 on 2017/02/07 by Benn.Gallagher
Switch Linux NvCloth to static for Linux builds. Adjust lib directory to match actual directory
Change 3289718 on 2017/02/07 by Benn.Gallagher
BuildPhysX.Automation: Deploying NvCloth Linux_x86_64-unknown-linux-gnu libs.
Change 3289744 on 2017/02/07 by Benn.Gallagher
Fixed missing masses causing crash initialising clothing actors
#jira UE-41599
Change 3289746 on 2017/02/07 by Danny.Bouimad
Adding Some Content for JamesG he wanted some nicer looking Pose driver test files.
Change 3289756 on 2017/02/07 by danny.bouimad
Changing the asset for JamesG.
Change 3289785 on 2017/02/07 by James.Golding
Replace old PoseDrive test with Danny's new one
Change 3289858 on 2017/02/07 by Lina.Halper
fixed issue with undo transaction buffer
Change 3289860 on 2017/02/07 by Benn.Gallagher
Fixed crash after reimporting a clothing asset with the clothing config open and then changing the confg
#jira UE-41655
Change 3289912 on 2017/02/07 by Thomas.Sarkanen
Merging using Raven_To_Dev-Framework
Originally from CLs 3249471, 3258522, 3260271, 3273791:
Sequencer: More work supporting array properties more generically
+ fixes
Change 3289962 on 2017/02/07 by James.Golding
Add thickness option to DrawWireDiamond
Change 3289963 on 2017/02/07 by James.Golding
Add spin option to VectorInputBox
Change 3289966 on 2017/02/07 by James.Golding
Add weight bar chart to PoseDriver details
Stop drawing pose weight text in viewport
Fix position targets not drawing larger when selected
Change 3290094 on 2017/02/07 by Thomas.Sarkanen
Fixed typo in filename (fallout from search and replace)
Change 3290119 on 2017/02/07 by Thomas.Sarkanen
Manipulators can now have their IK/FK space set on them
They are not drawn when the space for the chain that they control is not the same as their setting
Also fixed a crash with invalid objects when reloading maps.
Change 3290145 on 2017/02/07 by Thomas.Sarkanen
CIS fix for fallout from Raven changes
#jira UE-41670 - Mac editor fails to compile with PropertyTrackEditor errors
Change 3290319 on 2017/02/07 by Marc.Audy
Make sound player nodes hard reference the assets unless they are in a chain below a quality node.
Change 3290484 on 2017/02/07 by Richard.Hinckley
Fixing grammar in popup messages.
Change 3290533 on 2017/02/07 by Marc.Audy
Make GetAIController BlueprintPure
#jira UE-41654
Change 3290624 on 2017/02/07 by Marc.Audy
Reorder header to avoid include tool warnings
Change 3290697 on 2017/02/07 by Lina.Halper
- support FK manipulator being in local space
- fixed FK key spamming issue for making blend weight to be not keyable - this creates conflicts with enum
#code review: Thomas.Sarkanen
Change 3290748 on 2017/02/07 by Ori.Cohen
Touch immediate mode file to force physx re-link
Change 3290807 on 2017/02/07 by Richard.Hinckley
#jira UE-39891
Updates to assist in automatic documentation generation.
Change 3290946 on 2017/02/07 by Lina.Halper
Fix issue of notify looping.
#jira: UE-31463
#Code review:Martin.Wilson
Change 3291553 on 2017/02/07 by Lina.Halper
Rename/move file(s)
- modified mesh mapping controller window to be Control Rig
Change 3291571 on 2017/02/07 by Lina.Halper
added set up spine option
#code review:Thomas.Sarkanen
Change 3291581 on 2017/02/07 by Ori.Cohen
Temporarily turn off phat immediate mode preview which crashes.
Change 3291949 on 2017/02/08 by James.Golding
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3291819
Change 3291966 on 2017/02/08 by Lina.Halper
Fix issue with notify looping bug
#jira: UE-31463
Change 3292247 on 2017/02/08 by Marc.Audy
Clean up bad merge caused by Fortnite integration to main
Change 3292326 on 2017/02/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3292313
Change 3292409 on 2017/02/08 by Marc.Audy
Resubmit FortPawn.cpp with proper code even though perforce doesn't think there is a difference since when you sync it, the contents are wrong.
Change 3292481 on 2017/02/08 by Ori.Cohen
Fix for convex hull cooking (from Josh.S)
#JIRA UE-41656
Change 3292492 on 2017/02/08 by Mieszko.Zielinski
Redone replacement of deprecated navigation system's BP functions in Fortnite BPs #Fortnite
Change 3292778 on 2017/02/08 by Ori.Cohen
Touch physx DDC key for new cooking.
#JIRA UE-41656
[CL 3293329 by Marc Audy in Main branch]