This replaces classes' use of friendship with internal TSharedPtr functions.
#rb devin.doucette
#jira none
[CL 16745356 by Steve Robb in ue5-main branch]
The following code would call the int overload rather than the name overload when passed an EName constant, which could easily lead to confusion and bugs:
using FMyId = uint8;
void DoThing(FName);
void DoThing(FMyId);
DoThing(NAME_Actor);
The change to use enum class requires that any code that actually deals with EName as an int (mostly internal name code and serialisation) be updated to explicitly cast, but prevents the implicit conversion that causes the issue above.
In order to preserve the NAME_X aliases that the old-style enum added to the global scope, new aliases have been added that point to the EName scoped versions. Unfortunately these can cause shadowing warnings if NAME_X is defined in the local scope, as the old-style enum used to allow that without shadowing, however there is no way to prevent this so we'll just need to fix any warnings that occur.
#rb Johan.Torp
#preflight 6087e06349a9840001414708
[CL 16126708 by Jamie Dale in ue5-main branch]
- Member variable shadowing inside lambdas
- Deprecation warnings due to implicit copy constructors/operator being generated because of dllexports (this is more of a clang bug than an actual issue in our code).
#jira none
#fyi jurre.debaare, emil.persson, ian.fox, devin,doucette
#rnx
[CL 15882629 by halfdan ingvarsson in ue5-main branch]
- Removed PostSplashScreen plugin that was only whitelisted for XboxOne (if we just remove the whitelist, it would build for all platforms, which we don't want)
#rb Marc.Audy (concept, not each file)
#fyi david.harvey
[CL 15265407 by Josh Adams in ue5-main branch]