Commit Graph

3230 Commits

Author SHA1 Message Date
justin marcus
d4f26c234d Add comment about using package versions during saving.
#jira

[CL 28504123 by justin marcus in ue5-main branch]
2023-10-05 12:36:10 -04:00
neil henning
38245c59ea Make MakeUniqueObjectNameReusingNumber transactionally safe.
[CL 28499782 by neil henning in ue5-main branch]
2023-10-05 11:04:36 -04:00
andrew rodham
f5896b67bb Core: Make UScriptStruct::ImportText const-correct
#rb Steve.Robb

[CL 28497785 by andrew rodham in ue5-main branch]
2023-10-05 09:57:09 -04:00
bob tellez
85939e4ab5 #UE Do not warn about duplicate lazy object pointer guids found in editor only level instance maps, since they do not affect the game. This is just another case of legitimately duplicating a level in memory, much like PIE
[CL 28471934 by bob tellez in ue5-main branch]
2023-10-04 16:02:26 -04:00
jamie dale
fda7d461e7 Moved CookedMetaData to CoreUObject
This allows it to be used by things that create class/struct/enum types (which only requires CoreUObject) without them needing to add an additional dependency on the Engine

#rb Rex.Hill

[CL 28462741 by jamie dale in ue5-main branch]
2023-10-04 13:08:34 -04:00
matt peters
382dd2ad72 Cooker: Upgrade severity of "Content is missing from cook" message to Error, but make it configurable per project.
#rnx
#rb Francis.Hurteau

[CL 28437999 by matt peters in ue5-main branch]
2023-10-03 18:54:07 -04:00
devin doucette
57ea585744 PropertyBag: Initial version with basic support for adding, removing, and iterating properties
Missing features include serialization, versioning of unknown properties, nesting property bags, and integration with garbage collection.

#rb Francis.Hurteau, Phillip.Kavan, Andrew.Davidson

[CL 28419605 by devin doucette in ue5-main branch]
2023-10-03 12:41:42 -04:00
brandon schaefer
4ac1850102 Add open around Client and Server checking exclusion list
#rb Neil.Henning
[FYI] Michael.Nicolella

[CL 28415932 by brandon schaefer in ue5-main branch]
2023-10-03 11:32:44 -04:00
tim smith
a4c0680e7a 1) Initial version of a basic VValue property type
2) Initial version of the merged UEGC and VerseGC
3) Unit tests for the merged GC

#rb johan.torp robert.manuszewski

[CL 28411269 by tim smith in ue5-main branch]
2023-10-03 09:02:39 -04:00
brandon schaefer
063972a860 Move the IsAsyncLoading calls around open for the logging, not something that matters to roll back
#rb none
[FYI] Neil.Henning.Michael.Nicolella

[CL 28381202 by brandon schaefer in ue5-main branch]
2023-10-02 12:10:26 -04:00
danny couture
d40076e978 [ZenLoader]
- Add partial flush support from loading thread
 - Fix the ConvertFromType allowing to load the softobjectptr during its conversion to hardref even when called from ALT and zenloader is active
 - Add unittest to exercise softobjectptr to hardref conversion in ConvertFromType
 - Move asserts preventing flush from loading thread directly into legacy loader
 - Added a few veryverbose logs that were missing for linker load
 - Fix partial loading being applied to sync calls coming from a postload, preventing the object to be fully postloaded before finishing the sync load

#rb Francis.Hurteau

[CL 28373045 by danny couture in ue5-main branch]
2023-10-02 07:51:24 -04:00
matt peters
25a64dad64 Cooker export verification: Change "was never saved as an export" message into clearer text "content is missing from cook", and add feedback for why it is missing from the cook.
#rb Zousar.Shaker
#rnx

[CL 28357860 by matt peters in ue5-main branch]
2023-09-29 17:43:19 -04:00
robert manuszewski
aa6f61ee78 Making sure an object Outer is marked with GC barrier when constructing new objects in between incremental reachability iterations
#prefight 6516bac3c779a827b1a4e7dc
#rb Kirill.Zorin

