Commit Graph

196 Commits

Author SHA1 Message Date
Marc Audy
502f469036 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5503639
#rb
#rnx

[CL 5504188 by Marc Audy in Dev-Framework branch]
2019-03-22 14:59:27 -04:00
Marc Audy
6c6b055f0e Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5271686
#rb
#rnx

[CL 5282523 by Marc Audy in Dev-Framework branch]
2019-03-04 10:23:33 -05:00
Marc Audy
cd87769abd Fix spelling error
#rb
#rnx

[CL 4812116 by Marc Audy in Dev-Framework branch]
2019-01-25 11:13:51 -05:00
Phillip Kavan
8507189fa5 Fix invalid cast of a nativized enum term to its underlying pointer type in generated Blueprint C++ code.
#rb None
#jira UE-66445

[CL 4770254 by Phillip Kavan in Main branch]
2019-01-22 10:50:18 -05:00
Marc Audy
f01727b69c Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4708893
#rb
#rnx

[CL 4708963 by Marc Audy in Dev-Framework branch]
2019-01-11 09:39:44 -05:00
Marc Audy
9d9dccf2e0 Merging using //UE4/Main_to_//UE4/Dev-Framework
#rb
#rnx

[CL 4708860 by Marc Audy in Dev-Framework branch]
2019-01-11 09:24:14 -05:00
Francis Hurteau
57c677da93 Copying //UE4/Dev-Enterprise@4705006 to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4705151 by Francis Hurteau in Main branch]
2019-01-10 17:26:53 -05:00
Marc Audy
ab108c215e Copying to Dev-Main @ CL# 4688301
#rb
#rnx

[CL 4688816 by Marc Audy in Main branch]
2019-01-08 11:38:48 -05:00
Marc Audy
608734e30d Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4664414
#rb
#rnx

[CL 4666113 by Marc Audy in Dev-Framework branch]
2018-12-17 12:24:20 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Marc Audy
3903a00380 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ CL# 4586854
#rb
#rnx

[CL 4588942 by Marc Audy in Dev-Framework branch]
2018-11-21 22:55:06 -05:00
Ben Marsh
ea340d3fbf Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main)
#rb none
#lockdown Nick.Penwarden

[CL 4567513 by Ben Marsh in Main branch]
2018-11-14 19:05:13 -05:00
Phillip Kavan
fc4ec4d449 Misc. cleanup of FEmitDefaultValueHelper::AddStaticFunctionsForDependencies().
Change summary:
- Replaced inclusive lambda capture lists and non-compliant occurrences of auto.
- Consolidated EDL boot time paths and replaced TODO comments with updated notes.
- Consolidated work that required a full iteration through the dependencies list into a single pass.

#rnx
#rb Me
#jira None

[CL 4548059 by Phillip Kavan in Dev-Framework branch]
2018-11-07 11:40:46 -05:00
Phillip Kavan
5f94a9f078 Allow nativized Blueprint types to instance other nativized Blueprint types as subobjects when they have one or more non-Blueprint asset preload dependencies (e.g. non-native UMG widgets).
Change summary:
- Added a shared cache to FGatherConvertedClassDependencies. The ctor is now protected and access is done through the static Get() method. This prevents redundant dependency list gathering for a previously-queried class/struct type.
- Switched FGatherConvertedClassDependencies::Assets from a TArray to a TSet (for consistency w/ the other dependency lists).
- Added FGatherConvertedClassDependenciesHelperBase::AddAssetDependency() to consolidate the addition of non-converted type asset dependencies (for consistency and easier maintenance).
- Added FGatherConvertedClassDependencies::GatherAssetsReferencedByConvertedTypes() as a utility method for building a nested asset dependency chain when converted subobject types are involved.
- Modified FFakeImportTableHelper::GetClassesOfSubobjects() to flag nested asset dependencies as CDO preload dependencies for EDL on the outermost converted type. This ensures dependencies will be loaded prior to CDO construction before instancing subobjects of a converted class type.
- Modified FGatherConvertedClassDependencies::AllDependencies() to include nested asset dependencies; this ensures they're included when we're generating the code needed to support the linker's "fake" export table at runtime.
- Some misc. cleanup; replaced a few instances of 'auto' with explicit types and updated a few lambda capture lists in place of previous use of '&' as a catch-all.

#jira UE-62514
#rb Dan.OConnor

[CL 4541116 by Phillip Kavan in Dev-Framework branch]
2018-11-05 15:55:31 -05:00
Marc Audy
9b2158b380 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4523800
#rb
#rnx

[CL 4523891 by Marc Audy in Dev-Framework branch]
2018-10-30 10:40:17 -04:00
Phillip Kavan
1a6f3c41ba Fix uninitialized user-defined struct fields in nativized, cooked builds.
Change summary:
- Modified FEmitDefaultValueHelper::GenerateUserStructConstructor() to ensure that POD fields are always initialized in the converted UDS ctor.

