Commit Graph

5013 Commits

Author SHA1 Message Date
francis hurteau
79f952d6f1 Remove flagging GeneratePublicHash when referenced by optional objects as it isn't needed anymore.
This also prevents false positive diffing when cooking with optional data but diffing without

#rb Matt.Peters
#preflight 6439882d930b3b84929358c2

[CL 25050656 by francis hurteau in ue5-main branch]
2023-04-14 17:21:56 -04:00
francis hurteau
a96e460059 Fix Cooking with DiffOnly while diffing both cooked and optional data
Added cmdline arg to compare or not optional data

#rb Matt.Peters
#preflight 64385c2a0a5a4b944e04c821

[CL 25049459 by francis hurteau in ue5-main branch]
2023-04-14 16:40:23 -04:00
paul chipchase
e1a567c25f Update FEditorBulkData code documentation to make it more obvious how the internal data can be updated by referencing the examples in FEditorBulkDataTests.cpp
#rb trivial
#jira UE-180707
#preflight 643945ea9566b61450e02680

[CL 25039964 by paul chipchase in ue5-main branch]
2023-04-14 10:14:49 -04:00
paul chipchase
df362a707d Fix potential truncation issue in FWorkBlockifier
#rb trivial
#jira none
#rnx
#preflight 64393a2e8901e5ef980a5cbc

- In this case we are performing pointer arithemetic to calculate how many objects are in the block. The max number of objects is set by FWorkBlock::ObjectCapacity (currently 495) meaning we can safely cast to int32.

[CL 25038819 by paul chipchase in ue5-main branch]
2023-04-14 08:24:59 -04:00
paul chipchase
00a1688fd1 Fix potential truncation issue when logging game thread hitching during resource clean up.
#rb trivial
#jira none
#rnx
#preflight 64391156ec219759f5ffecda

[CL 25037912 by paul chipchase in ue5-main branch]
2023-04-14 06:34:19 -04:00
paul chipchase
6f9810fabf Fix potential truncation issue is FScriptInstrumentationSignal
#rb trivial
#jira none
#rnx
#preflight 642d210ace01db47ac8e0849

- The truncation comes from performing pointer arithmetic to find an offset into a TArray which is then stored as an int32. Since the offset will always fit in int32 we can just cast here safely.

[CL 25037166 by paul chipchase in ue5-main branch]
2023-04-14 03:27:20 -04:00
francis hurteau
34e2780927 ZenLoader: Only finish loading packages that are part of the current sync load context and when flushing a specific request only call completion callbacks for the requested package
On behalf of CarlMagnus.Nordin

#rb PJ.Kack, Danny.Couture
#preflight 6436f79cf12d5de70581a2f8

[CL 25026102 by francis hurteau in ue5-main branch]
2023-04-13 11:17:16 -04:00
Matt Peters
3512d5b9d2 SavePackage and Cooking: Remove requirement that packages are cooked with an ICookedPackageWriter; SavePackage only uses IPackageWriter functions and we will be adding one-off cook saves that do not implement the full ICookedPackageWriter.
#rb None, trivial
#rnx
#preflight 64380bedf41a041687de9ee6

[CL 25024976 by Matt Peters in ue5-main branch]
2023-04-13 10:24:23 -04:00
pj kack
37a4002459 AsyncLoading2: Fix race crash in FAsyncLoadEventQueue2::UpdatePackagePriority on GT reading ExportBundleNodes data while it was being created by ALT in FAsyncLoadingThread2::FinishInitializeAsyncPackage.
Fallout from 24832537 that introduced FinishInitializeAsyncPackage and two-phased package initialization.
In FAsyncLoadingThread2::UpdatePackagePriority only try to reprioritize a package in the MainThreadEventQueue queue if the ALT processing is done and the package is supposed to be in the MainThreadEventQueue.