[CL 28340657 by robert manuszewski in ue5-main branch]
2023-09-29 09:31:28 -04:00
robert manuszewski
6dd8e280e4 Mark the Outer and not the Object that is being renamed with GC barrier
#rb Kirill.Zorin

[CL 28316154 by robert manuszewski in ue5-main branch]
2023-09-28 09:20:08 -04:00
neil henning
f2ccb04b46 Fix disabled test FORT-635190-AssertIndexingContainerAfterRuntimeError.versetest.
[CL 28272911 by neil henning in ue5-main branch]
2023-09-27 10:04:20 -04:00
jared cotton
6d13f63c39 UE-191200 - "Add UE support for [at]editable fields of optional types"
Add's support for `[at]editable` on optionals:

`FOptionalProperty` changes:
- Added custom `__INIT__` logic for `FOptionalProperty::ExportText` which previously could output no text as the optional value was initialized but returned an empty string as its export text (ie: empty arrays, maps, sets, etc). This caused the future text imports to be incorrect.

`FPropertyNode` changes:
- Added `OptionalValueNode` as private member similar in idea to existing `PropertyKeyNode`. It stores the generated `FPropertyNode` for a FOptionalValue's Value when it is set.
- Added helper function `GetOrCreateOptionalValueNode` which either returns the existing `OptionalValueNode` OR creates one if appropriate.
    - Note: This is where we bind a lambda to our Optional's Value FPropertyNode's `RebuildChildren` event which is how we update/rebuild when needed. In places where we would update/rebuild we instead call our Value to do so instead if set and then update after that has been done via this callback.

Added new widget `SPropertyEditorOptional`
- This either:
    - shows a dropdown of "Set all" or "Unset all" if we have multiple values selected
    - generates the editor for whatever our set value is if we have a single value (See `GetSingleReadAddress`)
    - shows a 'set value' button if we are not set

#JIRA UE-191200
#rb karen.jirak
#rb kurtis.schmidt

[CL 28253719 by jared cotton in ue5-main branch]
2023-09-26 18:57:13 -04:00
marc audy
8ca20c10be Add more details on what property is being imported.
Particularly when there are warnings importing text from a config file to avoid just getting "asset 'none'"
#rnx

[CL 28246065 by marc audy in ue5-main branch]
2023-09-26 16:28:04 -04:00
danny couture
98cf4f14e5 [ZenLoader] Fix recursive loading behavior in zenloader by following more closely how legacy loading works
- Add a new partial loading mode where flushing the requestID will exit after serialization is done (after exportdone but before postload)
  - Automatically opt-in partial loading when an explicit load is called recursively from another load (treated as an import)
  - During recursive loading, attach postload of the recursive load to the caller's postload
  - Add loading unit tests to validate the new behavior for zenloader
  - Add a way to detect which loader is currently active to run unit tests on zenloader only

#rnx
#jira UE-190649
#rb Francis.Hurteau

[CL 28227792 by danny couture in ue5-main branch]
2023-09-26 10:26:04 -04:00
bob tellez
c00095c628 [Backout] - CL28184258
[FYI] danny.couture
Original CL Desc
-----------------------------------------------------------------
[ZenLoader] Fix recursive loading behavior in zenloader by following more closely how legacy loading works
  - Add a new partial loading mode where flushing the requestID will exit after serialization is done (after exportdone but before postload)
  - Automatically opt-in partial loading when an explicit load is called recursively from another load (treated as an import)
  - During recursive loading, attach postload of the recursive load to the caller's postload
  - Add loading unit tests to validate the new behavior for zenloader
  - Add a way to detect which loader is currently active to run unit tests on zenloader only

#rnx
#jira UE-190649
#rb Francis.Hurteau

