Bool property to enable/disable in spawn module. Defaults to enabled.
Existing data with constant spawn rates of <= 1.0 have this scaling disabled.
[CL 2317484 by Simon Tovey in Main branch]
This is controlled by the macro "WITH_CASE_PRESERVING_NAME", which is currently just set to "WITH_EDITORONLY_DATA" so that it works in editor builds (and UHT).
Added an extra NAME_INDEX entry to FName to store a second string table index for a case-variant string. The previous Index value (now called ComparisonIndex) is still used for comparison purposes (as FNames are still case-insensitive).
The Init process for an FName now works like this:
1) It will find or add a string table entry for the given string (not matching case) - this entry index is stored in ComparisonIndex.
2) It will then compare the string table entry string against the given string (matching case) to see if it also needs to add a case-variant entry for the FName.
3) If it does, it finds or adds a second string table entry (matching case) for the string - this entry index is stored in DisplayIndex.
Hard-coded FNames (those listed in UnrealNames.h) do not support case-variants (due to existing network replication rules for hard-coded FNames), so they skip steps 2 and 3.
I added FMinimalName, which is the same size as FName was previously. This shouldn't really be used (and as such, is deliberately awkward to make/use) as it loses the case-preserving behaviour of FName, however it was required for some things (like stats) that had a hard-coded upper limit on FName size.
I added FScriptName, which always contains the extra display index (even when WITH_CASE_PRESERVING_NAME is disabled). This is used by Blueprint bytecode, as the types used by Blueprint bytecode must be a consistent size between all build configurations.
Other changes:
- Fixed up any places that were passing an Index into the FName constructor which was supposed to take an EName.
- Some places were doing this to make the number unique when replicating an object, but this was losing the case-variant information, so I had to fix them.
- FName will now assert if the EName constructor is used with an value outside the range of hard-coded FNames.
- Ensured that assets, actors, and blueprint components could all be renamed in a way that only changed their case, and that these changes were correctly persisted.
- Added FLinkerNamePairKeyFuncs and TLinkerNameMapKeyFuncs for use with TSet and TMap.
- These allow ULinkerSave and ULinkerLoad to correctly write out case-variants for FNames, and also fixes an issue where the linker would erroneously write out duplicate string table entries for FNames which had a different number (causing package bloat).
- Bumped VER_MIN_SCRIPTVM_UE4 so that all Blueprint bytecode is recompiled using FScriptName.
ReviewedBy Robert.Manuszewski, Gil.Gribb
[CL 2300730 by Jamie Dale in Main branch]
- Also rename SpringArmComponent.bUseControllerViewRotation to bUsePawnViewRotation for consistency (default was already false).
- IMPORTANT UPGRADE NOTE: C++ projects using CameraComponents should ensure that they initialize bUsePawnViewRotation with the correct value if previously there was no initialization, since the default behavior has changed.
- The correct way to be backwards-compatible for CameraComponents is demonstrated in the C++ project templates:
- add "_DEPRECATED" to any initialization of bUseControllerViewRotation (which becomes bUseControllerViewRotation_DEPRECATED).
- add initialization of bUsePawnViewRotation to your desired default value.
- if there was no previous initialization of bUsePawnViewRotation in code, then you MUST add initialization to "true" if you wish to maintain the same behavior as before (since the default has changed).
[CL 2298842 by Zak Middleton in Main branch]
NodeGuids will be recreated when duplicating a Blueprint.
Version bump to handle giving Nodes a new Guid for all Blueprints.
[CL 2298607 by Michael Schoell in Main branch]
- Also make UnCrouch() check this flag rather than the current movement mode when deciding how to grow the capsule.
[CL 2273293 by Zak Middleton in Main branch]
Added support for ADPCM decoding.
Added 'sound type' information to USoundWave
- Android uses this to detect which type of asset it needs to deal with
Added support for selected encoding type via project settings
#codereview Daniel.Lamb, Chris.Babcock
[CL 2260750 by Robert Jones in Main branch]
EPropertyReferenceFlags removed too, because it is unused.
#ttp 329394: UHT: Support the C++ "enum class" syntax for UENUMs
#codereview robert.manuszewski
[CL 2252907 by Steve Robb in Main branch]
Added Smartnames to skeletons to manage elements of sequences centrally. Added new animation metadata as the first feature to use smartnames
#ttp - 332035
[CL 2244403 by Benn Gallagher in Main branch]
- Non-state notifies shouldn't end up with end offsets
- State notifies no longer jump around when dragged
- Begin and end snaps no longer sometimes offset on the wrong side
[CL 2239954 by Benn Gallagher in Main branch]
This matches what's done for native root components when Blueprint actor instances are constructed.
Existing Blueprint assets with non-native RootComponents will first be reset back to unit scale if necessary in order to avoid any unexpected scaling of existing actor instances as a result of this change.
#codereview David.Nikdel,Zak.Middleton
[CL 2230938 by Phillip Kavan in Main branch]
- Material editor preview nodes now work when the editor is in es2 mode
- Make editor primitives work in ES2 mode
- Fix slate font rendering in ES2 mode
- Remove ES2 shader de-gamma when in the editor
- Add a new linear sampler type for linear textures
- Various fixes for dynamic feature level switching
- When in an emulated feature level mode, display some text in the level editor viewport saying what feature level we're running
- Removed feature level parameter from USkeletalMesh::GetResourceForRendering. Not used for anything
- ParticleVertexFactoryPool is now creates feature level specific vertex factories.
[CL 2187558 by Graeme Thornton in Main branch]