Commit Graph

2502 Commits

Author SHA1 Message Date
jibb smart
6b473b34ea Can now tell the player's controller about analog stick deadzones through PlayerController::SetControllerDeadZones, or directly as a device property using FInputDeviceAnalogStickDeadZoneProperty
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]
2024-10-01 19:57:09 -04:00
matt peters
979f9e8100 IncrementalCook: Add ReferencedSet.txt for use when staging from a zen oplog that could include previous-cook entries than were no longer referenced from the most recent cook.
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]
2024-10-01 19:46:19 -04:00
jamie dale
bf2592e212 Replaced usage of FInternationalization::ForUseOnlyByLocMacroAndGraphNodeTextLiterals_CreateText with FText::AsLocalizable_Advanced
[FYI] Leon.Huang
#rnx

[CL 36759164 by jamie dale in 5.5 branch]
2024-10-01 19:45:55 -04:00
dave jones2
36ab906b18 Added missing GetLongPackageFName functions to SoftObjectPtr variations.
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]
2024-10-01 19:07:27 -04:00
paul chipchase
6e7f255861 Add a new feature allowing bulkdata cooked output to be split into smaller files to help with data organization and patching efforts.
#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]
2024-10-01 18:59:56 -04:00
steve robb
28bf104b6a Added cvar to control if non-nullable properties produce an error, a warning or a default object when failing to resolve an object reference.
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]
2024-10-01 17:46:30 -04:00
Tim Smith
e0faa51c3e Fix issue with content browser now properly detecting new classes from live coding.
#rnx
#rb Julien.StJean
#jira UE-225318

[CL 36592555 by Tim Smith in 5.5 branch]
2024-09-25 17:41:09 -04:00
mattias hornlund
93d29af692 Iris/Networking
- 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]
2024-09-18 04:10:29 -04:00
dmytro vovk
c324b92186 Renamed FLinearVirtualMemoryAllocator to FLinearAllocator
[CL 36229019 by dmytro vovk in 5.5 branch]
2024-09-12 11:13:30 -04:00
Ryan Hummer
4af2fd066d Updating Dev-Release-5.5 from Main at CL #36144969
#okforversepublic

[CL 36146571 by Ryan Hummer in Dev-5.5 branch]
2024-09-10 10:26:02 -04:00
russell johnston
c678b783c2 Property support for containers with intrusive unset optional states
#rb steve.robb

[CL 36011287 by russell johnston in ue5-main branch]
2024-09-04 11:43:38 -04:00
matt peters
85e5756271 Cooker: Fix bug in MPCook that would allow the cooking of __ExternalObject__ packages (or any other package marked as PKG_EditorOnly).
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]
2024-09-03 10:17:11 -04:00
ben clayton
225101e149 [AutoRTFM] Fix memory leaking from FUObjectItem::StatIDStringStorage
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]
2024-09-03 04:20:17 -04:00
steve robb
7a926d411a Added missing GetObjectPtrPropertyValue_InContainer overloads.
[CL 35938695 by steve robb in ue5-main branch]
2024-08-30 17:54:33 -04:00
steve robb
eb8eed520e Reordered FObjectPropertyBase-derived classes' Get functions to be consistent with the Set functions.
[CL 35938438 by steve robb in ue5-main branch]
2024-08-30 17:46:33 -04:00
steve robb
e6ec368ac2 Reordered FObjectPropertyBase's Get and Set functions to be consistent.
[CL 35937940 by steve robb in ue5-main branch]
2024-08-30 17:21:03 -04:00
steve robb
fa996f28fc Added unchecked versions of FObjectPropertyBase-derived types.
#rb devin.doucette

[CL 35937292 by steve robb in ue5-main branch]
2024-08-30 16:55:03 -04:00
steve robb
528c76d643 Fixed FObjectPropertyBase::SetObjectPtr overloads, which were only partially implemented.
#rb devin.doucette

[CL 35936357 by steve robb in ue5-main branch]
2024-08-30 16:25:03 -04:00
steve robb
c395c307c5 Added some specific overloads for TObjectPtr.
#rb devin.doucette

[CL 35934079 by steve robb in ue5-main branch]
2024-08-30 15:11:51 -04:00
matt peters
ae7cf32fb4 SavePackage/Cooke/FArchiver: Add FArchiveSavePackageData to FArchive, giving Serialize functions access to FObjectSaveContextData. This is necessary to allow structs (which do not have a PreSave function) the ability to add manage dependencies in editor saves and build dependencies in cook saves.
#rnx
#rb Francis.Hurteau

[CL 35900056 by matt peters in ue5-main branch]
2024-08-29 13:14:10 -04:00
russell johnston
ad99743ddb Native string fields and localization with substitution
#rb Markus.Breyer

[CL 35898680 by russell johnston in ue5-main branch]
2024-08-29 12:32:18 -04:00
kirill zorin
ec94c5694f [verse] run GC barriers whenever TPtr points to something of UObject (sub)type
#rb andy.sonnenburg
#rnx

[CL 35785746 by kirill zorin in ue5-main branch]
2024-08-23 19:04:02 -04:00
ben clayton
def1b85850 [AutoRTFM] Use the FTransactionallySafeRWLock for FUObjectAnnotationChunked::AnnotationArrayCritical
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]
2024-08-22 06:40:41 -04:00
brandon schaefer
dfd9f2257d Move some UObject locks to transactionally safe locks
#rb ben.clayton

[CL 35710841 by brandon schaefer in ue5-main branch]
2024-08-21 13:52:11 -04:00
henrik karlsson
78ba369d2c Fixed linker errors on some console platform when building modular builds. Fixes involves moving ctor/dtor and friends from header to cpp and dll import/export
[CL 35710553 by henrik karlsson in ue5-main branch]
2024-08-21 13:44:16 -04:00