- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024
[CL 5226277 by Josh Adams in Main branch]
#rb Marcus.Wassmer
#rnx
#jira
#ROBOMERGE-OWNER: rolando.caloca
#ROBOMERGE-AUTHOR: rolando.caloca
#ROBOMERGE-SOURCE: CL 4977338 via CL 4977347 via CL 4979031
[CL 4981812 by rolando caloca in Main branch]
Manual merge of CL 4940744 because robomerge had issues.
Original Description:
Merging //Fortnite/Dev-Kairos to Main (//Fortnite/Main)
Getting ready for Install Bundle Manager merge to main. These are Engine/Core fixes
4440445
Fix FBuildPatchInstaller::Initialize() failing for manifests that did not include the empty tag.
#jira no jira
#rb Leigh.Swift
4474598
Add Android Macros to disable optimization
Fix Android directory iteration for OBBs. FindFilesRecursive() now works.
#jira UEATM-177
#rb Chris.Babcock
4487221
Android file - When mounting an OBB, fix possibly mounting directories as files.
#rb Chris.Babcock
4511214
Fix Android directory iteration not returning the visitor result. This would cause IPlatformFile::FindFilesRecursively() to prematurely end iteration.
#rb Chris.Babcock
4670945
Fix GetVarArgs format specifier off by 1 error. These would only show up if you had the format specifier at the end of the format string and only with 'l' and not 'll'. In that case the code would walk off the end of the format string, usually into another static string.
Fix GetVarArgs to never walk off the end of the format string.
#rb [at]ben.ziegler
4746778
Fix FShaderCodeEntry ref counts being off by one.
This bug was exposed because [Project Name Redacted] doesn't load shaderlibs or the PSO cache until well after engine init. That means some FShaderResource's are loaded before shader libs or PSO cache and FShaderCodeLibrary::RequestShaderCode() can fail in FShaderResource::SerializeShaderCode().
#rb [at]Gil.Gribb [at]Chris.Babcock
[CL 4948018 by Justin Marcus in Main branch]
Integrate the parts involving the FPlatformMisc::LoadTextFileFromPlatformPackage.
#rb Justin.Marcus
#ROBOMERGE-SOURCE: CL 4831383 via CL 4833736
[CL 4833753 by daniel lamb in Main branch]
Replaced expensive CRT to[w]lower() / to[w]upper() calls with locale-independent implementations.
The semantics match standard C locale that all UE platforms use - only ASCII characters are considered.
* Simplified TChar IsLinebreak()
* New TChar::ToLower() and ToUpper() implementation
* Replaced all Str[n]icmp() implementations with a unified implementation that all platforms use
* Moved implementation inside a cpp file to reduce code bloat
* Added unit tests
* Fixed sign extension bug in the replaced Str[n]icmp()
The bug would only manifest for 1 and 2 byte signed character types. Also MicrosoftPlatformString forwarded Str[n]icmp() to correct but non-standard CRT calls. AFAICT only narrow strings containing non-ASCII characters on non-MS platforms was affected. See TChar::ToUnsigned() for more details.
#rb steve.robb, stefan.boberg
[CL 4609549 by Johan Torp in Dev-Core branch]
- Exposed trap instructions in a separate PLATFORM_BREAK macro that does not include a debugger check.
#rb steve.robb
[CL 4516133 by Martin Ridgers in Dev-Core branch]