While deadzone handling should always be done on the game's side, some device libraries also do some input filtering themselves so that noisy unintended input doesn't prevent power-saving modes from activating.
Since a game may allow players to set deadzones lower than the device defaults, we've added a way to inform the device of the player's deadzone settings.
#tests PIE, affected controllers, minimum, maximum, and default deadzone settings, among others.
#rb ben.woodhouse
[CL 36760458 by jibb smart in 5.5 branch]
Refactor CookByTheBookFinishedInternal to move all optional writes into the per-platform forloop so we can share data calculated for each platform between ReferencedSet.txt and the AssetRegistry.
Remove the no-longer-used SCOPED_BOOT_TIMING macros; we profile cook times using UE_SCOPED_HIERARCHICAL_COOKTIMER now.
#rnx
#rb Zousar.Shaker
[CL 36759205 by matt peters in 5.5 branch]
The underlying FSoftObjectPath has a GetLongPackageFName, which is sometimes useful to call via the owning soft pointer.
#rb francis.hurteau
[CL 36755375 by dave jones2 in 5.5 branch]
#rb Per.Larsson, Pere.Rifa
#jira UE-222974
- To enable the feature call FBulkData::SetCookedIndex with a FBulkDataCookedIndex set to a value between 1 - 255. Zero is currently reserved as the default/off state and can be quickly accessed via FBulkDataCookedIndex::Default.
-- Note that we might change the default value in the future, the main reason to keep it as zero for now is that it means FChunkId values will remain unchanged for bulkdata files not using the feature.
- When a bulkdata object has a cooked index it will output to a file with that value based on the following format <packagename>.CookedIndex.<extension> so a normal bulkdata payload with a cooked index of 5 would end up writing to <packagename>.005.ubulk.
-- This allows the calling systems to control which bulkdata payloads go to which sub files.
- We currently do not support memory mapped payloads or payloads with the duplicate non optional flags. Support and testing for this will be added later.
- Tested saving/editing/loading packages with bulkdata in the editor (vector fields), build/cook/run normal builds, build/cook/run with feature enabled then running the new code with data produced from non modified code and running non modified exe on data generated with the new code.
### IPackageResourceManager
- Added overloads for most methods that take EPackageSegment that also take a FBulkDataCookedIndex and deprecated the older versions.
- Not all methods have been ported over, just the ones I could test but the rest will need the same treatment at some point.
### FLinkerSave
- Now stores each set of bulkdata, optional bulkdata and memory mapped payloads in separate archives, one per cooked index.
- Added a method ::HasCookedIndexBulkData that returns if any of the normal bulkdata payloads contain a non default cooked index. This is used for some paranoid checks when saving packages to the workspace domain.
[CL 36754477 by paul chipchase in 5.5 branch]
Default objects will not be created if the class is abstract.
#rb Francis.Hurteau
#jira UE-224118
#tests Ran editor, new unit tests
[CL 36747664 by steve robb in 5.5 branch]
This allows both styles to be used for L10N asset paths, ie, /MyPlugin/L10N/en-US/Foo and /MyPlugin/L10N/en_US/Foo are now equivalent, with the latter using a valid Verse identifier.
The rest of the tooling around creating/managing localized assets still needs updating, but this unblocks being unable to create localized assets in environments that enforce Verse identifier restrictions on folder names.
#rb Leon.Huang
#rnx
[CL 36451648 by jamie dale in 5.5 branch]
- Enabled use of NetTokens/NetTokenStore and NetTokenDataStores outside of Iris to facilitate exporting data from shared serialization paths
- NetTokenStore and NetTokenDataStores are now owned by NetDriver.
- Added support for CustomExport bunches to carry data assoiciated with NetTokenExports
GameplayTags
- GameplayTagNetSerializer now respects settings from GameplayTags.ini
- Implemented placeholder GameplayTagNetTokenDataStore.
GameplayTags are now using NetTokens to export data if running in the new dynamic mode.
#rb jodon.karlik, Ryan.Gerleve
[CL 36380672 by mattias hornlund in 5.5 branch]
Fixed a bug with the property matrix and how it handled pasting text into a textbox for text properties. The text correctly gets pasted and imported now.
#rb: Jamie.Dale
#jira: FORT-736831
#test Got the help of UE QA to verify that the problem was no longer occuring in the paste case for text. THe localization caches are now being correctly populated.
[CL 36165775 by leon huang in 5.5 branch]
- invoke native_callable functions inside AutoRTFM::Open
- a number of other small fixes
#rb russell.johnston
#rnx
#okforversepublic
[CL 36025538 by markus breyer in ue5-main branch]
Remove canskipeditoronlywhencooking; it is no longer necessary because its functionality has been replaced by skiponlyeditoronly.
MPCook was handling PKG_EditorOnly because it could not handle skipeditoronlywhencooking, and the two concepts used the same flag to toggle use of them in SavePackage. By removing canskipeditoronlywhencooking, we can turn that flag on.
#rb Francis.Hurteau
#rnx
[CL 35966555 by matt peters in ue5-main branch]
If the transaction was aborted between CreateStatID() and the FUObjectItem destructor, then the memory allocated in the open for the StatID was not freed.
Allocate the memory in the open, and carefully assign / reset StatIDStringStorage atomically in the open / abort handler.
Also fix / silence some other leaks in UECoreTests.cpp
#rb neil.henning
[CL 35962183 by ben clayton in ue5-main branch]
- moved verse::tuple from Solaris plugin to CoreUObject as Verse::TNativeTuple
- FNativeConverter supports tuples
- fleshed out Verse::VTuplePropertyType
- new VTupleType keeps a UStruct per Verse package
- associated UStructs get generated by a new CreateUStruct overload in IEngineEnvironment
- tuple support in VNativeRef
- uncommented and added numerous tuple-related tests
#rb russell.johnston
#rnx
#okforversepublic
[CL 35938344 by markus breyer in ue5-main branch]