Commit Graph

244 Commits

Author SHA1 Message Date
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
Dan Oconnor 525f730020 Interpreter Optimization 5 of N: Move UberGraphFramePointerProperty into UClass to avoid VCalls in blueprint intrepreter
#rb Phillip.Kavan

[CL 4259893 by Dan Oconnor in Dev-Framework branch]
2018-08-03 17:50:37 -04:00
Phillip Kavan 0de0ec9474 Fix assertion in a nativized build on attempt to register an instanced subobject that was constructed based on an archetype that was originally instanced through the editor UI.
Change summary:
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to remove the RF_ArchetypeObject flag from the flags parameter in the NewObject() call that's emitted to the converted class ctor.

#rb None
#jira UE-61166

[CL 4223012 by Phillip Kavan in Dev-Framework branch]
2018-07-19 12:31:48 -04:00