#jira UE-62764
#rb Ben.Zeigler

[CL 4522000 by Phillip Kavan in Dev-Framework branch]
2018-10-29 16:33:11 -04:00
Phillip Kavan
e0b454a5e2 Fix a Blueprint nativization compile failure due to one or more unconnected TSoftClassPtr input pins on an event or function call node.
Change summary:
- Modified FEmitHelper::LiteralTerm() to generalize TSoftClassPtr/TSoftObjectPtr terms - the default value case did not previously consider TSoftClassPtr pin types.

#jira UE-62157
#rb Ben.Zeigler

[CL 4521990 by Phillip Kavan in Dev-Framework branch]
2018-10-29 16:30:52 -04:00
phillip kavan
b0b94a4561 Fix a regression that causes nativized QAGame to fail when loading test maps containing nativized BP actor instances with circular references.
Notes:
- This will re-introduce UE-62514. I will be reopening that issue to be addressed for the next release instead.

#rnx
#rb None
#jira UE-64888

#ROBOMERGE-SOURCE: CL 4491493 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4491495 by phillip kavan in Staging-4.21 branch]
2018-10-19 13:59:15 -04:00
phillip kavan
375005134c Fix for an EDL runtime assertion on load when constructing the CDO for a nativized Blueprint class that contains an instanced object reference of another nativized Blueprint class type that references an instance of a non-nativized Blueprint class as a nested, class-owned subobject.
- Mirrored from //UE4/Dev-Framework (4413311).

#jira UE-62514
#rb Dan.OConnor

#ROBOMERGE-SOURCE: CL 4426061 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4426062 by phillip kavan in Staging-4.21 branch]
2018-10-03 18:27:58 -04:00
phillip kavan
58ce1ce9e2 Fix UBT warnings when building/packaging with Blueprint nativization enabled.
- Mirrored from //UE4/Dev-Framework (4352144).

#jira UE-62946, UE-63311
#rb Marc.Audy

#ROBOMERGE-SOURCE: CL 4425408 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4425418 by phillip kavan in Staging-4.21 branch]
2018-10-03 17:30:04 -04:00
phillip kavan
58311e3573 Support a proper fallback to construct any native 'noexport' struct-typed literal term in a nativized Blueprint class.
- Mirrored from //UE4/Dev-Framework (4347635).

#jira UE-63364
#rb Ben.Zeigler

#ROBOMERGE-SOURCE: CL 4425194 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4425227 by phillip kavan in Staging-4.21 branch]
2018-10-03 17:25:22 -04:00
marc audy
b95710a479 Remove broken test (as best it can be told it could never have worked)
#jira UE-64547
#rb Dan.OConnor
#rnx

#ROBOMERGE-SOURCE: CL 4416030 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4416031 by marc audy in Staging-4.21 branch]
2018-10-02 13:33:20 -04:00
Marc Audy
af90b7bcd4 Copying //UE4/Fortnite-Staging to Dev-Main (//UE4/Dev-Main) @ 4395008
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4395058 by Marc Audy in Main branch]
2018-09-25 10:11:35 -04:00
Phillip Kavan
dea24c5d47 Fix missing backend support for initializing a container variable (including unconnected function output pins) to a default (literal) value term in nativized Blueprint C++ code.
Change summary:
- Added a 'CoerceProperty' argument to FBlueprintCompilerCppBackEnd::TermToText() and FEmitHelper::LiteralTerm(). This is passed through as the LHS term's associated property when compiling 'KCST_Assignment' statements.
- Modified FEmitHelper::LiteralTerm() to emit an initialization list to C++. This occurs when the RHS of a variable assignment statement is a literal container term, which includes the initialization of K2Node_FunctionResult pins to a default (empty) value.
- Added FBlueprintCompilerCppBackEnd::TermToText() and FEmitHelper::LiteralTerm() methods that accept a struct value for specifying arguments rather than increasing the number of parameters with default values. Modified the implementations to match.

#jira UE-48397
#rb Dan.OConnor

[CL 4338211 by Phillip Kavan in Dev-Framework branch]
2018-08-31 17:59:41 -04:00
Phillip Kavan
8c61dfc55c Fix incorrect code generation at cook time when Blueprint nativization is enabled for objects instanced through the editor and assigned to an instanced object reference property.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to emit runtime code to look for an existing instance of a default subobject only if the 'RF_DefaultSubObject' flag is set on the source instance. This works around instances that return 'true' for IsDefaultSubobject() but were not created with CreateDefaultSubobject() (e.g. - instanced in the editor UI).

#rb None
#jira UE-62883

[CL 4301603 by Phillip Kavan in Dev-Framework branch]
2018-08-20 14:57:10 -04:00