Change consist of only forward declaration and additional includes
#preflight 63789c1de30d438849c48188
#rb none
[CL 23218412 by henrik karlsson in ue5-main branch]
This change consists of multiple changes:
Core:
- Deprecation of ANY_PACKAGE macro. Added ANY_PACKAGE_DEPRECATED macro which can still be used for backwards compatibility purposes (only used in CoreUObject)
- Deprecation of StaticFindObjectFast* functions that take bAnyPackage parameter
- Added UStruct::GetStructPathName function that returns FTopLevelAssetPath representing the path name (package + object FName, super quick compared to UObject::GetPathName) + wrapper UClass::GetClassPathName to make it look better when used with UClasses
- Added (Static)FindFirstObject* functions that find a first object given its Name (no Outer). These functions are used in places I consider valid to do global UObject (UClass) lookups like parsing command line parameters / checking for unique object names
- Added static UClass::TryFindType function which serves a similar purpose as FindFirstObject however it's going to throw a warning (with a callstack / maybe ensure in the future?) if short class name is provided. This function is used in places that used to use short class names but now should have been converted to use path names to catch any potential regressions and or edge cases I missed.
- Added static UClass::TryConvertShortNameToPathName utility function
- Added static UClass::TryFixShortClassNameExportPath utility function
- Object text export paths will now also include class path (Texture2D'/Game/Textures/Grass.Grass' -> /Script/Engine.Texture2D'/Game/Textures/Grass.Grass')
- All places that manually generated object export paths for objects will now use FObjectPropertyBase::GetExportPath
- Added a new startup test that checks for short type names in UClass/FProperty MetaData values
AssetRegistry:
- Deprecated any member variables (FAssetData / FARFilter) or functions that use FNames to represent class names and replaced them with FTopLevelAssetPath
- Added new member variables and new function overloads that use FTopLevelAssetPath to represent class names
- This also applies to a few other modules' APIs to match AssetRegistry changes
Everything else:
- Updated code that used ANY_PACKAGE (depending on the use case) to use FindObject(nullptr, PathToObject), UClass::TryFindType (used when path name is expected, warns if it's a short name) or FindFirstObject (usually for finding types based on user input but there's been a few legitimate use cases not related to user input)
- Updated code that used AssetRegistry API to use FTopLevelAssetPaths and USomeClass::StaticClass()->GetClassPathName() instead of GetFName()
- Updated meta data and hardcoded FindObject(ANY_PACKAGE, "EEnumNameOrClassName") calls to use path names
#jira UE-99463
#rb many.people
[FYI] Marcus.Wassmer
#preflight 629248ec2256738f75de9b32
#codereviewnumbers 20320742, 20320791, 20320799, 20320756, 20320809, 20320830, 20320840, 20320846, 20320851, 20320863, 20320780, 20320765, 20320876, 20320786
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 20430220 via CL 20433854 via CL 20435474 via CL 20435484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)
[CL 20448496 by robert manuszewski in ue5-main branch]
#preflight 61eefc77ba69a4fdb220bf23
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18713191 by marc audy 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]
Added a GetForwarder function to IMessageContext to get to the forwarder sender even if an original context exist as GetSender will return that context sender instead.
Merged from CL 7431537
#jira UE-78280
#rb none
#ROBOMERGE-SOURCE: CL 7708210 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v385-7708028)
[CL 7708212 by francis hurteau in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 4280523 by Patrick.Boutot
Add option in AjaCustomTimeStep to wait until the frame to be ready. Previously, the frame was there but not yet processed so it was possible that it was not ready by the time we wanted to read it. It won't work with interlaced because the 2 fields are processed at the same time. In interlaced, will get a 30fps behaviour when we actually want a 60fps.
Fix bug that didn't set and reset bIsOwned properly when it was first initialized as not owned.
Change 4280526 by Patrick.Boutot
Add accessor to get the leaf media source or output.
Change 4280624 by Patrick.Boutot
Add timecode acessor to media samples
Change 4280626 by Patrick.Boutot
Rework the timing for AJA Media Player. Previously, we took the timing of the frame. That was a bad idea because if 2 incomings video frames were coming a the same time, you would only show one. Making the buffering system useless.
That affects the Custom Time Step since it was waiting for the interrupt signal and in some behavior we would like the frame to be ready to be used by UE. Same the timecode in the MediaSample because we may not used it to stamps the frame.
Change 4283022 by Patrick.Boutot
[EditorScriptingUtilitites] Check folder names invalid characters separatly from the object's name.
#jira UE-59886, UE-62333
Change 4283112 by Patrick.Boutot
Remove MediaFrameworkUtilititesModule dependency to the Settings module at runtime.
Rename TimemanagemenetEditor module names.
Change 4283426 by JeanLuc.Corenthin
Fix crash with FBX file
#jira UE-62501
Change 4284940 by Patrick.Boutot
A widget that let you select a single permutation from a list. It groups the values into categories and removes duplicates inside that category.
Change 4285471 by Patrick.Boutot
Remove MediaFrameworkUtilititesModule dependency to the Settings module at runtime.
Change 4286925 by Patrick.Boutot
[AJA] Add support to read LTC from the reference In.
Add more detail on video format and the device.
MediaSource use the Permutations Selection widget to select his mode and device.
Remove debugging option to trigger an AJA custom time step and timecode provider.
Remove the UYVY pixel option from AJA. It's better do to the conversion on the AJA card that on the GPU.
Change the tooltip and category for some AjaMediaSource properties.
Change 4287026 by Julien.StJean
Modifed the file STimeCodeProviderTab.cpp to fix the position of a SComboButton that wasn't properly place.
Change 4287663 by Jon.Nabozny
Add timecode messages into nDisplay, and sync those between Master and Slave
Change 4287884 by Jon.Nabozny
Create a TimecodeProvider for SystemTime and introduce a notion for DefaultTimecodeProvider in Engine.
Change 4288050 by Jon.Nabozny
Rework the TimeSynchronization implementation for usability and functionality.
Change 4288283 by Jon.Nabozny
Fixed swapped MetaClass and DisplayName options on UEngine::DefaultTimecodeProviderClassName;
Change 4288352 by Jon.Nabozny
Set TimecodeProviderClassName and DefaultTimecodeProviderClassName in BaseEngine.ini
Change 4288378 by Jon.Nabozny
Fixup some issues in TimecodeSynchronizer where code was reset improperly due to multiple unshelves / resolves.
Change 4288394 by Jon.Nabozny
Add TimeSync functionality into LiveLink. Also add test cases for this. This should allow us to easily synchronize multiple LiveLink sources together, as well as synchronize those to anything else using the sync system (Relies on CL-4235417)
Change 4288899 by Patrick.Boutot
Fix initialization order of FMediaIOCorePlayerBase variables
Change 4289157 by Patrick.Boutot
Allow the user to change the source of a capture without stopping the current capture.
[AJA] AjaMediaCapture, add support for UpdateSceneViewport & UpdateRenderTarget
@made by julien.stjean
Change 4291328 by Jon.Nabozny
Report the Skeleton Guid with TimeSyncData and track sync state in LiveLinkTimeSynchronizationSource.
This prevents a crash that can happen if a source is quickly cleared and reset before the next tick of Time Synchronization.
Change 4296294 by Jon.Nabozny
Fixup errors when TimecodeProviderClassName is empty. It's valid to leave this empty.
Change 4297122 by Patrick.Boutot
Media Profile with timecode provider & custom time step
Change 4301855 by Austin.Crismore
Fix for movment scaling and virtual joystick controls. Movement scaling in for truck and dolly is locked to the world xy plane, and virtual joysticks use their own method for movement scaling now.
#jira UE-61762, UE-62187
Change 4301856 by Austin.Crismore
Virtual sequence level controller now listens to on object spawned, so that it can intercept the camera actor and disable attatching to HMD to prevent camera movement that isn't from the level sequence
#jira UE-61766
Change 4301860 by Austin.Crismore
Fix for touch scrubbing. Added default values back in. Added logic to only allow scrubbing when touch focus was off.
#jira UE-61865
Change 4302294 by Jamie.Dale
Added functions to get your the localized spoken and subtitle text from a dialogue wave
Change 4304393 by Jamie.Dale
Added support for BlueprintAssignable properties in Python
Change 4305852 by Jamie.Dale
Removed hard-dependency between EditorScriptingUtilities and PythonScriptPlugin
Backed-out changelist 4259264 and query Python availability based on whether anything is available to handle the command
#jira UE-62318
Change 4308550 by Jamie.Dale
Fixed crash when passing a null world to Python actor iterators
Change 4311867 by Homam.Bahnassi
Revit master material with exposed parameters matching the API when possible.
Change 4314428 by Francis.Hurteau
Made the usage of the bBuildDeveloperTools switch independent of the bCompileAgainstEngine switch.
Changed bBuildDeveloperTools TargetRule in UnrealBuildTool to a nullable to keep the old behavior in case where bBuildDeveloperTools wasn't explicitly set in TargetRules
Change 4315134 by Jamie.Dale
Defer editable text focus selection until mouse-up to allow the user to make an initial selection
#jira UE-58086
Change 4318615 by Johan.Duparc
EditorFactories: consistent return values after asset import.
Change 4322459 by Jamie.Dale
Made SequencerScripting an Editor plugin as it depends on PythonScriptPlugin which is an Editor plugin
This was causing issues at runtime when SequencerScripting was enabled, as it failed to load PythonScriptPlugin (which hadn't been built).
Change 4323341 by Francis.Hurteau
Implement proper message bus protocol version negociation with static nodes
Change 4323733 by Francis.Hurteau
Fix VR Pausing Sequence Scrubbing just setting playback speed to 0.0
Change 4324319 by Jamie.Dale
Exposed transactions to Blueprints
Change 4325847 by Alistair.White
Copying //Tasks/UE4/Private-PixelStreaming@4325566 to Dev-Enterprise-Minimal (//UE4/Dev-Enterprise-Minimal)
This adds the new experimental PixelStreaming plugin to allow streaming of an Unreal client's audio & video stream to a browser through the WebRTC protocol to support new uses for enterprise customers.
Change 4326282 by Simon.Tourangeau
nDisplay native present handler
Change 4326581 by Jamie.Dale
Replacing FDateTime with int64 Ticks value to workaround UE-63485
Change 4326599 by Homam.Bahnassi
Moving texture coords outside UVEdit function to allow using different UV channels.
Change 4333250 by Francis.Hurteau
Small TFuture changes:
* cleans up TFuture::Then with usage of TUniqueFunction
* added TFuture::Reset to invalidate it and remove continuation from a future shared state
Change 4333359 by Homam.Bahnassi
Support scaling and rotating UVs around arbitrary pivot
Change 4333566 by Johan.Duparc
Expose ProxyLOD functionalities to Scripting
#jira UEENT-1788
Change 4333988 by Jamie.Dale
Allow UHT to parse FText default parameter values
INVTEXT, NSLOCTEXT, LOCTABLE, and FText::GetEmpty() are supported. LOCTEXT isn't as it relies on an external macro that is known to C++ but not to UHT (NSLOCTEXT can easily be used instead).
Change 4335020 by Francis.Hurteau
Uncomment MessageBus::Send deprecation notice for 4.21
Update MessageBus Send usage to new API
Change 4335195 by JeanMichel.Dignard
Add a SetLodFromStaticMesh script utility function
#jira UEENT-1789
Change 4335231 by Anousack.Kitisa
Added functions to generate planar, cylindrical, box UV mapping.
#jira UEENT-1598
Change 4335373 by Jamie.Dale
Cleaned up some places creating empty literal texts
Change 4335458 by Jamie.Dale
Allow UHT to parse FText() as an alias of FText::GetEmpty() when processing default values
Change 4335875 by Max.Chen
Sequencer: Clear RF_Transient on pasted tracks/sections
#jira UE-63537
Change 4336497 by Johan.Duparc
ProxyLOD: Fix progress bar issue
- removed duplicated code
- removed duplicated LongTask object
#jira UEENT-1788
Change 4336723 by Jamie.Dale
Ensure that Python generated types create their CDO at the correct point
#jira UE-62895
Change 4340594 by Ben.Marsh
Fix manifest being invalidated when building two enterprise targets in a row. Fixes CIS error.
#jira UE-63644
[CL 4342443 by JeanMichel Dignard in Main branch]
#rb none
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4247640 by Daniel.Lamb
BuildPatchTool: PackageChunks: Fixed issue with filenames not being set for chunkdbs in particular cases where the chunkdbs were small.
Change 4247246 by Leigh.Swift
BuildPatchTool: Adding support to BPT PackageChunks to filter by tagsets, and also split chunkdb output by them too.
Change 4173518 by Wes.Fudala
WebBrowser: Adding support to enable allowing net security expirations.
Change 4102451 by Leigh.Swift
BuildPatchTool: PackageChunks: Adding tool mode JSON output for listing created chunkdb files.
Change 4099951 by Leigh.Swift
BuildPatchTool: PackageChunks: Adding PrevManifestFile commandline support to BPT PackageChunks mode, allowing us to generate chunkdbs that only cover data required to perform an update.
Change 4051406 by Leigh.Swift
BuildPatchServices: Update default number of simultaneous downloads for an installer to 16 which is now well proven in the wild.
Change 4036807 by Leigh.Swift
BuildPatchServices: Added new message type for receiving updates about which files have been touched by the installation.
BuildPatchServices: Cloud enumeration is now threaded to improve speed.
Change 4036477 by Richard.Fawcett
Thirdparty: AWSSDK: Update AWS SDK to version 3.3 as speculative fix for object is used after being disposed error.
Confirmed this exception is being raised from within the AWS SDK, and _not_ in Epic code.
Advice by Amazon on AWS forums for people experiencing this exception is always to update to the latest version of the SDK in the first instance.
Change 3922493 by Justin.Sargent
Runtime: Added shortcircuit support to the ExpressionParser. More documentation to come.
AgreementExpressionEvaluator has been updated to use the shortcircuit logic so it now processes expressions lef to right as expected in all cases.
AgreementExpressionEvaluator was also updated to perform evaluation as a two pass system. The tow pass solution prevents over prompting eulas in certain scenarios where the expression would ultimately resolve true without them.
Change 3983713 by Barnabas.McManners
BuildPatchServices: Fix for verification logging error counts for unique runs. Solved the issue by using an external cache of the errors encountered each run to deduct from the total. Reporting only the delta.
Change 3966915 by Wes.Fudala
WebBrowser: CEF: Potential fix for a rare issue encountered when we attempting to release resources outside of the game thread.
Change 3955168 by Justin.Sargent
BuildPatchServices: Updated primary messaging of overall install status to now display Updating when patching an existing installation rather than Installing.
Change 3954610 by Leigh.Swift
BuildPatchServices: Fixing issue with Cloud Chunk Source which would erroneously conclude that it needed to re-download a chunk due to external system failure.
There is now an explicit concept of 'lost chunk' which is tracked and bubbled up by the system errors that cause the loss in the first place, so that each source knows exactly when it should be required to retrieve a chunk that it had already retrieved previously. Being explicit, these lost chunks can also now contribute to the total download required stat.
Also fixing some tracking that was missing to update the total download required stat if a local Install Chunk Source failed to load data from the files on disk and so these chunks needed to be additionally downloaded.
Change 3947928 by Chad.Garyet
UAT: Changing commandutils to attempt to find the Win8.1sdk signtool before the win10 one. There's currently a bug related to vs2017/server2012r2/win10sdk signtool that causes it to exit with an undefined error when signing from a service account. Using the win8.1sdk circumvents this issue.
Change 3942776 by Rob.Cannaday
Http: Fix for Mac sending up duplicate header strings
Change 3940306 by Leigh.Swift
BuildPatchServices: Refactor to isolate CoreUObject dependency and be able to compile out usage.
Change 3936655 by Justin.Sargent
Slate: Changed the invalid fontcache ensure in ShapedTextCache from always to only once to reduce ensure spamChange 3917840 by Leigh.Swift
BuildPatchTool: DiffManifests mode now also saves info for New, Removed, Changed, and Unchanged file to the output json file.
Change 3911756 by Justin.Sargent
WebBrowser: SWebBrowserView now ensures that it has a valid pointer to it's parent window in it's onpaint to avoid issues with the first frame being scaled incorrectly due to not being able to access the parent windows dpi scaling.
Change 3906670 by Justin.Sargent
Slate: Change the ShapedTextCache to hold a weakptr to the Slate FontCache instead of a reference. This will allow it to detect if the FontCache has become invalid since it was linked with the ShapedTextCache, thus making it able to avoid crashing.
Change 3889008 by Justin.Sargent
StandaloneRenderer: Made the SlateD3DRenderingPolicy more resilient to graphics device errors.
Change 3886969 by Justin.Sargent
StandaloneRenderer:Changed SlateD3DConstantBuffer to no longer check on a D3DDevice failure and instead soft fail, so the application can go through the process of attempting to re-establish the D3DDevice.
Change 3886960 by Justin.Sargent
WebBrowser: Made CEFWebBrowserWindow more resilient to issues with creating textures.
Change 3855821 by Barnabas.McManners
BuildPatchServices: Added logging of the configuration to the start of all installs.
Change 3839245 by Wes.Fudala
WebBrowser: Adding support for web browser drag regions. These are areas of a page tagged with -webkit-app-region: drag or -webkit-app-region: no-drag. The application can now pass a handler function to the browser to handle window drag events. This handler will be called if the browser detects mouse drag events inside of a tagged drag region.
Change 3835225 by Jacob.Hedges
Slate: Fix for SScrollBarTrack size issue
Change 3824320 by Wes.Fudala
WebBrowser: Fix for reported deadlock in WebBrowserSingleton. Associated with github pull request #4303.
#jira UE-53420 GitHub 4330 : Fixed deadlock in FWebBrowserSingleton
#4303
Change 3811191 by Barnabas.McManners
BuildPatchServices: Expanded MF01-X into MF01-X-X and MF02-X where X is the os error codes
Change 3807662 by Barnabas.McManners
BuildPatchServices: Broke down build verification errors into 4 new cases.
Change 3805698 by Leigh.Swift
BuildPatchServices: Speculative fixes for Unit test crashes / failures.
Change 3804175 by Wes.Fudala
ThirdParty: CEF: Adding browser locale pak files for es-MX, and es-ES as the typical mapping/fallback does not seem functional on mac browser. They are copies of es_419 and es respectively.
Change 3786628 by Leigh.Swift
WebBrowser: Exposing ability to customise tool tip widgets produced from SWebBrowserView.
Change 3775678 by Richard.Fawcett
BuildPatchServices: Allow a Prerequisite install only mode.
Change 3774365 by Justin.Sargent
BuildPatchServices: Updated Build Stat report that is logged after every installation to use FText::AsMemory instead of the UnitConversion logic, and now it outputs multiple unit types for convenience.
Change 3774361 by Justin.Sargent
Http: Remove Pragma: no-cache header from libcurl requests
Change 3774258 by Leigh.Swift
BuildPatchServices: Fix for destructive patch destroy files that contain useful data.
Change 3766156 by Barnabas.McManners
Http: Various lower changes to enable Hardware testing and to enable proxy configuration.
Change 3756723 by Leigh.Swift
BuildPatchServices: Hooking up disk chunk store operation states to the installer statistics.
BuildPatchServices: Memory chunk store statistics fix for booted chunks that have been reloaded.
Change 3756320 by Rob.Cannaday
Http: Add default headers added to every HTTP request.
Change 3741274 by Wes.Fudala
WebBrowser: Release CEF related references prior to CEF shutdown.
Change 3738003 by Leigh.Swift
BuildPatchServices: Fix-ups for install stats when failures are occurring
NumFilesOutdated now only set on first run, so it is not set to the number of files that are retried.
Total downloaded data and total download requirement stats fixed up for runtime as well as final values.
Initial chunk counters now only set for first run.
Moving the GetBytesDownloaded api from cloud source to download service so that it correctly accumulates.
InstallSource was multiply attempting, and counting, recycle failures, throwing that stat out of proportion.
Change 3729851 by Barnabas.McManners
BuildPatchServices: Changed the installer's MoveFile method to default to not retry. We currently only have uses of move file which already handle retry.
Change 3725611 by Leigh.Swift
Core: FText::AsMemory - Fix for numerical edges.
Added unit tests to check all edges up to full uint64 range.
Change 3725127 by Leigh.Swift
BuildPatchServices: ManifestDiff: Correcting string format padding for new data size output uints.
Change 3725126 by Leigh.Swift
Core: FText::AsMemory fix. Shifting (equivalent of divide 2 per shift) does not work for calculating SI units which are base 10.
Change 3721926 by Justin.Sargent
ThirdParty: LibCurl update performed by Simon Tourangeau.
We now have 100MB/sec download speed with libcurl on Win64, compared to 3MB/sec originally
Change 3700670 by Michael.Trepka
SlateReflector: Fixed mouse click highlighting in Widget Reflector's Demo Mode in high DPI
Change 3697526 by Leigh.Swift
BuildPatchServices: Exposing a suite of runtime statistics for BuildPatchInstallers.
Change 3686439 by Leigh.Swift
BuildPatchServices: Stop installers from always logging a shutdown error on destruction. This should only occur if the installer is actually running.
Change 3684747 by Leigh.Swift
BuildPatchTool: Fix file ignore list to parse using platform agnostic method.
Change 3643038 by Michael.Trepka
Core: Don't defer Cocoa calls in FMacWindow Show and Hide to make sure both actions complete before we exit these functions. This solves the problem with the blocks being called after window was destroyed.
Change 3639692 by Michael.Trepka
Fixes for a couple of issues found by address sanitizer
Change 3625568 by Leigh.Swift
BuildPatchServices: Fixing numerical limits problem with double -> uint64 in FStatsCollector::SecondsToCycles().
Change 3617948 by Leigh.Swift
BuildPatchServices: Disk space requirement can now be lower when patching if destructive patch mode is enabled. This mode will delete existing old files once they are not needed.
BuildPatchServices: Adding new installation mode setting on installer config.
BuildPatchServices: If destructive installation mode is enabled, the file constructor will delete old existing files after completing the new one.
BuildPatchServices: Adding missing file path length check for install location to cover situation where staging directory is outside the install directory.
Change 3593632 by Leigh.Swift
BuildPatchServices: Adding additional installation tracking to BuildPatchServices. See Engine/Source/Runtime/Online/BuildPatchServices/Public/Interfaces/IBuildInstaller.h
[CL 4273704 by Leigh Swift in Main branch]