UPLAT-685 (Remove Virtual File System to reduce run-time memory overhead and allow for larger worlds in HTML5)
#codereview josh.adams, james.moran
[CL 2505577 by Ankit Khare in Main branch]
Rob asked me to back out GENERATED_*_BODY -> GENERATED_BODY change for now until the "_Validate and _Implementation auto-generation" discussion is over.
#codereview Robert.Manuszewski
[CL 2481343 by Jaroslaw Palczynski in Main branch]
- Moved HighQualityLightmap support check to IOSTargetPlatform so it can check project settings for Metal support
- Fixed some issues running on an x86_64 device
- Cleaned up some unused functions in TargetPlatform
#codereview niklas.smedberg
[CL 2478853 by Josh Adams in Main branch]
New define: PLATFORM_COMPILER_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS, indicating whether function templates can have default template args or whether workarounds are needed. This is effectively a global version of ENABLE_TFUNCTIONREF_WORKAROUND from TFunction. Only needed for VS 2012, once we drop that we can remove this.
Now constructs from T* instead of (templated) U*. It cast to a T* anyway, so would have failed to compile with anything that couldn't already bind to a T* arg, so the template was pointless.
As a result no constructor from TYPE_OF_NULL is needed (calls the T* constructor with NULL), so it has been removed. nullptr also now works!
Comparison operators have been made symmetrical (TLazyObjectPtr can now be the right-hand argument as well) and comparisons with nullptr now compile
Implicit upcasting is now enabled in the constructor and assignment, so "TLazyObjectPtr<Base> mybaselazyptr = TLazyObjectPtr<Derived>()" now works, as does passing a TLazyObjectPtr<Derived> to a function that expects a TLazyObjectPtr<Base>. As this is always safe, this works even if the object isn't currently loaded!
The constructor from a TWeakObjectPtr has been removed because it didn't even compile
#codereview Steve.Robb
[CL 2471454 by Gareth Martin in Main branch]
Implement LaunchURL for HTML5. UE-10852
Possible fix for bogus mouse coordinates in Safari
#codereview Ankit.Khare
[CL 2461964 by James Moran in Main branch]
- Fixes to the Mac HTML5 Device selection. .app files now work correctly.
- Re-enabled HTML5 in Mac Editor.
- Added HTML5LaunchHelper executable to clean up the process of LaunchOn for HTML5.
- Improve HTML5 SDK Settings Editor interface. Only the emscripten install directory is needed now, SDK version are automatically picked up and selected for use.
- Change UnrealPak to also account for bytes saved (>64KB) and percentage size of original file (<90%) when choosing to automatically turn off compression.
- Added Server Port option for HTML5 deploy to stop clashes on port 8000
- Adding more logging for use during debugging & tracing.
- Added an option to turn on HTML5 tracing api and added calls to the api.
- Fix up check() macros to throw alert messages and be more clear that something has gone wrong on HTML5.
#codereview Ankit.Khare
[CL 2452979 by James Moran in Main branch]
Deprecation unified across all platforms in *CompilerPreSetup.h headers.
#codereview robert.manuszewski,marcus.wassmer
[CL 2373781 by Steve Robb in Main branch]
Includes following engine changes:
Getting display metrics only once at construct time when using SSafeZone. GetDisplayMetrics is expensive in Windows so it is impractical to call it every frame.
- Some AI API improvements, mostly switchig pointer function parameters to references.
- minor refactor of UCrowdFollowingComponent's queryinf functions:
- IsCrowd*Enabled functions refactored to IsCrowd*Active
- implemented IsCrowd*Enabled that return acrual values of relevant properties
- Added a function to CrowdManager to query for location of agents neighbouring given agent
Added support for PS4 touchpad-based cursor
You can now choose to skip synchronously scanning for asset data in object libraries and just use the data that is currently in the asset registry. The data will be refereshed automatically later once the global scan completes. The only applies to non-commandlet editor instances.
Crash fixes for trying to access NULL Metal surfaces on IOS
Slate: Cleaned up some atlas code related to padding and corrected some comments
[CL 2347323 by Ben Zeigler in Main branch]