[CL 28214800 by bob tellez in ue5-main branch]
2023-09-25 22:04:05 -04:00
matt peters
1c6e11db7c GetAssetRegistryTags changes for upcoming API change:
* Move the FArchiveCookContext enums into a namespace so they can be included from other types that need them without using FArchiveCookContext.
* Make construction of CookContext a TOptional to avoid constructing it when not cooking; the new constructor will be more difficult to call.
* Technically enforce the lifetime of ArchiveCookContext during SaveCookedPackage by making it a TOptional.
* Add a default constructor for FArchiveTag
* Remove a deprecated UObject virtual function that will be changing again in the upcoming change.
* Move AssetRegistry's bUpdateDiskCacheAfterLoad into a variable outside the critical section to make it cheaper to read; it is immutable after AssetRegistry is constructed.
* Remove use of the soft-deprecated FAssetData constructor that takes a bool rather than ECreationFlags.
* Reduce some duplication in FAssetRegistryState::FilterTags
* FAssetBundleData: use the native exporter in the case when defaults are provided but are pointing to the object itself; this combination of parameters means that no defaults are available and the entire struct should be exported. Use of the native exporter is necessary for correctness; the generic exporter incorrectly writes both the deprecated and the new variables.
ExportToText is used with defaults == object when called from GetAssetRegistryTagFromProperty called from GetAssetRegistryTags in obj.cpp.
* UObjectRedirector::GetAssetRegistryTags by contract should call the Super's version of the function.
* UBlueprintGeneratedClass::GetAssetRegistryTags does not need to append actor tags when saving in the cookcommandlet since GetAssetRegistryTags is not called when saving cooked packages and no other saves are executed in the cook commandlet.
* NiagaraEditorSettings GetAssetRegistryTags: sort the ClassPaths in the ClassUsageList to remove indeterminism.
* Whitespace fixes
#rnx
#rb Zousar.Shaker, Dan.Thompson, Robert.Millar, Frank.Fella

[CL 28209382 by matt peters in ue5-main branch]
2023-09-25 18:25:29 -04:00
andrew scheidecker
cc9a77a399 Add support for TOptional/FOptionalProperty to UHT.
#rb Tim.Smith

[CL 28199740 by andrew scheidecker in ue5-main branch]
2023-09-25 15:16:30 -04:00
danny couture
f54ea28898 [ZenLoader] Fix recursive loading behavior in zenloader by following more closely how legacy loading works
- Add a new partial loading mode where flushing the requestID will exit after serialization is done (after exportdone but before postload)
  - Automatically opt-in partial loading when an explicit load is called recursively from another load (treated as an import)
  - During recursive loading, attach postload of the recursive load to the caller's postload
  - Add loading unit tests to validate the new behavior for zenloader
  - Add a way to detect which loader is currently active to run unit tests on zenloader only

#rnx
#jira UE-190649
#rb Francis.Hurteau

[CL 28184263 by danny couture in ue5-main branch]
2023-09-25 08:06:46 -04:00
josh adams
5d9b0e221f - Deprecated FPaths::EnginePlatformExtensionsDir() and FPaths::ProjectPlatformExtensionsDir(), as they do not work with Programs
- Introduced the following to FPaths:
   - EnginePlatformExtensionDir(Platform) - gets the Engine PlatExt dir for the given platform
   - ProjectPlatformExtensionDir(Platform) - gets the Project PlatExt dir for the given platform, where Project can be a Program
   - ConvertPath(Path, Method, ExtraData) - converts a Path for platform extensions and Restricted locations. This is going to be "ground truth" for how to get an extension directory (the two functions above call this).
- Added FConfigContext::VisualizeHierarchy() (static and member versions with differing params) that can log ini hierarchies
#rb david.harvey

[CL 28140788 by josh adams in ue5-main branch]
2023-09-22 12:33:38 -04:00
dan oconnor
dce9110139 Use string comparison rather than binary comparison to avoid floating point error when propagating default values
#rb Jamie.Dale

[CL 28089942 by dan oconnor in ue5-main branch]
2023-09-21 12:31:46 -04:00
robert manuszewski
5d18a2c608 VerifyNoUnreachable GC test will now also scan the disregard for GC set for stale references and will attempt to get the current FGCObject name when reporting them
#rb Johan.Torp

[CL 28031160 by robert manuszewski in ue5-main branch]
2023-09-20 07:05:19 -04:00