Removed bSupportsVolumeTextureCompression as all platforms support it now, only Switch fallbacks to uncompressed
#jira UE-108841
#rb jack.porter
#ROBOMERGE-SOURCE: CL 15566901 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15566914 by dmitriy dyomin in ue5-main branch]
Also enabled VolumeTextureCompression and RGBColorBuffer in the inis (as the code was already using them)
#rb Brandon.Schaefer
#ROBOMERGE-SOURCE: CL 15343336 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
[CL 15359330 by rolando caloca in ue5-main branch]
- MediaModule now uses the platform Guid from DDPI instead of having a per-platform MediaInfo module that only supplied a Guid. Deleted many platform extension modules
#rb thomas.engel
[CL 14824685 by Josh Adams in ue5-main branch]
- Formalizing all TargetPlatforms to have a Client version, rename WindowsNoEditor to Windows, and removing DDPI specification of TargetPlatforms, and generate them programmatically
- Updated names DeviceProfiles and Build scripts, as above
- Some PlatformInfo class cleanup
- Added a TNonDesktopTargetPlatformBase class to make most TargetPlatforms simpler
- Added "No Compiled Support" to the Turnkey LaunchOn menu when the TargetPlatforms aren't compiled in (to show that even if you install an SDK, you will need to compile before you can LaunchOn)\
- Starting the transition away from PlatformInfo::FPlatformInfo to FDDPI
[CL 13966487 by Josh Adams in ue5-main branch]
- Renamed FDataDrivenPlatformRegistry::FPlatformInfo to FDataDrivenPlatformInfo
- Moved some fields from PlatformInfo::FTargetPlatformInfo to FDataDrivenPlatformInfo, and cleaned them up in the process
- Fixed the DataDrivePlatformInfo.ini files to match the previous items
- Removed FVanillaPlatformEntry, and now just using FTargetPlatformInfo to manage flavors under a vanilla PlatformInfo (see PlatformInfo::GetVanillaPlatformInfoArray())
- Cleaned up TPerPlatformValue, as it was often misused (took a group and platform name, but we can get the group from the platform name) [AnimationSharingManager.cpp, *Engine.cpp, Runtime\Engine\*, ]
- Fixed FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to use IniPlatformName instead of some hacky code [BlueprintNativeCodeGenManifest.cpp]
- Fixed various Turnkey bugs that recent testing exposed
- Enabled AUTOSDKS_ENABLED in both Mac and Linux on the Editor side (not that there are much set up to use it)
- Using Turnkey to get the SDK status instead of ValidatePlatforms (gives more detailed information - may want to go back to ValidatePlatforms so only UBT is needed, but change it to give more info)
- Moved OnDeviceDiscovered and Lost delegates from each platform's TargetPlatform class to a static in ITargetPlatform - there was no need for per-platform implementations
- Started working on allowing for SDK to be installed with editor running and not need to restart editor - Work in Progress! It is not usable yet.
#fyi jack.porter
#rb pete.sauerbrei
[CL 13816905 by Josh Adams in ue5-main branch]
New feature for controling which platforms use certain aspects of Niagara.
Current users include;
- Emitter Enabled/Disabled switch
- System level scalability settings in EffectType and overrides in System.
- Emitter level scalability settings in EffectType and overrides in Emitter.
This entirely replaces previous Detail Level feature and all related code.
Now we allow users to select from EffectsQualitiy levels as a basic use case for scaling across platforms.
Further fine grained control can be acheived by setting per device profile overrides to this.
For example all Effects Quality levels could be enabled but Android could be specifically disabled. Or some subset of mobile devices.
TODO: Code is in place for this to cook out emitters but there are other impediments stopping this currently.
TODO: Sebastian has more UI changes incomming but as a v1.0 this is funtional.
#rb Josh.Adams
#ROBOMERGE-OWNER: simon.tovey
#ROBOMERGE-AUTHOR: simon.tovey
#ROBOMERGE-SOURCE: CL 11292064 via CL 11292069
#ROBOMERGE-BOT: (v647-11244347)
[CL 11292627 by simon tovey in Main branch]
Add a PlatformSubMenu ini entry to DataDrivenPlatformInfo sections, and coalesce these in FPackageProjectMenu::MakeMenu().
Cherry pick 9539016
#jira UE-79779
#rb brandon.schaefer
[CL 9618685 by Michael Sartain in 4.24 branch]
#ROBOMERGE-OWNER: derek.peterson
#ROBOMERGE-AUTHOR: derek.peterson
#ROBOMERGE-SOURCE: CL 6869093 via CL 6869102 via CL 6869118 via CL 6869862
#ROBOMERGE-BOT: (v366-6836689)
[CL 6870708 by Derek Peterson in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 4073167 by Krzysztof.Narkowicz
Added subsurface profile for eye shading model.
#jira none
Change 4073422 by Krzysztof.Narkowicz
Added dual specular for subsurface profile shading model.
#jira none
Change 4075278 by Krzysztof.Narkowicz
Fixed forward reflection/refraction rendering issues, which caused ShaderModels.Material.Refraction to fail.
#jira none
Change 4084231 by Krzysztof.Narkowicz
Dual specular - replace lobe spread with two separate roughness multipliers. Default material roughness is now replaced by an average lobe roughness in order to support non dual specular features.
#jira none
Change 4092798 by Matt.Collins
Some HDR refactoring.
Previously the DisplayOutput and ColorGamut were only set in GameUserSettings.
I added a Sink that checks the HDR enable. If it's toggled we apply the correct DisplayOutput and ColorGamut for the current platform (this way we get good settings even if you toggle via the console). These settings are still exposed via the console and can be set independently if the user wants.
Change 4096954 by Chris.Bunner
Added ShaderModelID as scene texture option and renamed existing value to ShaderModelColor to better reflect the internal code.
Change 4111285 by Brian.Karis
Eye shading update.
Added Iris normal (disabled). Removed wrap. Fixed contact shadows.
Change 4155261 by Krzysztof.Narkowicz
Planar reflection prefilter - use scene viewport size instead of reflection target size in order to keep filter size constant in screen space. This makes planar reflection filter more stable in case of dynamic resolution.
#jira none
Change 4167644 by Krzysztof.Narkowicz
Global shader map is now stored in multiple DDC entries (one per shader filename) instead of keeping everything in a single one. This allows to skip recompilation of unchanged shader files.
Change 4183727 by Yuriy.ODonnell
Implemented auto-conversion from deferred to DBuffer decals in forward shading mode (when GBuffer is not available).
Added support for specular and metallic channels for DBuffer decals, based on work by Chris Bunner.
This requires DBufferC to be expanded from 2 to 4 channels, leading to slight increase in DBuffer bandwidth and memory requirements.
Appearance of DBuffer decals is affected by this change, as specular and metallic channel values previously hard-coded in DBufferDecalShared.ush.
Decals were forced to be non-metallic and have specular of 4% (0.5 numeric value). Now the authored decal material values will be used, which matches GBuffer decals.
Added support for DBuffer decals with emissive component.
Most decal types can now be automatically converted, with the exception of stain decals. Those are currently approximated as regular translucent decals.
Change 4197684 by laz.matech
Added a PostProcess Volume test to the map to test that Cinematic Depth of View can be achieved through PPVs as well. Changed the BP_DepthOfFeildPOV asset - I exposed Focus Method so that it can be disabled for the PPV test. Added a second Hair Model head to the InFocusHair test so that it tests in and out of focus hair models (changed the name of the test to FocusHair).
#jira none
Change 4225614 by Rolando.Caloca
DR - Enable depth collision particles on Vulkan mobile
Change 4235489 by Uriel.Doyon
Removed r.DefaultFeature.PointLightUnits and r.DefaultFeature.SpotLightUnits and replaced them by a single r.DefaultFeature.LightUnits which also controls the units of newly placed rect lights.
#jira UE-59525
Change 4260154 by Mark.Satterthwaite
Parallelize the creation of Metal archives and libraries when they are broken up into smaller sub-libraries, this should reduce apparent cook time by going wide across threads on the host of the cooker.
Change 4270594 by Brian.Karis
Fix for textured rect light L pointing away from plane due to approximate diffuse integration.
Change 4273361 by Daniel.Wright
Particle Cutouts with 8 verts now always use stochastic approach. Circle textures with > 234 edges in the convex hull were overflowing the uint64 calculation of the total number of combinations, causing an infinite loop.
Change 4309174 by Mark.Satterthwaite
Graph device utilization from the driver monitor stats - really helps see how well the GPU is being used.
Change 4310121 by Matt.Collins
Optmizing RemoveUniformBuffersFromSource. Brings it from ~20% to ~1.5% in my testing.
#jira none
Change 4312960 by Daniel.Wright
Fix from Stephen Hill for incorrect light grid culling near the near plane
Change 4314169 by Richard.Wallis
FShaderCache and associated public structures are now marked as deprecated. All FShaderCache code hooks removed from MetalRHI, OpenGLDrv and engine Launch/Shutdown logic.
#jira none
Change 4320760 by Arne.Schober
DR - Remove SV_Coverage from basepass interpolants when running with Masked in early Depth with ForwardShading as otherwise earlyZ will be disabled (as the PS has to run).
#jira UE-60992
Change 4334607 by Uriel.Doyon
Added custom overrides to reset ULightComponent::Intensity to default (in FLightComponentDetails).
Now settings a light Intesity to default resets the brightness to the archetype brightness.
This handles correctly cases where the intensity units differs between the two objects.
Also changed FLocalLightComponentDetails so that changing intensity units kepts the same brightness
(by recomputing the Intensity).
#jira UE-61401
Change 4336188 by Rolando.Caloca
DR - Added -ReduceThreadUsage so programs can use less threads (for SCW )
Change 4337967 by Rolando.Caloca
DR - Remove unused RHISupportsShaderCompression function
#rb none
[CL 4358751 by Rolando Caloca in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3873313 by Nick.Atamas
Merging CL 3834212 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a
Merging CL 3805354, CL 3822769, CL 3827454, CL 3831789
//UE4/Partner-Google-VR/Engine/...
to //Tasks/UE4/Dev-VR-4.19a/Engine/...
Change 3873330 by Nick.Atamas
Merging CL 3835373 using //UE4/Dev-VR=>//Tasks/UE4/Dev-VR-4.19a
Merging CL 3777058
//UE4/Partner-Google-VR/Engine/...
to //Tasks/UE4/Dev-VR-4.19a/Engine/...
and fixing up QAARApp to work with latest ARCore changes.
Change 3873791 by Nick.Atamas
Merging //UE4/Dev-Main@3866324 to Dev-VR (//UE4/Dev-VR) to get missing files and fixing CIS.
Change 3933769 by Keli.Hlodversson
Remove unused IStereoRendering::GetCustomPresent
#jira UEVR-1083
Change 3935219 by Nick.Atamas
QAARApp re-write.
Change 3935664 by Mike.Beach
Oculus SI 1.23 changes
Change 3941505 by Joe.Graf
Made the send & recv buffer sizes for the BackChannel plugin configurable
Added send & recv counters for tracking the amount of transmission data
Change 3944003 by Joe.Graf
Added -buildscw to the CMake build command lines for editors to match what XCode is doing on Mac
Change 3945189 by Douglas.Copeland
Saving Material with Use w/ Static Lighting Flag set to resolve Engine warnings
Change 3945245 by Douglas.Copeland
Resaving QA_MeshTypes asset to resolve warnings produced by missing info
Change 3945266 by Douglas.Copeland
Updating TM-HMDNodes LevelBP WallofGets to use PxielDensity instead of ScreenPercentage. Resolving Engine warnings
Change 3947785 by Mike.Beach
Oculus changes to Android core count - only count usable cores not deadicated to the OS, etc.
Change 3951763 by Joe.Graf
Fixed thread ordering bug with remote session frame compression
Change 3952242 by Joe.Graf
Saved about 20-25% of the cpu time for compressing jpeg when performing the cpu swizzle
Change 3954571 by Keli.Hlodversson
* Add FXRRenderBridge base class containing common code from different CustomPresent implementations.
* Create a default implementation of UpdateViewportRHIBridge in FXRRenderTargetManager by adding GetActiveRenderBridge_GameThread.
** The default implementation now handles calling View->SetCustomPresent instead of making it up to the custom present (now XRRenderBridge) implementation (it already had to handle when the custom present was null.)
* Remove unused member variable ViewportRHI from RHICustomPresent.
#jira UEVR-1081
Change 3954572 by Keli.Hlodversson
* Apply XRRenderBridge and XRRenderTargetManager changes to the SteamVR plugin
* Move duplicated methods into an already existing BridgeBaseImpl class
#jira UEVR-592
Change 3954573 by Keli.Hlodversson
* Apply XRRenderBridge refactor to Oculus plugin
#jira UEVR-590
Change 3954575 by Keli.Hlodversson
* Apply XRRenderBridge refactor to OSVR
#jira UEVR-595
Change 3954578 by Keli.Hlodversson
* Apply XRRenderBridge refactor to GoogleVR
#jira UEVR-594
Change 3954596 by Keli.Hlodversson
Add file missing from cl#3954572
Change 3957882 by Jeff.Fisher
UEVR-1100 bLockToHmd false doesn't work correctly
-CameraComponent can now tell the LateUpdateManager to store, correctly buffered, the fact that we don't want to do late update this frame. DefaultXRCamera checks that flag before applying the late upate to the camera.
#jira UEVR-1100
#review-3956168
Change 3957945 by Jeff.Fisher
Fix for Oculus begin/end frame problem after XRRenderBridge refactor.
-The 'Frame' lifetime in the frame was not long enough, so it was null by the time GetActiveRenderBridge_GameThread was called. NextFrameToRender is the same value, but has a long enough lifetime.
#review-3957897
Change 3958760 by Dongsik.Seo
Adding UseCameraRotation feature to StereoPanorama plug-in.
To enable this feature, use console command
SP.UseCameraRotation 7
Simply add numbers to mark axis to use. 1 = Pitch, 2 = Yaw, 4 = Roll
7 means all axis (1+2+4)
#review-3958756 @Joe.Conley
Change 3959347 by Douglas.Copeland
Fixing spelling errors in test displays
Change 3964331 by Jason.Bestimt
Merging CL 3959979 from 4.19 to Dev-VR + uplugin change from CL 3954046
GoogleARCore Plugin fixes for Unreal 4.19.1 hotfix:
Fixed the crash in Acquire/Release UGoogleARCorePointCloud.
Fixed the issue that multiple line trace channel doesn't work correctly.
Fixed the issue the passthrough camera texture has blue and red channel swapped when building against gles 3.1
Fixed the issue that UGoogleARCorePointCloud::GetPoint doesn't return position in world space.
Change 3967485 by Ryan.Vance
Removed the exlude rect, we want to clear stencil on the entire surface.
Change 3968028 by Zak.Parrish
Nuking contents of existing FaceARSample, to be replaced by the one from Release-4.19.
Change 3968114 by Zak.Parrish
Adding in the new version of FaceARSample from Release-4.19 #rb none
Change 3978381 by Mike.Beach
Mirroring CL 3969503 from 4.19
Only triggering new Blueprint event, OnMotionControllerUpdated, from the game thread (causing a assert/crash when triggered from the render thread and the component has been destroyed on the main thread).
#jira UE-55445
Change 3981160 by Joe.Graf
Merged the BackChannel unit test fix over from Owl
Change 3981705 by Mike.Beach
[WIP] MR Calibration - Expose a config setting that will alter the tracking origin type used to calibrate (eye vs. floor).
#jira UE-55220
Change 3981898 by Joe.Graf
Added support for Apple hardware accelerated image conversion to JPEG, TIFF, PNG, and HEIF
Added a Blueprint latent action to perform the conversion in the background
Change 3981910 by Joe.Graf
WIP AR texture support so that other systems can interact with the camera data
Change 3982102 by Joe.Graf
Pull request: Update CMakefileGenerator.cs for CLion
Fixed an issue in the PR and added cleanup for the macro errors that result in FOO()= definitions
#jira: UE-57103
GitHub #4619
Change 3982883 by Joe.Graf
Added a CLionGenerator for consistency
Fixed editor preferred source code accessor parsing in the project file generator
Added code to detect the bad assumption of the project name always being UE4 and stripped that off in the CLionSourceCodeAccessor
#jira UE-54801
Change 3983687 by Joe.Graf
Fixed the lack of platform checks for adding a framework in the Apple image utils plugin causing a Switch compile error
Change 3984325 by Jeff.Fisher
UEVR-1141 PSVR - fix morpheus on pc render target scaling
-Hard coding the target size. Perhaps the old method broke with the pixel density change.
#review-3983261
Change 3984563 by Joe.Graf
Temporarily disabled ConvertToHEIF on Mac until the build machines are updated to XCode 9.3
Change 3985213 by Zak.Parrish
Removing a ton of excess art assets that were taking up lots of space and possibly throwing warnings. We weren't going to use them anyway. #rb none
Change 3985577 by Joe.Graf
WIP support for the Apple Vision API to perform computer vision tasks on images
Change 3985654 by Joe.Graf
Fixed missing forward declaration hidden by unity files
Change 3990596 by Mike.Beach
Adding a delegate for handling when the active XR system modifies the tracking space origin, and a API function for getting a transform between floor and eye space.
#jira UE-55220
Change 3990788 by Mike.Beach
Attempted CIS fix (fallout from CL 3990596)
Change 3990824 by Ryan.Vance
Re-submitting 4.19.1 hotfox 3968537
Change 3995804 by Jeff.Fisher
Merging cl 3995785
//UE4/Dev-VR-Seal/Engine/Source/...
to //UE4/Dev-VR/Engine/Source/...
UEVR-1148 bLockToHmd change breaking qagame entry level xr camera behavior
-Fixing late update when no camera component is in use.
-The camera component's bLockToHMD==false behavior is supposed to be that hmd motion is ignored, meaning we should not do a late update. This behavior is being applied TO the XRCamera system FROM the camera component, but the camera component can go away or be switched at any time. We want the default to be do apply hmd motion and late update, so disabling late update needs to be a positive setting applied each frame.
#review-3995764
Change 3999842 by Nick.Whiting
Exposing Apple ARKit function library as public for our buddies down under.
Change 4005541 by Joe.Graf
UE-57541 Blacklisted TVOS since it also defines PLATFORM_IOS as 1
#jira UE-57541
Change 4006308 by Jason.Bestimt
#DEV_VR - Hopeful fix for possible unity issue
Change 4006543 by Joe.Graf
Added code to be more correct on setting face blendshapes
Change 4007508 by Jason.Bestimt
#LUMIN - Adjusting automation tests.
- Moved QA specific content test into QA Game
- Wrapped controller not found to only happen on device
Change 4007515 by Jason.Bestimt
#LUMIN - Disabling privilege warning except on device
Change 4007552 by Jason.Bestimt
#LUMIN - Wrapping LuminTargetPlatform internals that require WITH_ENGINE
Change 4008585 by Joe.Graf
Added virtual curves for the head rotation information from the FaceAR's face tracking for streaming via LiveLink
#jira: UE-57830
Change 4008604 by Mike.Beach
MR - Making the chroma key material easier to customize & switch out. Updating the calibration to let you set whatever params you've exposed in the video processing material (removing hardcoded params for old chroma keying material).
#jira UEVR-1153
Change 4009396 by Jason.Bestimt
#DEV-VR - Removing warning about stat on different threads (CL 4009124)
Change 4009514 by Joe.Graf
Added a weighted moving average method to the modify curve anim node
Change 4010125 by Jason.Bestimt
#DEV-VR - Integrating 0.12 changes from Dev-VR-Seal to Dev-VR
Change 4010434 by Jason.Bestimt
#DEV-VR - Fix for Lumin Haptic Test include
Change 4010945 by Jeff.Fisher
QAHapticTests build fix
-removed unused bad include
Change 4011002 by Nick.Atamas
Fixed Android compilation.
Change 4011220 by Nick.Atamas
- Adding visualization for boundary polygons.
- Adding support for vertical planes.
Change 4011298 by Mike.Beach
MR - Revamping the VideoProcessing/ChromaKeying material so that it:
1) Better extracts luminance from the image
2) Utilizes despill to remove chroma bleed from the scene
3) Leverages the generated despill mask to add back in a faux bounce
#jira UEVR-1153
Change 4011858 by Keli.Hlodversson
Move ExecuteOn(RHI|Render)Thread from Oculus plugin into XRThreadUtils.{h|cpp} inside the HMD module
Use TFunction and TFunctionRef instead of std::function as arguments. (Depends on the changes in CL#3987166: Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.)
-- Ref for methods that guarantee the function has been invoked before returning, TFunction for *_NoWait, as the function may not get execured until later when RHI is in a separate thtread and not bypassed.
#jira UE-57380
Change 4011956 by Keli.Hlodversson
Fix missing includes after CL#4011858
Change 4012096 by Joe.Graf
Disabled building AppleVision on Mac until there's a good solution for older Mac OSes
Change 4012294 by Jason.Bestimt
#DEV-VR - Adding dependency on LuminRuntimeSettings to MagicLeap module. Hopefully, this will fix the generated files not being found
Change 4012390 by Jason.Bestimt
#DEV-VR - Misc fixes for static code analysis issues
- Guards around GEngine usage
- Fix from Rolando for uint32 -> uint64 + shifting warning
- Redundant if checks
Change 4013426 by Jason.Bestimt
#DEV-VR - Guarding RestoreBaseProfile so we don't crash on exit
#JIRA: UE-57960
Change 4014661 by Ryan.Vance
Initial support for omni-directional stereo captures.
https://developers.google.com/vr/jump/rendering-ods-content.pdf
Change 4015561 by Jason.Bestimt
#DEV-VR - Moving MLSDK out of thirdparty directory to fix static code analysis issue
Change 4016202 by Jason.Bestimt
#DEV-VR - Integrated CL 2685 from Seal depot
#JIRA: UEVR-1157
Change 4016448 by Jason.Bestimt
#DEV-VR - Adding LuminRuntimeSettings as dependent modules for anything that references the MLSDK
Change 4016457 by Ryan.Vance
#jira UE-58018
Cleaning up compiler errors/warnings.
Change 4017246 by Jason.Bestimt
#DEV-VR - Potential fix for UE-58043 where metal asserts that it should be in the render thread rather than either the render thread OR RHI Thread
#JIRA: UE-58043
Change 4018571 by Joe.Graf
Added a remapping of curve values in a range to the modify curve anim node
Change 4018991 by Joe.Graf
Wrapped vertical plane detection in a if iOS 11.3 check since ARKit 1.5 is only availabe from 11.3 on
#jira: UE-57999
Change 4019068 by Joe.Graf
Changed how Apple Vision support is enabled in code
#jira: UE-57552
Change 4019194 by Joe.Graf
Added a console command to change where Face AR is publishing LiveLink curve data "LiveLinkFaceAR SendTo=192.168.1.1"
Change 4019648 by Keli.Hlodversson
Work around build failures caused by missing virtual destructor warnings.
Reverting back to Oculus' original method of implementing own RHICommand wrapper around TFunctions and TFunctionRefs (using overloaded inline functions and templates to reduce code duplication.)
Change 4019871 by Joe.Graf
Changed the __IPHONE_11_3 to the raw numeric value
Change 4020121 by Keli.Hlodversson
Fix parameter types to match header declarations.
Change 4020127 by Keli.Hlodversson
Remove dllimport/export macros from cpp file.
Change 4020621 by Joe.Graf
Wrapped the Apple ARKit plane geometry building in a #if IOS_11_3 check
Change 4020910 by Joe.Graf
Refactored how ARKit support #define to make it easy to wrap individual features by ARKit version
Change 4020952 by Joe.Graf
Added checks to make sure PLATFORM_IOS and PLATFORM_TVOS are defined to 0 on non-Apple platforms when checking for ARKit
Change 4021116 by Jason.Bestimt
#DEV-VR - Integrating CL 4005915 from Dev-Core to remove plugin modules that aren't supported on target platform
Change 4021320 by Joe.Graf
Fixed warnings resulting from unity builds hiding them
Change 4021738 by Chad.Garyet
- adding lumin filters
- changing defaults for platforms back to true, this was brought over erroneously.
#jira none
#ROBOMERGE: Dogma, Nightlies
Change 4021898 by Chad.Garyet
added missing bits from the ue4main script
#jira none
#ROBOMERGE: Dogma, Nightlies
Change 4022583 by Joe.Graf
Added functions for checking ARKit version availability at runtime
Change 4022610 by Joe.Graf
Added checks for ARKit 1.0 availability when creating the AR session to prevent calling invalid selectors on older iOSes
Change 4022616 by Joe.Graf
Added support for enabling the ARKit 1.5 autofocus setting
Change 4022650 by Joe.Graf
Defaulted autofocus for AR to on
Change 4023026 by Joe.Graf
Changed the ARKit video overlay to use the new availability api
Change 4023124 by Joe.Graf
Switched another version check in the ARKit overlay code to use the faster version
Change 4023489 by Ethan.Geller
[Dev-VR] #jira none fix AudioMixerModuleName for Lumin. #fyi nick.whiting, jason.bestimt
Change 4023995 by Nick.Atamas
Properly deprecated the bitfield for plane detection mode.
#jira UE-57842
Change 4024992 by Jason.Bestimt
#DEV-VR - Adding SupportPlatforms to MagicLeapAnalytics plugin
Change 4025702 by Jason.Bestimt
#DEV-VR - Fix for loading ML libraries even when the MLSDK is not present
#JIRA: UE-58033
Change 4026639 by Mike.Beach
Removing innocuous Oculus error that did not match up with the rest of the code - it is handled/acceptable when Frame_RenderThread has been reset.
#jira UE-58001
Change 4026949 by Mike.Beach
MR - Making a few fixes to the lens undistortion and how it interacts with the MRC component...
- Switching to a 16bit displacement map instead of a 32bit UV map (updating the materials accordingly)
- Using the OpenCV focal ratio to scale the aspect ratio to avoid stretching from the undistortion
- Adding CVar commands to enable/disable pieces of the undistortion
- Changing the default undistortion cropping to be uncropped
- Removing the need for the 'EnableMapping' material parameter
#jira UE-55195
Change 4027147 by Jason.Bestimt
#DEV-VR - Fix for UE-58043 (more call sites where it should be Render OR RHI thread)
#JIRA: UE-58043
Change 4027301 by Mike.Beach
Updating the MRCalibration project's ini so it doesn't error on packaging.
Change 4027469 by Mike.Beach
MR Calibration - Setting StartInVR to true, so when we package the app, we don't have to manually enable it.
Change 4027957 by Mike.Beach
As part of renaming the MR plugin, first renaming the root folder to be MixedRealityCaptureFramework.
#jira UE-57782
Change 4029182 by Keli.Hlodversson
Revert back to not enqueuing RHI tasks when RHI is not on a separate thread. Oculus code depends on being able to call ExecuteOnRHIThread from code potentially called from within other calls to ExecuteOnRHIThread.
#jira UE-58079
Change 4029687 by Dragan.Jerosimovic
Boy rig and pose asset mb files, maps and masks
Change 4030059 by Mike.Beach
As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureFramework.
#jira UE-57782
Change 4030296 by Charles.Egenbacher
#LUMIN Copying from Dev-Incoming-Staging to Dev-VR
Change 4030593 by Jason.Bestimt
#DEV-VR - Merging olaf test maps to Dev-VR
Change 4031042 by Keli.Hlodversson
Allow executing ExecuteOnRHIThread* on the RHI thread. Enables simplifying destructors that can either be invoked on the RHI or Render thread.
#jira UE-58239
Change 4031046 by Keli.Hlodversson
Use the new XRThreadUtils functions in the HMD module for executing tasks on the RHI thread
#jira UE-58238
Change 4032593 by Mike.Beach
As part of renaming the MR plugin, renaming the inner module to be MixedRealityCaptureCalibration.
#jira UE-57782
Change 4033911 by Jason.Bestimt
#DEV-VR - Fix to LuminToolChain to allow it use a custom strip executable (android instead of gcc)
Change 4034087 by Mike.Beach
Renaming the MR plugin to be the 'MixedRealityCaptureFramework' plugin.
#jira UE-57782
Change 4034253 by Joe.Graf
Made the Apple Vision plugin use version checking consistent with ARKit
Change 4034543 by Joe.Graf
Added availability checks for the Apple Image Utils plugin similar to ARKit
#jira: UE-57541
Change 4034548 by Joe.Graf
Fixed the implicit conversion in the head rotation curves from the face ar feed causing the values to be 0
Change 4034577 by Jason.Bestimt
#DEV-VR - Removing MAC Custom Metal present (fixes Mac with -game rendering all black)
Change 4034605 by zak.parrish
Checking in test case for head rotation tracking - minor temporary change to AnimBP #rb none
Change 4034686 by Jason.Bestimt
#DEV-VR - Integrating (most of) CL 3980919 to disable instances of deprecation warnings caused by building for ios11
#JIRA: UE-58046
Change 4034799 by Joe.Graf
Added base types for detecting images in a AR session
Change 4034820 by Joe.Graf
Added a friendly name to UARCandidateImage objects
Change 4035010 by Joe.Graf
Added support for handling ARImageAnchor notifications from ARKit
Change 4035355 by Mike.Beach
[WIP] MR - Renaming some classes to reflect the plugin's new name.
#jira UE-57782
Change 4035464 by Joe.Graf
Added orientation to the ARCandidateImage object to pass to the detection system
Change 4035524 by Mike.Beach
[WIP] MR - More renaming of some classes to better match the plugin's new name.
#jira UE-57782
Change 4035606 by Mike.Beach
[WIP] MR - More renaming of some classes to better match the plugin's new name.
#jira UE-57782
Change 4035918 by Mike.Beach
[WIP] MR - Renaming the MrcFramework module's source files to better match the plugin's new name.
#jira UE-57782
Change 4035976 by Mike.Beach
[WIP] MR - Renaming some more files and classes to better match the MRC framework's new name.
#jira UE-57782
Change 4036044 by Ryan.Vance
#jira UEVR-377
Adding support for ISR Translucency.
Change 4036069 by Ryan.Vance
We can remove the last word PrimitiveVisibilityMap masking for ISR since the maps are always the same size between views.
Change 4036073 by Chance.Ivey
Fixed select blocks on LuminSamplePawn and GesturesAndTotem map to reflect recent changes. Fixes #JIRA UE-58328 #rb none
Change 4036307 by Mike.Beach
[WIP] MR - Renaming the MRC calibration files to better match the MRC framework's new name.
#jira UE-57782
Change 4036314 by Mike.Beach
[WIP] MR - Renaming some more calibration classes to better match the MRC framework's new name.
#jira UE-57782
Change 4036319 by Charles.Egenbacher
#LUMIN this is an out-of-date version of the lumin sample. Nuking.
Change 4036396 by Charles.Egenbacher
#LUMIN Adding the up to date version of the LuminSample.
Change 4036485 by Sorin.Gradinaru
UE-57773 Disable Thermals Message
#4.20
#iOS
Add in the Remote Session App BP an Execute Console Command node immediately after Event Begin Play, disabling all on-screen messages, for all builds.
Change 4036695 by Jason.Bestimt
#DEV-VR - Adding Lumin case to PrecompileTargetType check
Change 4037110 by Jason.Bestimt
#DEV-VR - Extra deprecated macro guards around HarfBuzz includes
#JIRA: UE-58046
Change 4037443 by Jason.Bestimt
#DEV-VR - Merging CL 4028003 from Partners-Google
Change 4037490 by Jason.Bestimt
#DEV-VR - Integrating CL 4028922 from Partners-Google (+ assignment guarding)
Change 4037691 by Jason.Bestimt
#DEV-VR - Swapping order of comparrison operator to deal with const error
Change 4037892 by Joe.Graf
Added UTexture2D to CGImage conversion in Apple Image Utils plugin
Change 4037894 by Joe.Graf
Changed the name of a property to make it clearer as to what it is and to have fewer things named similar in the same system
Change 4037901 by Joe.Graf
Added support for configuring which images you'd like detected during a AR session
Change 4037906 by Jason.Bestimt
#DEV-VR - Fixing buckled logic for =operator (derp)
Change 4038293 by Mike.Beach
[WIP] MR - Moving the calibration setup/level/content into its own project, and out of the MR plugin.
#jira UE-57782
Change 4038403 by Joe.Graf
Added the name from the candidate image when creating the Apple side representation
Change 4038488 by Mike.Beach
[WIP] MR Calibration - Moving calibration specific files to the MRCalibration project, out of the plugin (followup to CL 4038293). This makes the MRCalibration project a code project now.
#jira UE-57782
Change 4038776 by Chance.Ivey
Updates to Fix for Gestures change. Affects #JIRA UE-58328, though other non-content issues may cause packaging to fail #rb none #fyi Nick.Whiting
Change 4038877 by Mike.Beach
[WIP] MR - Renaming assets to better match the new plugin name.
#jira UE-57782
Change 4039097 by Joe.Graf
Fixed the public include path warnings in the Apple* plugins I added
Change 4039106 by Joe.Graf
Worked around a bad compile time assert that blocked valid FString::Printf debug code
Change 4039209 by Jeff.Fisher
Fixing one build script paths
Change 4039275 by Jeff.Fisher
More include path fixes.
Change 4039415 by Joe.Graf
Added support for remote session sending AR camera image data to be rendered on the host like we do for AR on device
Change 4039471 by Joe.Graf
Added a file I missed when adding to the remote session plugin
Change 4039473 by Joe.Graf
#ifdef-ed some code out until the linkage can be fixed
Change 4040249 by Mike.Beach
[WIP] MR - Moving some more asset files that aren't needed for the MRC plugin
#jira UE-57782
Change 4040365 by Mike.Beach
Fixing a compiler issue in the MRCalibration project, since moving MRC files there (WITH_OPENCV is not defined for the project).
#jira UE-57782
Change 4040455 by Mike.Beach
Moving the few remaining methods that were calibration specific, sprinkled through the MRC plugin.
#jira UE-57782
Change 4041404 by Mike.Beach
Fixing an issue with BP async nodes - making it so their wrapped function can be renamed and redirected.
Change 4041406 by Mike.Beach
MR - Splitting the Mrc video util library so that the BP functions needed for calibration aren't exposed to users.
#jira UE-57782
Change 4042110 by Jason.Bestimt
#DEV-VR - Stopping spew for ML eye tracking when not on platform
#JIRA: UE-58365
Change 4042407 by Joe.Graf
Disabled HEIF compression on Mac
#jira: UE-58479
Change 4042727 by Jason.Bestimt
#DEV-VR - Fix for Android compiling without version 24
Change 4042861 by Olaf.Piesche
#jira UE-57784
Change 4043105 by Mike.Beach
Exposing a way for programmers to strip save game headers from save data, and get to the tagged object serialization portion.
#jira UE-58389
Change 4043120 by Mike.Beach
MR - Loading the base save data, even if we're unable to fully construct the original save object class.
#jira UE-58389
Change 4043401 by Mike.Beach
New Oculus poke-a-hole material, in support on SI 1.25. Checking in to alleviate QA contention for testing the rest of SI 1.25.
#jira UEVR-1143
Change 4043424 by Mike.Beach
Oculus SI 1.24/1.25 - Engine rendering changes
#jira UEVR-1143
Change 4043495 by Mike.Beach
CIS fix - Missing files needed for the Oculus SI 1.24/25 Vulkan changes.
#jira UEVR-1143
Change 4043642 by Zak.Parrish
Changes to FaceARSample: added in support for JoeG's smoothing algorithm, also refactored calibration to use the new Modify Curves node. Added some more comments to the AnimBp to make it easier to read. #rb none
Change 4045638 by Zak.Parrish
Some minor updates to FaceARSample content. Mostly refactoring for new ModifyCurve stuff.
Change 4046003 by Jason.Bestimt
#DEV-VR - Fix for bEnableAlphaChannelInPostProcessing reading in as false for LuminSample
bEnableAlphaChannelInPostProcessing translates to r.PostProcessing.PropagateAlpha in ini files
#JIRA: UE-58523
Change 4046548 by Jules.Blok
Fix SetInstancedEyeIndex() ignoring the left eye.
#jira UE-54044
Change 4046859 by zak.parrish
Checking in the new rig from 3Lateral - this prevents the eyelashes from separating
Change 4047060 by Nick.Whiting
Wrapping -norhithread in PLATFORM_LUMIN to prevent the ML plugin from always disabling RHI threading.
#jira UEVR-1192
Change 4047667 by Mike.Beach
CIS fix - removing uneeded line from bad merge.
Change 4047673 by Mike.Beach
More CIS fixes for fallout from recent rendering merge.
Change 4048227 by Rolando.Caloca
VR - vk - Some Vulkan merge conflicts resolved
Change 4048421 by Jason.Bestimt
#DEV-VR - Converting OwnerName to EventName in UpdateSceneCaptureContent_RenderThread call
Change 4048423 by Jason.Bestimt
#DEV-VR - Fixing mediandk version check
Change 4048452 by Rolando.Caloca
VR - Merge fix
Change 4048530 by Rolando.Caloca
VR - Merge fix
Change 4048607 by Jason.Bestimt
#DEV-VR - Probable repair of Mr Mesh post merge
Change 4048794 by Rolando.Caloca
VK - Fix mobile from merge
Change 4048972 by Jeff.Fisher
Fixing MeshReconstructor merge problems.
Change 4049969 by Ryan.Vance
Fixing missing shader assert.
Change 4050831 by Ryan.Vance
Merge clean up. This is still needed to build w/ vulkan on Lumin.
Change 4050854 by Ryan.Vance
Merge clean up.
We need GetAllocationHandle for the ML Vulkan custom present sRGB workaround.
Change 4051495 by Jason.Bestimt
#DEV-VR - Adding Android, Quail, Linux vulkan include clauses
Change 4052528 by Zak.Parrish
Changing defaultEngine.ini for the higher res version of Gremlin
Change 4052880 by Ryan.Vance
Merge clean up.
Now with more Lumin
#jira UE-58645
Change 4052991 by zak.parrish
Update to FaceTrackingMap2 for proper camera positioning
Change 4053139 by Nick.Whiting
Fixing Lumin Vulkan platform header
Change 4053352 by Mike.Beach
On PC (in editor), not enabling ML stereo by default. Waiting for it to be enable by the EnableStereo() call (like we do for Oculus/SteamVR).
#jira UE-57991
Change 4053644 by Nick.Whiting
Fix for build break by wrapping bStereoDesired in !PLATFORM_LUMIN
Change 4054329 by Jason.Bestimt
#DEV-VR - Resave of GoogleARCorePassthroughCameraMaterial.uasset
#JIRA: UE-58689
Change 4054785 by Mike.Beach
Fixing a MRCalibration BP compilation error from the latest merge - was using a deprecated variable which was no longer exposed to BPs.
Change 4055466 by Jules.Blok
Suppress SteamVR submission errors after they've been logged once.
Change 4055500 by Jason.Bestimt
#DEV-VR - MrMeshComponent fix for unsupported pixel format
#JIRA: UE-58759
Change 4055761 by Ryan.Vance
#jira UE-58729
There's a single frame where the TLV textures are not initialized when using FCanvasTileRendererItem on startup.
Change 4056008 by Mike.Beach
Fixing bad merge from Main.
Change 4056616 by Nick.Whiting
Changing UBT configs to use Lumin-specific config files
#jira UE-58760
Change 4056969 by Keli.Hlodversson
MRCalibration: Set r.SceneRenderTargetResizeMethod to "Grow" to avoid cycling the scene render target size on every frame causing a flicker
#jira UE-58191
Change 4057356 by Jason.Bestimt
#DEV-VR - Guard around JNI function for Lumin
Change 4059353 by Nick.Whiting
Fix for shadow variable warnings on Linux
#jira UE-58843
Change 4060158 by Rolando.Caloca
DVR - vk - Temporarily add backbuffer delay/extra copy blit on android
#jira UE-58859
Change 4060432 by Mike.Beach
Fix for shadow variable warnings on Linux
#jira UE-58843
Change 4060520 by Rolando.Caloca
VR - Proper fix for r.Vulkan.DelayAcquireBackBuffer=0
- Restore Android to not delay
#jira UE-58859
Change 4060587 by Nick.Whiting
Fix for minimum iOS version being set to iOS 8 on MRCalibration, which was causing CIS warnings
#jira UE-58762
Change 4061277 by Jeff.Fisher
UE-58861 //UE4/Dev-VR - Compile UE4Game Lumin - ERROR: MLSDK is not specified; cannot use Lumin toolchain.
-Overriding HasAnySDK to setup the MLSDK.
Change 4061308 by Jason.Bestimt
#DEV-VR - Work around of UE-58864 crashing when mousing over project launcher with only a Lumin device plugged in
#JIRA: UE-58864
Change 4062111 by Ryan.Vance
#jira UE-58875
Fixing audio compilation failure.
Change 4064091 by Jason.Bestimt
#DEV-VR - Disabling ML Plugin with the editor when bIsVDZIEnabled is off
#JIRA: UE-58954
Change 4064554 by Jason.Bestimt
#DEV-VR - Removing ML haptic tests when not on the platform
#JIRA: UE-58966
Change 4064755 by Jeff.Fisher
UE-58970 Dev-VR - Incremental UE4Editor Linux - Referenced directory 'D:\Build\AutoSDK\HostWin64\Lumin\0.12\lib\linux64' does not exist.
-Removed linux from magicleap plugin whitelists, we have no sdk for linux.
#review-4064614
#jira UE-58970
[CL 4064889 by Mike Beach in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3623004 by Ben.Marsh
Fix RemoteExecutor not taking the remote machine specs into account.
Change 3623172 by Ben.Marsh
UGS: Fix "More Info..." button not using P4 server override.
Change 3628820 by Ben.Marsh
PR #3979: Get working directory from task element, not tool node (Contributed by nullbus)
Change 3630424 by Graeme.Thornton
Make the AES key parameter const in FAES::EncryptData()
Change 3632786 by Steve.Robb
FString constructor fixed to not take an ignored void* parameter, which can be misleading.
Change 3639534 by Ben.Marsh
Remove old P4.NET library. Doesn't seem to be used by anything.
Change 3640536 by Steve.Robb
GitHub #4007 : Delete unnecessary specialization of MakeArrayView
#jira UE-49617
Change 3641155 by Gil.Gribb
UE4 - Speculative fix for problem with summary reading in FAsyncArchive2.
Change 3643932 by Ben.Marsh
Add an example build script for updating the version number, then compiling and staging the editor and tools to an output directory. Optionally submits at the end (requires -Submit argument).
Change 3644825 by Ben.Marsh
Use VSWHERE to find the location of MsBuild.exe, if available.
https://github.com/EpicGames/UnrealEngine/pull/3879#issuecomment-329688645
Change 3647395 by Ben.Marsh
Allow compiling of monolithic binaries from BuildEditorAndTools.xml, using the -set:GameTarget=FooGame -set:TargetPlatforms=Win32;Win64 options.
Change 3650300 by Ben.Marsh
UAT: Remove code that deletes cooked data on a failed cook. The engine should write packages out transactionally now (by writing to a temporary file and moving into place), and deleting the cooked data just prevents post-mortem analysis.
Change 3650856 by Robert.Manuszewski
Adding checks to prevent FlushAsyncLoading and LoadObject/LoadPackage from being called from any threads other than the game thread
Change 3651022 by Gil.Gribb
UE4 - Possible fix for mysterious ensure indicating problematic recursion in the pak precacher.
Change 3658331 by Steve.Robb
Fix for the parsing of large integer values.
Change 3661958 by Gil.Gribb
UE4 - Fixed rare hang in task graph.
Change 3664021 by Robert.Manuszewski
Fix for a potential GC crash caused by stale pointer in AnimInstanceProxy
See https://udn.unrealengine.com/questions/392432/gc-issue-uaniminstancemontageinstances-empty-but-u.html
Change 3664254 by Steve.Robb
Use ANSI allocator when thread sanitizer is enabled. This allows the generation of more accurate and meaningful reports.
Change 3664436 by Steve.Robb
Use TUniquePtr instead of a thread-unsafe TSharedPtr to move data between threads.
Change 3666461 by Graeme.Thornton
Improvements to signing/encryption key embedding and runtime access
- Changed method of embedding key into the executable to make it more secure
- Added FAESKey class to wrap a 32 byte key
Change 3666462 by Graeme.Thornton
Cut ShooterGame AES key down to 32 characters
Change 3677560 by Ben.Marsh
PR #4074: UBT: Add include and library-related fields to module JSON output (Contributed by adamrehn)
Change 3683534 by Steve.Robb
Refactoring of enum/struct lookup during hot reload.
Change 3683754 by Steve.Robb
Alignment fixes to allow int64 on 32-bit platforms
Support for integral types in IsAligned.
Static asserts so that alignment functions will no longer be called with non-intergal, non-pointer types.
Some fixes to existing code.
Change 3686670 by Steve.Robb
Fix for thread-unsafe modification of static array in FString::ParseIntoArrayWS.
Change 3687540 by Ben.Marsh
Fix all UBT/UAT output going to stderr rather than stdout.
Change 3688931 by Gil.Gribb
UE4 - Critical fix for a rare race condition in the pak file async IO layer.
Change 3690000 by Graeme.Thornton
Manual copy of 4.18 CL 3687869
Make UBT include the destination INI file for a given hierarchy if it exists
Renamed VSCode enum value to VisualStudioCode, so it matches the source accessor plugin name
Change 3690030 by Graeme.Thornton
VSCode fixes
- Source Code Accessor plugin changes. Add new interface method to open a solution at a given path
- GameProjectUtils now uses the source navigation API to open solutions rather than hardcoding which solution file types to look for
- Various fixes for vscode project file generation
#jira UE-50554
Change 3690885 by Steve.Robb
Atomic reads in FReferenceControllerOps<ESPMode::ThreadSafe>.
Change 3691052 by Steve.Robb
Free stats thread on shutdown.
Change 3695138 by Steve.Robb
AsConst helper function added.
Change 3696627 by James.Hopkin
Changed player controller iterator typedefs to use TWeakObjectPtr rather than the deprecated TAutoWeakObjectPtr
(review-3606695)
Change 3697099 by Steve.Robb
GitHub #4105 : Removed redundant class access modifier
Change 3697154 by Steve.Robb
Removal of deprecated functions in delegates.
Mutable lambdas to can now be bound to delegates.
Change 3697180 by Steve.Robb
GitHub #4115 : Incorrect CPPMacroType used for USoftClassProperty
Change 3697239 by Steve.Robb
Allow TArray::Insert to take an array with any allocator type.
Change 3697269 by Steve.Robb
RelocateConstructItems instead of MoveConstructItems.
Change 3697558 by Steve.Robb
New _GetRef functions for TArray, which return a reference to the newly-added element.
Unit tests for these functions.
Change 3699776 by Steve.Robb
TSAN warning suppression around IAsyncReadRequest::bCompleteAndCallbackCalled.
Change 3702397 by Steve.Robb
TIsTrivial type trait.
Change 3702569 by Steve.Robb
Allow a TGuardValue to be assigned to a different type from the one being guarded.
Change 3706644 by Robert.Manuszewski
Different stack ingore count for development builds for FArchiveStackTrace
Change 3709272 by Steve.Robb
Removal of redundant UpdateVertices, which causes a race condition on the renderer thread.
Change 3709452 by Robert.Manuszewski
Fixed a bug where with async time limit set to a low value the async loading could hang because the linker would keep reloading the preload dependencies
Change 3709454 by Robert.Manuszewski
Added command line option -NOEDL to disable EDL
Change 3709487 by Steve.Robb
Remove use of PLATFORM_HAS_64BIT_ATOMICS, which is always 1.
Change 3709645 by Ben.Marsh
Fix race condition between multiple instances of UBT trying to write out the XML config cache.
Change 3711193 by Ben.Marsh
Add an editor setting for the shared DDC location to use.
#jira UE-51487
Change 3713811 by Steve.Robb
Update .modules files after a hot reload.
Don't check for directory timestamp changes as a way of detecting new files if hot reloading with a makefile, as this is already done during makefile invalidation checks.
Pass hotreload flags around in UBT instead of relying on global state.
This fixes the hot reload iteration speed regression without also regressing the fix to UE-42205.
#jira UE-51472
Change 3715654 by Steve.Robb
GitHub #4156 : Fixed not compiling template function Algo::UpperBoundBy.
Change 3718782 by Steve.Robb
TSharedPtr, TSharedRef and TWeakPtr assignment are now implemented as copy-and-swap to avoid an invalid smart pointer state being visible to any destructors being called.
Change 3720830 by Steve.Robb
Initial import of TAtomic object wrapper, which guarantees atomic access to an object.
Change 3720881 by Steve.Robb
FCompression ThreadSanitizer data race fixes.
Change 3722640 by Graeme.Thornton
Guard network platform file heartbeat function with the socket critical section. Stop heartbeat from causing a crash when firing during async loading.
#jira UE-51463
Change 3722655 by Steve.Robb
Don't null name table because it's already zeroed at startup.
Some tidy-ups.
Change 3722754 by Steve.Robb
Thread sanitizer fix.
Small typo fix.
Change 3722849 by Graeme.Thornton
Improve "caching file" message in networkplatformfile so it says "Requesting file..." and is only output when we actually request the file from the server
Change 3723081 by Steve.Robb
TAtomic is now aligned to the underlying integer type.
TAtomic will now static assert with a better error message when given an unsupported type.
Define added for the maximum platform-supported atomic type, and used instead of a (wrong) hardcoded number.
Misc renames.
Change 3723270 by Ben.Marsh
Include /d2cgsummary argument when running UBT with -Timing.
Change 3723683 by Ben.Marsh
Do not include documentation in the generated project files by default. Suspect that the 30,000 UDN files that get added to the solution take up memory and degrate performance.
Change 3725422 by Robert.Manuszewski
When serializing compressed archive with multithreaded compression enabled, wait for the oldest async task instead of spinning.
Change 3725735 by Robert.Manuszewski
Making all CheckDefaultSubobjects related functions const
Change 3726167 by Steve.Robb
FMinimalName::IsNone added.
Change 3726458 by Steve.Robb
TAtomic will no longer instantiate for types which are not exactly a size supported by the platform layer.
Change 3726542 by Ben.Marsh
UGS: Always include the project filename in the editor build command. The project may not be in one of the .uprojectdirs paths.
Change 3726595 by Ben.Marsh
Allow building multiple game targets in the example BuildEditorAndTools.xml script.
Change 3726724 by Ben.Marsh
Fix ambiguities in calculating root directory. (GitHub #4172)
Change 3726959 by Ben.Marsh
Make sure that AutomationTool uses the same list of preprocessor definitions when compiling *.target.cs files as UnrealBuildTool does.
Change 3728437 by Steve.Robb
VisitTupleElements now supports invocation of a functor taking arguments from multiple tuples in parallel.
Some improved documentation.
NOTE: This is a backward-incompatible change to VisitTupleElements. Any existing calls will need their arguments swapping.
Change 3732262 by Gil.Gribb
UE4 - Fixed rare hangs in the task graph.
Change 3732755 by Steve.Robb
Stats TSAN fixes.
Optimizations to FCycleCounter::Start() to only read the stat name once.
Change 3735000 by Robert.Manuszewski
Always preload the AssetRegistry module on startup. even if EDL is disabled.
Even without EDL, if the async loading thread is enabled the AssetRegistryModule will otherwise be loaded from the ASL thread and that will assert.
Change 3735292 by Robert.Manuszewski
Made sure component visualizer is removed from VisualizersForSelection when UnregisterComponentVisualizer() is called otherwise it may cause crashes when the engine terminates.
Change 3735332 by Steve.Robb
Refactoring of UDelegateProperty::Identical() to clarify logic.
Fixed UMulticastDelegateProperty::Identical() to compare the bound function names.
PPF_DeltaComparison removed, as it doesn't seem useful.
Change 3737960 by Graeme.Thornton
VSCode - Add launch task for generating project files for the given folder
Change 3738398 by Graeme.Thornton
Make Visual Studio source code accessor's module hotreload handler pass the 'save all files' message to the current accesor, rather than direct to the visual studio accessor
#jira UE-51451
Change 3738405 by Graeme.Thornton
VSCode: Format c/cpp settings strings using comment path formatting function
Change 3738928 by Steve.Robb
Fix for lack of null conditional operators in some older Monos. (replicated from CL# 3729574 in Release-4.18)
#jira UE-51842
Change 3739135 by Ben.Marsh
Fix being unable to package projects in a folder called "Wolf". This is only a restricted folder for Epic's Perforce history.
#jira UE-51855
Change 3739360 by Ben.Marsh
UAT: Fix issue with P4PORT setting not being parsed correctly.
Change 3745959 by James.Hopkin
#core Added ImplicitConv for safe upcasts to a specific required type, e.g. deduced delegate payload types
Change 3746125 by Steve.Robb
FName ThreadSanitizer fixes.
Change 3747274 by Steve.Robb
TSAN fix for FMediaTicker::Stopping.
Change 3747618 by Steve.Robb
ThreadSanitizer data race fix for FShaderCompileThreadRunnableBase::bForceFinish.
Change 3747720 by Steve.Robb
ThreadSanitizer fix for FMessageRouter::Stopping.
Change 3749207 by Graeme.Thornton
First pass of CryptoKeys plugin. Allows creation/editing/cycling of AES/RSA keys.
Change 3749323 by Graeme.Thornton
Fix UAT crash when only -targetplatform is specifiied
Change 3749349 by Steve.Robb
TSAN_SAFE guards around LockFreeList to silence ThreadSanitizer.
Change 3749617 by Steve.Robb
Logf static_assert for formatting string enabled.
Change 3749897 by Steve.Robb
FDebug::LogAssertFailedMessage static assert for formatting string enabled.
Change 3754011 by Steve.Robb
Static asserts that the allocator supports move.
Move-enabled our allocators which don't support move.
Change 3754227 by Ben.Marsh
Fix build command line in generated projects missing a space before the compiler version override.
#jira UE-52226
Change 3754562 by Ben.Marsh
PR #4206: Replace deprecated wsprintf with secure swprintf for Bootstrap executable (Contributed by jessicafalk)
Change 3755616 by Graeme.Thornton
Runtime code for using the new crypto ini files to define signing/encryption keys
#jira UE-46580
Change 3755666 by James.Hopkin
Used ImplicitConv to remove Casts being used for up-casts
#review-3745965
Change 3755671 by Graeme.Thornton
Add log message in unrealpak to say which config file system it is using for crypto keys
Change 3755672 by Graeme.Thornton
Updating ShooterGame with new CryptoKeys based security setup
Change 3756778 by Ben.Marsh
Add support for running multiple jobs simultaneously on a single builder.
When running job or agent setup, the --num-slots=X parameter defines the number of steps that can run simultaneously (EC procedures pass in the resource step limit). A lock file is created under the workspace root (D:\Build) and a reservation file is created for the first slot that can be allocated (slot-1, slot-2, etc...). The slot number is used to define the workspace name that should be used.
Change 3758498 by Ben.Marsh
Re-throw exceptions when a file cannot be deleted when cleaning a target.
Change 3758921 by Steve.Robb
ThreadSanitizer fix to FThreadSafeStaticStatBase::HighPerformanceEnable to do a relaxed atomic load on access.
DoSetup() now returns the newly-allocated pointer, instead of reloading it from memory.
Change 3760599 by Graeme.Thornton
Added missing epic header comment to some new source files
Change 3760642 by Steve.Robb
ThreadSanitizer fix for concurrent access to GMainThreadBlockedOnRenderThread.
Change 3760669 by Graeme.Thornton
Improvement to OpenSSL based signing key generator. Generate a full RSA key then steal the primes from it, rather than generating the primes manually.
Added a test mode to the cryptokeys commandlet to test signing key generation
Change 3760711 by Steve.Robb
ThreadSanitizer fixes to GIsRenderingThreadSuspended.
Change 3760739 by Steve.Robb
ThreadSanitizer fix for FQueuedThread::TimeToDie.
Change 3760763 by Steve.Robb
ThreadSanitizer fix for GRunRenderingThreadHeartbeat.
Removal of unnecessary/dangerous initializer for GMainThreadBlockedOnRenderThread.
Change 3760793 by Steve.Robb
Some simple refactoring to remove some volatile reads of BufferStartPos and BufferEndPos.
Change 3760817 by Steve.Robb
ThreadSanitizer fixes for FAsyncWriter::BufferStartPos and BufferEndPos.
Change 3761331 by Josh.Engebretson
UnrealBuildTool enforcement of Development and Debug configurations in existing .csproj
#jira UE-52416
Change 3761521 by Steve.Robb
ThreadSanitizer fixes for FEvent::EventStartCycles and EventUniqueId.
Change 3763117 by Graeme.Thornton
PR #3722: Optimising FPaths::IsRelative() (Contributed by jovisgCL)
Change 3763358 by Graeme.Thornton
Ensure that all branches within FGenericPlatformMisc::RootDir() produce an absolute path with no duplicate slashes
Remove relative->abs conversion of root dir from FPaths::MakeStandardFilename(), now that we know RootDir() always returns an absolute path
Derived from the content of this PR:
PR #3742: Treat RootDirectory the same way as Standardized (Contributed by TroutZhang)
Change 3764058 by Graeme.Thornton
Generate a .code-workspace file for the current workspace. Allows foreign projects to "mount" the UE4 folder so that the engine tasks are avaible, and all engine source is visible to VSCode for searching purposes
#jira UE-52359
Change 3764705 by Steve.Robb
Better handling of whitespace in ImportText_Internal() for set and map properties.
Containers are now emptied upon import failure, to avoid leaving bad container states (unhashed, partial data).
Fix to USetProperty's temp buffer size to avoid buffer overruns.
Duplicate map keys are now skipped during import, same as USetProperty's behavior.
Change 3764731 by Steve.Robb
Don't re-run UHT if only source files have changed in the same folder as headers. This was already done for hot reload, but there's no reason why it should be limited to that.
Change 3765923 by Graeme.Thornton
VSCode - "taskName" -> "label" for C# build tasks
Change 3766018 by Steve.Robb
constexpr constructor for TAtomic.
Change 3766037 by Steve.Robb
Misc tidyings in HotReload.cpp.
Change 3766046 by Steve.Robb
ThreadSanitizer fixes to ENamedThreads::RenderThread and ENamedThreads::ENamedThreads_Local.
Change 3766288 by Steve.Robb
Improved efficiency of adding/removing elements to UGCObjectReferencer::ReferencedObjects.
Change 3766374 by Josh.Engebretson
Fix issue with ini quoted value comparison
#jira UE-52066
Change 3766532 by Josh.Engebretson
PR #3680: Added NetSerialize to FDateTime fixing UE-22533 (Contributed by druhasu)
#jira UE-46156
Change 3766740 by Steve.Robb
TMultiMap::Append added.
Change 3767523 by Steve.Robb
ThreadSanitizer fix for UE4Delegates_Private::GNextID.
Change 3767601 by Steve.Robb
ThreadSanitizer fix for FStats::GameThreadStatsFrame.
Change 3770567 by Ben.Marsh
Add a FAnnotatedArchiveFormatter interface which allows querying structural type information that may not be in binary archives.
Change 3770826 by Ben.Marsh
Move StructuredArchive implementation into Core, so primitive types can implement serialization overloads for it.
Change 3770875 by Steve.Robb
Redundant UScriptStruct::PostLoad removed, which was causing a race condition in async loading. This was re-establishing the CppStructOps, but that is unnecessary because native classes cannot change as a result of a load - only BP structs can, and they don't have CppStructOps.
Change 3772167 by Ben.Marsh
Add a context-free binary formatter that can serialize tagged data. This functions as a lower-overhead binary intermediate format for JSON data.
Change 3772248 by Steve.Robb
ThreadSanitizer fixes to FMalloc call counters.
Change 3772383 by Ben.Marsh
Separate archive metadata from FArchive into FArchiveContext, so it can be safely exposed to consumers of FStructuredArchive.
Change 3772906 by Graeme.Thornton
TextAssetCommandlet - Utility commandlet for testing/converting to text asset format
Change 3772932 by Ben.Marsh
Fix "String:" prefix not being stripped from escaped string values.
Change 3772942 by Graeme.Thornton
Add experimental setting to enable in-editor text asset format functionality
Add "export to text" option into the content browser asset actions context menu
Change 3772955 by Ben.Marsh
Add a new "stream" compound type to FStructuredArchive, which allows serializing a sequence of elements similarly to an array, but without serializing an explicit size. Allows passing through data to an underlying binary archive without breaking compatibility.
Change 3772963 by Ben.Marsh
Allow querying record keys and stream lengths from annotated archive formatters, since these archives have markup for field boundaries.
Change 3773010 by Graeme.Thornton
Added CORE_API to FArchiveFromStructuredArchive
Gave text asset format experimental option a slightly less random tooltip comment
Change 3773057 by Ben.Marsh
Add a flag to FArchive to determine whether the archive is text (IsTextFormat()).
Add support for seeking within FArchiveFromStructuredArchive. For text formats, data is serialized to an in-memory buffer, with names and objects serialized as indices into an array. For non-text formats, data is serialized directly to the underlying archive.
Also rename FStructuredArchive::TryEnterSlot() to TryEnterField().
Change 3773118 by Steve.Robb
TSignedIntType and TUnsignedIntType type traits for getting an integer type of a given size.
Change 3773122 by Steve.Robb
TAtomic fixes for pointer arithmetic.
TSignedIntType used instead of reimplementing its own trait.
Change 3773123 by Steve.Robb
Unit tests for TAtomic.
Change 3773138 by Steve.Robb
Run numeric tests on integer types instead of basic tests.
Fix for compiler warnings when subtracting from unsigned atomics.
Change 3773166 by Steve.Robb
Refactoring of arithmetic operations into its own class, then basing the pointer and integral versions on that.
Change 3774216 by Gil.Gribb
UE4 - Fix rare crash in the pak precacher immediately after unmounting a pak file.
Change 3774426 by Ben.Marsh
Copy all C# tools to a staging directory before compiling them. This prevents access violations when compiling tools like iPhonePackager that reference DotNETCommon, and ensures we strip NotForLicensees folders out of them all.
See: https://answers.unrealengine.com/questions/726010/418-will-not-build-from-source.html
Change 3774658 by Ben.Marsh
Improve error reporting while generating intellisense for project files. Include the name of the target being compiled, and allow project file generation to continue without it.
Change 3775141 by Ben.Marsh
Always output HTML5 diagnostics at "information" verbosity, to avoid every line being prefixed with "WARNING:" and screwing up the EC postprocessor.
Change 3775459 by Ben.Marsh
Removing .NET Framework Perforce DLL as runtime dependency of engine third party library. The actual library is linked statically.
Change 3775522 by Ben.Marsh
UGS: Treat .uproject and .uplugin files as code changes.
Change 3775597 by Ben.Marsh
Fix post-build steps for plugins not being executed.
#jira UE-52754
Change 3777895 by Graeme.Thornton
StructuredArchiveFromArchive - An adapter class for wrapping an existing FArchive with a structured archive
Change 3777931 by Graeme.Thornton
Refactored FArchiveUObjects serialization code into some static helpers
Added FArchiveUObjectFromStructuredArchive which allows the adaption of a structured archive into an FArchive that supports the extra UObect serialization functions for weak/soft pointers
Change 3777942 by Graeme.Thornton
Added missing CORE_API to FStructuredArchive::FStream
Added FStructuredArchive::FSlot insertion operator for char
Added specialization of TArray<uint8> serializer for structured archives which serializes the contents as one value
Change 3778084 by Graeme.Thornton
Adding FPackageName::GetTextAssetPackageExtension() to access the file extension we use for text asset files
Change 3778096 by Graeme.Thornton
Add a constructor to FArchiveUObjectFromStructuredArchive that takes a slot and passes it to the base class
Change 3778389 by Josh.Engebretson
Fix an optimization issue with CPU benchmarking
Add better support for debugging/testing local rocket builds
UDN Link: https://udn.unrealengine.com/questions/400909/command-scalability-auto-gives-inaccurate-cpu-benc.html
#jira UE-52192
Change 3778701 by Josh.Engebretson
Ensure plugin content folders are mounted consistently. Fixes TryConvertFilenameToLongPackageName failing to work on plugin assets
UDN Link: https://udn.unrealengine.com/questions/276386/tryconvertfilenametolongpackagename-fails-for-plug.html
#jira UE-40317
Change 3778832 by Chad.Garyet
Adding enterprise path support for PCB's for UGS
Change 3780258 by Graeme.Thornton
TextAssetCommandlet - Accumulate timings for loading packages and saving packages
Change 3780463 by Graeme.Thornton
CryptoKeys improvements
- Enable CryptoKeys plugin by default
- Attempt to inherit settings from the old system by default
- Hide ini/index encryption settings from packaging settings and just inherit previous values into new system
Minor UBT change to remove a trailing comma from the end of encryption/signing key binary strings
Change 3780557 by Ben.Marsh
Fix LoginFlow module not being precompiled for the binary release.
Change 3780846 by Josh.Engebretson
Improve filename to long package name resolution when provided a relative path
Change 3780863 by Ben.Marsh
UAT: Add a better error message when a C# project has an invalid reference.
Change 3780911 by Ben.Marsh
Update the BuildEditorAndTools.xml script to allow submitting archived binaries to Perforce.
The "Submit To Perforce For UGS" node creates a zip of all the binaries that have been built, and submits it to the stream specified by the 'ArchiveStream' argument.
Change 3780956 by Josh.Engebretson
Add support for ! (RemoveKey) config command to UBT
UDN Link: https://udn.unrealengine.com/questions/397267/index.html
#jira UE-52033
Change 3782957 by Robert.Manuszewski
UE4 - Fixed a linear search in EDL that caused performance problems for very large maps.
Change 3784503 by Ben.Marsh
Optimizations for FStructuredArchive:
* Store the depth explicitly in element objects, to avoid having to loop through the scope stack to find it.
* Prevent shrinking of arrays when removing elements.
* Add an inline allocator to the scope and container stacks.
Change 3784700 by Ben.Marsh
Remove the inline allocator from FStructuredArchive; checking whether the inline or backup allocator is being used is slower than just allocating up-front.
Change 3784989 by Ben.Marsh
Compile out all the FStructuredArchive validation code when WITH_TEXT_ARCHIVE_SUPPORT = 0.
Change 3786860 by Gil.Gribb
UE4 - Remove no buffering flag from windows async IO because it disabled the disk cache entirely.
Change 3787159 by Ben.Marsh
Guard against UE4.0 backwards compatibility path when determining if an engine is a source distribution.
Change 3787493 by Josh.Engebretson
Parallel pak generation now uses MaxDegreeOfParallelism option which is now set to the number of CPU cores
Moved cryptography settings parsing out of threaded CreatePak method to avoid concurrency issue in ConfigCache.TryReadFile
Fix for multiple threads parsing ini keys (PR 3995)
#PR 3995
#jira 52913
#jira 49503
Change 3787773 by Steve.Robb
Fix for missing final values from FOREACH_ENUM_ macros.
Change 3788287 by Ben.Marsh
TBA: Add checks in debug builds that key names in maps and records for FStructuredArchive are unique.
Change 3788678 by Ben.Marsh
Fix compile error due to inability to instantiate TArray<> of forward declared struct. Convert set of key names to an array to avoid including Set.h in public header for FStructuredArchive.
Change 3789353 by Graeme.Thornton
Removed unused/rotten modes from TextAsset commandlet.
Used existing "-iterations=n" switch to control a global iteration over the given command. Useful for performance testing.
Change 3789396 by Ben.Marsh
Move code to validate container keys/sizes into DO_GUARD_SLOW checks, and allocate container metadata instances dynamically to fix problems with references to things not declared in headers that can't be included from StructuredArchive.h
Change 3789772 by Ben.Marsh
Always strip trailing slashes from the end of paths specified by .build.cs files; they can cause quoted paths to be escaped on the command line.
Change 3790003 by Ben.Marsh
TBA: Rename FStructuredArchive::EElementType::Object to FStructuredArchive::EElementType::Record.
Change 3790051 by Steve.Robb
PIE is disabled during a hot reload.
Hot reload in editor is disabled during PIE.
Hot reload from IDE is deferred until after PIE is exited.
Compiling multiple times before a hot reload (e.g. compiling multiple times in PIE) will now load the most recent change.
#jira UE-20357
#jira UE-52137
Change 3790709 by Steve.Robb
Better move support for TVariant.
EVariantTypes switched over to using an enum class to aid debugger visualization.
Change 3791422 by Ben.Marsh
TBA: Return the type of a field from an annotated archive formatter at the point that we enter it, rather than querying all the time.
Change 3791489 by Graeme.Thornton
TBA: Change StructuredArchiveFromArchive adapter to use the archive.Open() result directly, now that it's a slot and not a record
Change 3792344 by Ben.Marsh
Improvements to base64 encoding library.
* Now supports encoding and decoding with ANSICHAR and WIDECHAR implementations.
* Added support for decoding base-64 blobs without padding marks.
* Added support for decoding into pre-allocated buffer.
* Added constexpr functions for determining the encoded and maximum decoded size of an input buffer.
* Prevent writes past the end of allocated buffer (no longer need to manually remove padding bytes).
Change 3792949 by Ben.Marsh
TBA: Rename FAnnotatedArchiveFormatter to FAnnotatedStructuredArchiveFormatter.
Change 3794078 by Robert.Manuszewski
Fixing a crash that could happen when FGCObjects were constructed and destructed when shutting down the engine
#jira UE-52392
Change 3794413 by Ben.Marsh
TBA: Remove the element type parameter to SetScope(). It isn't really needed; we can just assume the element ID correctly identifies the item on the stack.
Change 3794731 by Ben.Marsh
TBA: Optimize creation of stack elements for empty slots in FStructuredArchive. This saves a lot of bookkeeping when serializing a large number of individual fields. Since only one slot can be active at a time (and it only exists temporarily, until we write into it), we can just store the element ID assigned to it in a member variable.
Change 3795081 by Ben.Marsh
UBT: Move LinuxCommon.cs into Platform/Linux folder.
Change 3795137 by Ben.Marsh
UBT: Allow modules to specify private compiler definitions from the build.cs file, only visible within that module (via the "PrivateDefinitions" property).
Change 3795247 by Ben.Marsh
Fix missing header when creating a new interface from the editor new code wizard.
#jira UE-53174
Change 3796025 by Graeme.Thornton
Fixed some deprecated "Definitions" warnings in OpenCV build files
Change 3796103 by Graeme.Thornton
Disable experimental text asset option - it does nothing useful yet.
Change 3796157 by Graeme.Thornton
Fix path type mismatch in visual studio source code accessor meaning that the DTE comms wouldn't identify a running instance of VS as having the current solution open.
#jira UE-53206
Change 3796315 by Ben.Marsh
Move Formatter to the correct position for initializer.
#jira UE-53208
Change 3797082 by Ben.Marsh
UAT: Work around for exception thrown by launching cook with "-platform=Android_ETC1 -targetplatform=Android -cookflavor=ETC1". Anrdoid_ETC1 is not a valid platform (it's a cook platform), and can't be parsed by UAT.
#jira UE-53232
Change 3799050 by Ben.Marsh
Make UnrealPak.version files writable for Mac and Linux.
Change 3801012 by Graeme.Thornton
VSCode - Update source accessor to use code workspace as it's target, rather than just the project directory
Change 3801214 by Gil.Gribb
UE4 - Remove assert to work around minor problem with lock free lists.
#jira UE-49600
Change 3801219 by Steve.Robb
WeakObjectPtrs now warn when casting away const.
Change 3801299 by Graeme.Thornton
Fix quote issue with foreign project build tasks on PC
Change 3803292 by Graeme.Thornton
Fix crash on startup when using cook-on-the-side. Force a flush of the asset registry background scanning when creating the cook-on-the-side platform registries
Change 3803559 by Steve.Robb
TSAN fix for FMalloc::MaxSingleAlloc.
Change 3803735 by Graeme.Thornton
Last set of cryptokeys changes
- Added some comments for editor exposed settings
- Split "encrypt assets" option into "encrypt uassets" and "encrypt all assets"
Change 3803929 by Ben.Marsh
UGS: Show an in-place error panel when a project fails to open, allowing the user to retry and have their tabs saved instead of creating a modal dialog.
Change 3624590 by Steve.Robb
AddReferencedObjects now generates a compile error with containers of UObject*s where the UObjectType is forward-declared, as these which won't be added to the reference collector.
Tidy-up of existing calls to AddReferencedObjects.
Change 3629473 by Ben.Marsh
Build: Rename the option for embedding source server information in PDB files for installed engine builds.
Change 3632894 by Steve.Robb
VARARG* macros deprecated and usage replaced with variadic templates.
Change 3640704 by Steve.Robb
MakeWeakObjectPtr added, which deduces a TWeakObjectPtr type from a raw pointer type.
Fix to TWeakObjectPtr's constructor which implicitly removed const.
Fixes to everything which didn't compile as a result.
Change 3650813 by Graeme.Thornton
Removed FStartupPackages and associated code
Change 3651000 by Ben.Marsh
Return the stack size from FPlatformStackWalk::CaptureStackBacktrace() rather than checking for the first null pointer, to prevent truncated callstacks if parts of the stack are zeroed out.
#jira UE-49980
Change 3690842 by Steve.Robb
FPlatformAtomics::AtomicRead added - needs optimizing.
AtomicRead() used in FThreadSafeCounter::GetValue().
Change 3699416 by Steve.Robb
Fix to debugger visualization of TArray with a TInlineAllocator or TFixedAllocator.
Improved readability of TSparseArray visualization.
Change 3720812 by Steve.Robb
Atomic functions for 8-bit and 16-bit.
Android, Linux and Switch implementations now just use the Clang implementation.
AtomicRead64 deprecated in favor of the int64* AtomicRead overload.
Change 3722698 by Steve.Robb
VS debugger visualizers for TAtomic.
Change 3732270 by Steve.Robb
Relaxed stores and loads.
Change 3749315 by Graeme.Thornton
If UAT is invoked with platforms in both the -platform and -targetplatform command line switches, build using all of them rather than just the ones in -targetplatform
#jira UE-52034
Change 3750657 by Josh.Engebretson
Fixed issue when debugging editor cook/package and project launch operations
#jira UE-52207
Change 3758514 by Steve.Robb
Fixes to FString::Printf having non-literals being passed as its formatting string.
Change 3763356 by Steve.Robb
ENamedThreads::RenderThread and ENamedThreads::RenderThread_Local encapsulated by getters and setters.
Change 3770549 by Steve.Robb
Removal of obsolete PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS and PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES.
Tidy up of existing code which uses it.
Change 3770553 by Ben.Marsh
Adding structured serialization API to Core/CoreUObject for use with text-based assets.
* FStructuredArchive abstracts an archive which is made up of compound types (records, arrays, and maps). Values are stored in slots within these types.
* Records are string -> value dictionaries where the key names can be compiled out in non-editor builds or when WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Maps are string -> value dictionaries where the key names are present regardless of the build type.
* Proxy objects are defined to express the context for serialization (FStructuredArchive::FRecord, FStructuredArchive::FArray, FStructuredArchive::FMap, FStructuredArchive::FSlot) which allows basic validation through static typing. These objects act as lightweight handles, and can be cheaply constructed and passed around on the stack. Most serialization to and from the archive is done through these objects.
* Runtime checks perform additional validation to ensure that serialized data is well formed and written in a forward-only manner, regardless of the underlying archive type.
* The actual input/output format is determined by a separate interface (FArchiveFormatter). Context validation (always causing matching LeaveArray for every EnterArray, etc...) is done by FStructuredArchive, so implementing these classes is fairly trivial. FArchiveFormatter can be de-virtualized in non-editor builds, where WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Includes implementations of FArchiveFormatter for binary and JSON formats.
Change 3771105 by Steve.Robb
Deprecation warnings for PLATFORM_COMPILER_HAS_AUTO_RETURN_TYPES and PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS.
Fix for incorrect warning formatting on Clang platforms.
Change 3771520 by Steve.Robb
Start moving Clang-using platforms' pre-setup stuff into a Clang-specific header.
Change 3771564 by Steve.Robb
More common macros moved to the Clang pre-setup header.
Change 3771613 by Steve.Robb
EMIT_CUSTOM_WARNING_AT_LINE moved to ClangPlatformCompilerPreSetup.h.
Change 3772881 by Ben.Marsh
Add support for serializing FName and UObject through FStructuredArchive.
In order to allow custom linker behavior when serializing objects:
* The constructor to JSON input formatter now takes a delegate to convert a string object name into a UObject pointer.
* The constructor to tagged binary formatter takes a delegate to serialize a UObject pointer into any form it chooses (likely an integer index into the import table)
Object and name types are stored as strings in JSON, using an "Object:" or "Name:" prefix to differentiate them from regular strings. Any strings that already contain one of these prefixes are prepended with a "String:" prefix (as is any string that already has a "String:" prefix).
Change 3772941 by Graeme.Thornton
Make build work when including StructuredArchive.h from core container types
Added standard header to new files
Add structured archive serializer for TArray
Fix bug in structured archive where containers weren't being popped from the scope stack
Change 3772972 by Ben.Marsh
Add an adapter which presents a legacy FArchive interface to a FStructuredArchive slot.
Data is serialized into this slot as a stream of elements; raw data is buffered up into fixed size chunks, names and objects are serialized separately.
When used with FBinaryArchiveFormatter, this should result in all data being passed through to the underlying archive in a backwards compatible way, wiith no additional bookkeeping fields.
Change 3773006 by Ben.Marsh
Rename FStructuredArchive::FRecord::EnterSlot() to EnterField().
Change 3773013 by Steve.Robb
bUseInlining target rule added to UnrealBuildTool, which defaults to true, to allow inlining to be disabled for debugging purposes.
Change 3774499 by Ben.Marsh
Minor fixes for FStructuredArchive related classes:
* Text-based archive formats are now compiled out when WITH_TEXT_ARCHIVE_SUPPORT = 0.
* Fixed issue with FTaggedBinaryArchiveFormatter state becoming corrupted when looking ahead at field types.
* FArchiveFieldName constructor is now explicit, to fix cases where strings were being passed directly to serialize functions.
Change 3774600 by Ben.Marsh
Add CopyFormattedData() function, which can copy data from one formatter to another. Add a test case to SerializationAPI that converts from data -> JSON -> binary -> JSON -> data.
This function can be used to implement a generic visitor pattern, by implementing a FArchiveFormatter which receives the deserialized data.
Change 3789721 by Ben.Marsh
TBA: Split FTaggedBinaryArchiveFormatter into separate classes for reading and writing.
Change 3789920 by Ben.Marsh
TBA: Support automatic coercion between any numeric types in tagged binary archives. Also report the smallest type that can contain a value, rather than just in32/double.
#jira UECORE-364
Change 3789982 by Ben.Marsh
TBA: Change FStructuredArchive::Open() to return a slot, rather than a record, to make it easier to implement a raw FArchive adapter.
Change 3792466 by Ben.Marsh
TBA: Better handling of raw data in text based assets. Short sequences of binary data are Base64 encoded as a single string. Longer sequences are stored as an array of Base64 encoded lines, push a SHA1 hash to detect cases where the data was merged incorrectly.
In order to allow inference of the correct type for a field, other fields called "Base64" will be escaped to "_Base64", and any field beginning with "_" will have an additional underscore inserted. Reading files back in reverses these transformations.
Change 3792935 by Ben.Marsh
TBA: Rename FArchiveFormatter to FStructuredArchiveFormatter for consistency with FStructuredArchive.
Change 3795100 by Ben.Marsh
UBT: Rename the ModuleRules Definitions property to PublicDefinitions, to make its semantics clearer.
Change 3795106 by Ben.Marsh
Replace all internal usages of ModuleRules.Definitions, and replace it with ModuleRules.PublicDefinitions.
Change 3796275 by Ben.Marsh
Fix paths to Version.h includes from resource files.
Change 3800683 by Josh.Engebretson
Remove WER from Mac and Linux crash reports in favor of unified runtime-xml format
#jira UE-50073
Change 3803545 by Steve.Robb
TWeakObjPtr const-dropping assignment fix.
Fixes to change.
[CL 3805231 by Ben Marsh in Main branch]