#jira UE-175511, FORT-588186, FORT-588255, FORT-588262, FORT-588379
#rb per.larsson
#rnx
#preflight 6437a4640c4277fc0b0087d9

[CL 25022190 by pj kack in ue5-main branch]
2023-04-13 05:26:19 -04:00
robert manuszewski
1e90746cb9 Redo 24852317:
Making sure non-nullable object properties have a default object value assigned to them in case of serialization errors
+ Adding backwards compatibility support to optional properties

#preflight 643015e17536ac6b78a4466e
#rb Maxime.Mercier, Steve.Robb

[CL 25021794 by robert manuszewski in ue5-main branch]
2023-04-13 03:41:03 -04:00
jamie dale
0a63f56f65 Fixed FLinkerLoad::FindNewPathNameForClass treating unmounted paths as if they were short paths
This could happen if you had BPGC in the CoreRedirects list, and the plugin that owned the BPGC was unmounted.

It now uses FPackageName::IsShortPackageName instead of !FPackageName::IsValidObjectPath, as the latter will fail for a fully qualified but unmounted path. The intent of that check was to detect legacy short class names so that they could be resolved into full paths, so the former is more appropriate.

#jira
#preflight 6436f68fd03b1c87ddbc7a56
#rb Robert.Manuszewski
#rnx

[CL 25020015 by jamie dale in ue5-main branch]
2023-04-12 20:46:28 -04:00
danny couture
c210dbd6ba Fix potential race on ObjectRestoreAfterInitProps during object construction
#rnx
#rb Francis.Hurteau, Andriy.Tylychko
#jira UE-175104
#preflight 643691afeb6cd0e63a6b0237

[CL 25004982 by danny couture in ue5-main branch]
2023-04-12 07:43:52 -04:00
Andriy Tylychko
40cfd75c2c cosmetic delegate-related changes, just to unclutter a bigger CL
#rb steve.robb
#preflight 64368ac3b67b6017ea4dcf81

[CL 25004773 by Andriy Tylychko in ue5-main branch]
2023-04-12 07:05:26 -04:00
Matt Peters
d08bf770e5 Fix IsEditorOnlyObject for CDOs: CDOs need to be marked as editoronly, even if their class is not editoronly, if their archetype is editoronly. Blueprint compilation relies on this for CanBeExposed to return true correctly for some blueprints that are defined in Script packages that are accidentally not marked as editoronly packages.
#jira UE-182969
#preflight 6435d5f60c19befb6c39bc77
#rb Francis.Hurteau
#rnx

