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]
- 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]
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]
Drop the explicit open / on-abort logic in UObjectArchetype as it should not be needed any more.
#rb Brandon.Schaefer
[CL 35735393 by ben clayton in ue5-main branch]