[CL 25000663 by Matt Peters in ue5-main branch]
2023-04-11 19:20:18 -04:00
jordan hoffmann
a6b9e1b087 Blueprint Data Loss with Certain Variable Names
property names with the characters = ( [ . and whitespace break FProperty::ImportSingleProperty. to solve this, this change surrounds any property name containing the illegal characters in quotes and escapes any existing quotes and backslashes when serialized.
#jira UE-95685
#preflight 6435d7e1fa5b95890a6ea395

[CL 24999829 by jordan hoffmann in ue5-main branch]
2023-04-11 18:12:37 -04:00
kirill zorin
b9f38dc9bd Remove TObjectPtr's dependency on a fully-defined "class UClass".
#rb devin.doucette
#preflight 643590bd16422fa2b4db6d43

[CL 24998859 by kirill zorin in ue5-main branch]
2023-04-11 17:25:15 -04:00
francis hurteau
d1b3724d2b ZenLoader in editor: Propagate load flags to the linker and set PKG_ForDiffing also for async loads.
On behalf of CarlMagnus.Nordin

#rb PJ.Kack, Danny.Couture
#preflight 64341ddd7536ac6b788ef998

[CL 24992235 by francis hurteau in ue5-main branch]
2023-04-11 11:45:53 -04:00
Matt Peters
7ecf3f6906 SavePackage support for OnlyEditorOnly: Remove exports that are private and are only referenced by editoronly properties from the cookable exports. Remove imports and softobjectpaths that are only referenced from these OnlyEditorOnly exports from the cooked package's imports. For editor saves, mark these OnlyEditorOnly-referenced imports and softobjectpaths as editoronly dependencies. Also return the list of ImportPackages and SoftPackageReferences to the cooker so it can add them to the cook.
#rb Francis.Hurteau
#rnx
#preflight 643554b61b3664fdfaa9ef1b

[CL 24989912 by Matt Peters in ue5-main branch]
2023-04-11 09:00:33 -04:00
jordan hoffmann
63fc13f42c Unprotecting FObjectReader constructor to match the interface of FObjectWriter.
- In CL 3462726, Max.Chen moved the FObjectWriter(TArray<uint8>& InBytes) constructor into public so that it can be used with UClass::SerializeTaggedProperties. This change proposes we do the same with FObjectReader.
#rb Matt.Peters
#jira none
#preflight 64348f8ab4329f6f1a04729e

[CL 24985648 by jordan hoffmann in ue5-main branch]
2023-04-10 18:50:52 -04:00
phillip kavan
1ac704cbaf [Experimental] Option to not mark outer level/OFPA assets as dirty when propagating default value changes to instances that already match the archetype's value.
Notes:
- Applies only to changes propagated from BP editor class default edits.
- Disabled by default. Can be enabled locally via Blueprint editor settings.
- When enabled, instances will still be marked dirty if the default value change results in the instance value becoming realigned with the archetype. This is because subsequent changes will now propagate to the instance, and since the per-instance value may have been delta-serialized, it needs to be re-serialized in order to update the current saved value.

#jira UE-179809
#rb Patrick.Enfedaque, Ben.Zeigler
#preflight 64305b5d4c3ccbbdf1e154d4

[CL 24972477 by phillip kavan in ue5-main branch]
2023-04-07 20:01:53 -04:00
michael nicolella
23b9bdf8b4 autortfm fixes:
- call PropertyInitCallback under Close rather than a nested Transact so that failure propagates out and when we return from Open, we will properly abort and longjmp
#preflight 643063f8427eda5626d90f15

[CL 24972095 by michael nicolella in ue5-main branch]
2023-04-07 18:57:44 -04:00
edwin maynard
b2f0c1354b [Backout] - CL24963748 (backed out due to nonunity error)
[FYI] kirill.zorin
Original CL Desc
-----------------------------------------------------------------
Remove ObjectPtr.h's dependency on a fully-defined "class UClass"

#preflight 642f1752ce7fbea1eea31246
#rb zousar.shaker
#rb devin.doucette

[CL 24965222 by edwin maynard in ue5-main branch]
2023-04-07 11:38:15 -04:00
kirill zorin
4dcee89186 Remove ObjectPtr.h's dependency on a fully-defined "class UClass"
#preflight 642f1752ce7fbea1eea31246
#rb zousar.shaker
#rb devin.doucette

[CL 24964508 by kirill zorin in ue5-main branch]
2023-04-07 10:43:16 -04:00
bryan sefcik
3ab03d359b Moved #includes around in the shared pchs so the pchs are more heirarchal. This fixes issues where removing or adding a private module dependency would drastically change compile times because the includes in the pch were very different.
Before:
Total CPU Time: 69956.296875 s
Total time in Parallel executor: 1706.01 seconds
Total execution time: 1733.63 seconds
0:28:57

After:
Total time in Parallel executor: 1652.02 seconds
Total execution time: 1679.59 seconds
0:28:02

#preflight 642f4a994c3ccbbdf19c17ee

[CL 24960088 by bryan sefcik in ue5-main branch]
2023-04-06 19:13:21 -04:00
dmytro vovk
e50dae89c5 Fixed triggering static_assert fo FProperty size when sizeof(FName) == 8
#rb trivial

[CL 24956675 by dmytro vovk in ue5-main branch]
2023-04-06 17:00:16 -04:00