Add a InitNotifyFlags function to UBTAuxiliaryNode, UBTTaskNode, UBTCompositeNode, UBTDecorator and UBTService to setup the various flags that must be set when some functions are overriden.
Add macros to call those functions, this is necessary as those functions are protected.
Use those macros in various nodes (not all of them, this is not possible for some blueprint tasks)
#tests PIE
Maxime.Mercier, Karl.Dubois, Guillaume.Arruda
[FYI] nicolas.bonnelly, Guillaume.Guay, Loic.Devaux, Mieszko.Zielinski, Guillaume.Morreel
#rnx
#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 18385614 via CL 18385628 via CL 18385644 via CL 18434568 via CL 18435684
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)
[CL 18436637 by charles lefebvre in ue5-release-engine-test branch]
- Part 2/2 of removing CL18339735 & CL18328294. These changes cause multiple unresponsive AIs.
Original CL Desc
-----------------------------------------------------------------
Add a InitNotifyFlags function to UBTAuxiliaryNode, UBTTaskNode, UBTCompositeNode and UBTDecorator to setup the various flags that must be set when some functions are overriden.
Add macros to call those functions, this is necessary as those functions are protected.
Use those macros in various nodes (not all of them, this is not possible for some blueprint tasks)
#tests 100% repro in local cooked builds in Test targets.
[FYI] charles.lefebvre, Maxime.Mercier, Mieszko.Zielinski, nicolas.bonnelly, Guillaume.Guay
#rb guillaume.morreel, loic.devaux
#rnx
#ROBOMERGE-AUTHOR: karl.dubois
#ROBOMERGE-SOURCE: CL 18349522 via CL 18349525 via CL 18349530 via CL 18349715 via CL 18349725
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18350095 by karl dubois in ue5-release-engine-test branch]
Add macros to call those functions, this is necessary as those functions are protected.
Use those macros in various nodes (not all of them, this is not possible for some blueprint tasks)
#tests PIE
[REVIEW] Maxime.Mercier, Mieszko.Zielinski
[FYI] nicolas.bonnelly, karl.dubois, Guillaume.Guay, Loic.Devaux
#rnx
#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 18328294 via CL 18328312 via CL 18328326 via CL 18329146 via CL 18329236
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18329324 by charles lefebvre in ue5-release-engine-test branch]
Successful reflight at https://horde.devtools.epicgames.com/job/6048bcf0ecdf57000140ae12 not submitted due to "internal error". May be due to missing "okforgithub" tag. Submitting manually.
#review-15656279
[CL 15665334 by Mieszko Zielinski in ue5-main branch]
Refactored FindField into FindUField and FindFProperty to avoid confusion caused by the fact that FindField<UField> will no longer return FProperties.
#jira UE-90683
#rb Steve.Robb
#tests Basic editor functionality test, cooked and ran PC client and server, bot soak tests for two hours
#ROBOMERGE-OWNER: robert.manuszewski
#ROBOMERGE-AUTHOR: robert.manuszewski
#ROBOMERGE-SOURCE: CL 12190998 in //UE4/Release-4.25/... via CL 12190999
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v661-12148976)
[CL 12191300 by robert manuszewski in Main branch]
#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870584 by ryan durand in Main branch]
#lockdown Nick.Penwarden
============================
MAJOR FEATURES & CHANGES
============================
Change 3623720 by Phillip.Kavan
#jira UE-49239 - Temp fix for QAGame animations not updating in a nativized build.
Change summary:
- Temporarily excluded all AnimBP assets from nativization as a workaround.
Change 3626305 by Phillip.Kavan
#jira UE-49269 - Workaround fix for crash after packaging a nativized QAGame build with all AnimBP assets disabled for nativization by default.
Change 3629145 by Marc.Audy
Don't hide developer nativization tool behind ini
Change 3630849 by Marc.Audy
Fix nativization uncompilable code when using a non-referenceable term in a switch statement.
#jira UE-44085
Change 3631037 by Marc.Audy
(4.17.2) Fix crash when nativizing blueprint with MakeMap or MakeSet node in it
#jira UE-49440
Change 3631206 by Marc.Audy
Make NAME_None == TEXT("") behave the same as NAME_None == FName(TEXT(""))
Change 3631232 by Marc.Audy
Remove outdated diagnostic code throwing false positives
#jira UE-47986
Change 3631573 by Marc.Audy
Fix containers of vector, rotator, or transform placing a space between the type and the pluralization 's'
Change 3633168 by Lukasz.Furman
fixed behavior tree changing its state during latent abort,
modified order of operations during abort to: abort & wait -> change aux nodes -> execute
Change 3633609 by Marc.Audy
Don't get unneeded string
Change 3633691 by Marc.Audy
Fix copy-pasting of a collapsed graph containing a map input losing the value type
#jira UE-49517
Change 3633967 by Ben.Zeigler
Actor.h header cleanup, fix various comments and reorganize some members, saves 80 bytes per actor in a cooked Win64 build
bRunningUserConstructionScript is now private, exposed with IsRunningUserConstructionScript
Fixed a few other fields to be private that were accidentally made public in 4.17
Change 3633984 by Michael.Noland
Blueprints: Fixed a potential crash when collapsing nodes to a function when a potential entry pin had no links
Change 3634464 by Ben.Zeigler
Header cleanups for Pawn, Controller, Character, and PlayerController
Change 3636858 by Marc.Audy
In preview worlds don't display the light error sprite
#jira UE-49555
Change 3636903 by Marc.Audy
Fix numerous issues with copy/pasting editable pin bases
#jira UE-49532
Change 3638898 by Marc.Audy
Allow right-click creation of local variables in blueprint function libraries
#jira UE-49590
Change 3639086 by Marc.Audy
PR #4006: Mark UEdGraphSchema::BreakSinglePinLink as const (Contributed by leyyin)
#jira UE-49591
Change 3639445 by Marc.Audy
Fix mistaken override and virtual markup on niagara schema function.
Change 3641202 by Marc.Audy
(4.17.2) Fix crash undoing pin changes with split pins
#jira UE-49634
Change 3643825 by Marc.Audy
(4.17.2) Fix crash right clicking a struct pin when the struct it represented has been deleted
#jira UE-49756
Change 3645110 by mason.seay
Fixed up QA-ClickHUD map so it's usable and makes more sense
Change 3646428 by Dan.Oconnor
Fix for UbergraphFrame layout changing during bytecode recompile, which would cause actual ubergraph frame layout to mismatch reflection data
#jira None
Change 3647298 by Marc.Audy
PR #4016: Rename argument name for SetInputMode (Contributed by projectgheist)
#jira UE-49748
Change 3647815 by Marc.Audy
Minor performance improvements
Change 3648931 by Lina.Halper
#Compiler : fixed so that each type of BP can provide module info, and compiler info
- Moved out AnimBlueprint Compiler
- Refactored WidgetBlueprint
- DUPE - Merging using ControlRig_Dev-Framework
Change 3654310 by Marc.Audy
Shrink USkinnedMeshComponent 64 bytes
Shrink USkeletalMeshComponent 224 bytes (160 bytes internal)
Change 3654636 by Lina.Halper
Fix crashing on shutdown
#jira: UE-50004
Change 3654960 by Lina.Halper
- Fix with automation test of creation/duplication
- Fixed shut down crash with editor again due to uobject GCed
#jira: UE-50028
Change 3655023 by Ben.Zeigler
#jira UE-50101 Fix level streaming transform when PIE-duplicating a level that has been preloaded but not made visible in the editor. Instead of always saying actors have been moved we copy the source level's flag
Change 3655426 by Ben.Zeigler
#jira UE-50019 Fix issue where StreamableManager could return objects that are partially loaded if called from PostLoad. StreamableManager never wants half-loaded objects, so change it to explicitly skip them
Change 3657627 by Ben.Zeigler
#jira UE-50157 Fix EDL load dependency issue where the simple construction script/ICH are not guaranteed to be serialized in time for subobject construction
Change 3662086 by Mieszko.Zielinski
Fixed navmesh not loading properly in PIE when owning world has been duplicated-for-play #UE4
This can happen when navigation containing level is loaded via AsyncLoadPrimaryAssetList
#jira UE-50101
Change 3662294 by Ben.Zeigler
Fix enum redirects to handle non-class enums properly where a value redirect is not specified. It needs to convert from EOldEnum::Value to ENewEnum::Value before doing the name check
Change 3662825 by Mieszko.Zielinski
Fixed VisLog debug drawing crashing when using UI to change log lines to be displayed #UE4
there was a loop iterating over elements of a map and was modifying the map as it went, which is a big no-no
Change 3664424 by Marc.Audy
UE-50076 test assets #rb none #rnx
Change 3664441 by Mieszko.Zielinski
PR #3993: UE-25907: Added logging to Log Text, Log Location, and Log Box Shape (Contributed by projectgheist)
Piggybacking on this PR I've redone how visual log is using categories. Now it's using FName rather than FLogCategoryBase to indicated log category. All UE_VLOG macros have been updated.
Change 3664506 by Phillip.Kavan
#jira UE-47852 - Fix various issues with both UAT/UBT-driven and manually-configured code/data build workflows involving nativized Blueprint assets.
Change summary:
- UAT: Removed '-nativizedAssets' command-line option. It's no longer required to specify this flag when cooking/building in order to enable nativization.
- UAT: Removed AutomationTool.ProjectParams.BlueprintPluginPaths.
- UAT: Modified AutomationTool.ProjectParams.ProjectParams() to initialize the 'RunAssetNativization' field based on the current 'BlueprintNativizationMethod' config setting. This flag is now used just to direct UAT to defer invoking UBT for '-build' until after the '-cook' stage has finished.
- UAT: Modified BuildCookRun.DoBuildCookRun() to remove the 'bWarnIfPackagedWithoutNativizationFlag' case (since we removed the '-nativizedAssets' command-line option).
- UAT: Removed Project.AddBlueprintPluginPathArgument() and Project.GetBlueprintPluginPathArgument(). These utility functions are no longer needed.
- UAT: Modified Project.Cook() to remove the registration of each NativizedAssets plugin path for '-build' along with the addition of the '-nativizedAssets' argument with the platform-agnostic path to the NativizedAssets plugin when invoking UE4Editor.exe for '-cook'. This is now handled by the UE4Editor cook commandlet instead.
- UAT: Modified Project.Build() to remove the addition of the '-plugin' argument with the path to the NativizedAssets plugin when invoking UBT for '-build'. This is now handled by UBT instead.
- UBT: Modified UnrealBuildTool.ProjectFileGenerator.DiscoverExtraPlugins() to remove the previously-added search for intermediate plugin assets based on the 'AdditionalPluginDirectories' optionally found in the .uproject file. Instead, this search is now handled via a Plugins.EnumeratePlugins() LINQ query. It is also gated by a new Advanced project setting in DefaultGame.ini that defaults to off, but this way users can still add generated assets into the solution file.
- UBT: Added UnrealBuildTool.UEBuildTarget.ShouldIncludeNativizedAssets() as a utility method for checking the current 'BlueprintNativizationMethod' setting in the game's config file.
- UBT: Modified UnrealBuildTool.UEBuildTarget.CreateTarget() to confirm the existence of a NativizedAssets plugin (generated at cook time) when the project is configured for nativization. If the plugin is found, it is added to the RulesAssembly chain and the ProjectDescriptor.ForeignPlugins list. If the plugin is not found, then a BuildException is thrown informing the user that the plugin must exist in order to build (with a note to make sure to cook the target platform first).
- UE4: Added 'Lex' namespace utility functions for converting PlatformInfo::EPlatformType to/from an FString. Note: Lex::FromString() is simply a proxy to the already-existing PlatformInfo::EPlaformTypeFromString() API, but it was included for completeness.
- UE4: Removed the UProjectPackagingSettings::bWarnIfPackagedWithoutNativizationFlag. This is no longer needed since the '-nativizedAssets' command-line option has been removed.
- UE4: Added UProjectPackagingSettings::bIncludeNativizedAssetsInProjectGeneration (advanced setting). This defaults to 'false' (off). When true, running GenerateProjects.bat will also generate project files for any NativizedAssets plugins previously generated at cook time. This gives advanced users/engineers an option to include nativized Blueprint class sources in the set of generated C++ code projects for faster browsing, etc.
- UE4: Modified UProjectPackagingSettings::PostEditChangeProperty() to remove the case that handles the 'BlueprintNativizationMethod' property. When this value changes, we no longer make an attempt to modify the .uproject file.
- UE4: Removed BlueprintNativeCodeGenManifestImpl::PlatformPlaceholderPattern. This pattern string is no longer in use. Also modified the FBlueprintNativeCodeGenPaths ctor to remove the replacement logic for the pattern string.
- UE4: Modified FBlueprintNativeCodeGenPaths::GetDefaultCodeGenPaths() to construct and return a new directory pattern for the generated NativizedAssets plugin. This is now generated to: Intermediate/Plugins/NativizedAssets/<Platform>/<Type:Game|Client|Server>.
- UE4: Modified FBlueprintNativeCodeGenPaths::PluginRootDir() to no longer append "NativizedAssets" to the end of the path to the generated NativizedAssets plugin.
- UE4: Removed FCookByTheBookStartupOptions::bNativizeAssets and NativizedPluginPath (no longer in use since the '-nativizeAssets' command-line option has been removed).
- UE4: Modified UCookCommandlet::CookByTheBook() to remove initialization of the 'bNativizeAssets' field in the startup options (since the corresponding command-line argument has been removed).
- UE4: Removed FNativeCodeGenData::DestPluginPath and modified FBlueprintNativeCodeGenModule::Initialize() to remove the check for it.
- UE4: Added FBlueprintNativeCodeGenModule::ShutdownModule(). This now handles cleanup for the nativization module after the cook process has finished.
- UE4: Modified UCookCommandlet::CookByTheBook() to no longer look for the '-nativizedAssets' command-line option as well as to remove the initialization of the nativization-related startup option flags that were removed.
- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to check the 'BlueprintNativizationMethod' config setting in order to determine whether or not to nativize assets. This replaces the '-nativizedAssets' command-line flag.
- UE4: Modified UCookOnTheFlyServer::StartCookByTheBook() to remove the case that previously handled the 'bWarnIfPackagedWithoutNativizationFlag' check. This is no longer needed since the '-nativizedAssets' flag was removed.
- UE4: Modified UCookOnTheFlyServer::CookByTheBookFinished() to unload the IBlueprintNativeCodeGenModule instance after cooking, in order to reset module state for another potential pass within the same process context.
- UE4: Modified UWidgetBlueprintGeneratedClass::InitializeTemplate() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we shift the OldArchetype object into the transient package, it doesn't invalidate the outer package's linker. We need that to remain valid so that multiple nativized cooks within the same process don't fail.
- UE4: Modified FMainFrameActionCallbacks::PackageProject() to remove the addition of '-nativizedAssets' to the UAT command line based on project settings (this is no longer needed, as it is now handled internally by UAT).
- UE4: Modified SaveWorld() to append 'REN_ForceNoResetLoaders' to the Rename() flags so that when we rename the world instead of duplicating it, it no longer triggers a reset of *all* object loaders.
Notes:
- After this change, all nativization workflows (e.g. UAT, UBT and UE4Editor) now look to the 'BlueprintNativizationMethod' flag in the Project settings (UProjectPackagingSettings). This unifies everything on a single flag by default, and removes the feature added in 4.17 that touched the .uproject file when that setting changed (which itself introduced a couple of new regressions in that release).
- Advanced users and build engineers can override this value per task. Instructions to do that are as follows:
- For UAT/UBT/UE4Editor.exe tasks, adding '-ini:Game:[/Script/UnrealEd.ProjectPackagingSettings]:BlueprintNativizationMethod=<Disabled|Inclusive|Exclusive>' will allow the current setting to be overridden on the command line.
- When '-cook' is included on the RunUAT BuildCookRun command line, the above needs to also be embedded within the '-AdditionalCookerOptions' command-line argument. This means that if both '-cook' and '-build' are included, then both the '-ini' argument shown above as well as the same '-ini' argument embedded inside the '-AdditionalCookerOptions' argument will need to be included for the build pipeline to work properly.
- We should add a release note instructing users to check their .uproject file and remove any 'AdditionalPluginDirectories' entries that list the "Intermediate/Plugins" path. This will avoid issues when building the cooked target with UBT.
- We should also add a release note and/or documentation to explain the "advanced" build pipeline options (i.e. the '-ini' argument noted above).
Change 3665061 by Phillip.Kavan
Fix crash on load in a nativized build caused by a reference to a BP class containing a nativized enum.
Mirrored from //UE4/Release-4.18 (CL# 3664993).
#3969
#jira UE-49233
Change 3665108 by Marc.Audy
(4.18) Fix crash when diffing a blueprint whose older version's parent blueprint has been deleted
+ additional code cleanup
#jira UE-50076
Change 3665114 by Marc.Audy
Minor change that could potentially improve performance in some cases
Change 3665410 by Mieszko.Zielinski
Fixed naming of Vislog's BP API #UE4
Change 3665634 by Ben.Zeigler
#jira UE-50045 Mark PIE-duplicated packages as explicitly fully loaded to fix PIE networking crash. These used to be accidentally treated as fully loaded because it was checking the wrong package name on disk
Change 3666970 by Phillip.Kavan
Do not emit a BOM when generating nativized Blueprint asset source files encoded as UTF-8.
#jira UE-46814
Change 3667058 by Phillip.Kavan
Ensure that '-build' is always passed to BuildCookRun automation for projects configured with Blueprint nativization enabled so that it doesn't skip that stage.
Mirrored from //UE4/Release-4.18 (CL# 3667043).
#jira UE-50403
Change 3667150 by Mieszko.Zielinski
PR #4042: BT CompositeDecorator node clears RF_Transient flag for all owned Decorator nodes. (Contributed by BibbitM)
Minor tweak from the original PR - made UBehaviorTreeDecoratorGraphNode_Decorator::ResetNodeOwner protected and added UBehaviorTreeGraphNode_CompositeDecorator class a a friend.
#jira UE-50249
Change 3667152 by Mieszko.Zielinski
PR #4047: Clearing RF_Transient flag when reseting EQS node owner - single change. (Contributed by BibbitM)
#jira UE-50298
Change 3667166 by Mieszko.Zielinski
Fixed FRichCurve baking so that it doesn't loose its curvature #UE4
Also, added some baking sanity checking (like if the range is larger than a single point).
Change 3668025 by Dan.Oconnor
Added a step to the compilation manager to skip recompilation of classes that are dependent on a given classes function signatures when those signatures have not changed
#jira UE-50453
Change 3672063 by Ben.Zeigler
#jira UE-49049 Fix issue with StreamableHandle ParentHandles array being modified during iteration, I had already fixed the Cancel case but not the complete case
Change 3672306 by Ben.Zeigler
#jira UE-50571 Fix issue where PrimaryAsset blueprints would be incorrectly added to the dictionary if their base class had an active class redirect referencing it
Change 3672683 by Marc.Audy
Code cleanup
Change 3672749 by Ben.Zeigler
Fix issue where deleting a source package would not cause the generated cooked package to get deleted while doing an incremental build
Change 3672831 by Ben.Zeigler
#jira UE-50507 Add a cook/save warning when a registered PrimaryAssetId does not match the object's real exported PrimaryAssetId.
Make PrimaryDataAsset blueprintable so you can make primary assets in a blueprint-only project
Change 3673551 by Ben.Zeigler
#jira UE-50029 Fix it so data-only blueprints will never create a UCS function in the final class. If you manually compiled the blueprint or it got recompiled due to inheritance it would create a UCS function that just calls its parent, which could cause problems later on when it did not create a UCS function during normal load
Change 3675074 by mason.seay
Test map for VisLog Testing
Change 3675084 by Mieszko.Zielinski
Fixed BT editor constantly marking BT asset as dirty if it has a "RunBehavior" node #UE4
#jira UE-43430
Change 3676490 by Ben.Zeigler
#jira UE-50635 Fix it so directly blueprinting PrimaryDataAsset will give you a useful PrimaryAssetType. Unless overridden the Type of a PrimaryDataAsset will be the first native class found in the hierarchy, or the the blueprint class that directly blueprints PrimaryDataAsset
Change 3676579 by Lukasz.Furman
fixed crash in behavior tree's search rollback
Change 3676586 by Lukasz.Furman
added local scope mode to behavior tree's composite nodes
Change 3676587 by Ben.Zeigler
Swap PrimaryAssetId property customization to use the same ui as the Pin customization. This one better handles objects that aren't loaded into memory, the old Property one would show None in that case
Add browse, use selected, and clear buttons, and make ID selector font the normal property font
Change 3676715 by Lukasz.Furman
changed order of behavior tree's aux node ticking
Change 3676867 by Ben.Zeigler
#jira UE-50665 Fix issue where resolving Soft Object Ptrs that are stored inside static assets or Blueprint CDOs from PIE will return the editor actor, not the PIE actor. So when resolving a path/ptr during PIE add a failsafe to do a PIE fixup
Fix issue where Lazy pointer fixup could corrupt Soft Object Ptrs by applying the PIE fixup too early
Change 3677892 by Ben.Zeigler
Fix crash when additional level viewport sprites are added after level editor module is loaded. This is basically the same fix as CL #3491406, but for sprites
Change 3678247 by Marc.Audy
Fix static analysis warning
Change 3678357 by Ben.Zeigler
#jira UE-50696 Add some container variables to diff test to track down crashes
Change 3678385 by Ben.Zeigler
#jira UE-50696 Fix crash diffing blueprints where array properties were changed. It needs to not run the generic identical check until it's sure the container types match
Change 3678600 by Ben.Zeigler
#jira UE-50703 Fix crash when a soft actor reference is not actually pointing to an actor, treat it like a broken reference
Change 3679075 by Dan.Oconnor
Mirror 3679030 from Release-4.18
Fix crash when compiling a level blueprint that has delegates to a blueprint that it also has a direct dependency on
#jira UE-48692
Change 3679087 by Dan.Oconnor
Filter out unnecessary relink jobs from the compilation manager
#jira None
Change 3680221 by Ben.Zeigler
#jira UE-50764 Fix crash when converting a property from a soft object reference to hard, it needs to validate the class after the conversion and null if necessary
Change 3680561 by Lukasz.Furman
fixed unsafe StopTree calls in behavior tree
#jira nope
Change 3680788 by Ben.Zeigler
Fix issue where scrubbing sequencer in simulate would not modify actors. We need to temporarily set the PIE context global when doing this specific type of actor bind
Change 3683001 by mason.seay
Submitting various test maps and assets
Change 3686837 by Mieszko.Zielinski
Fixed NavMeshBoundsVolume not updating navmesh when its location gets changed via the Transform Details widget #Orion
#jira UE-50857
Change 3688451 by Marc.Audy
Fix up new material expression to work with String -> Name refactor
Change 3689097 by Mason.Seay
Test content for nativization and enum testing
Change 3689106 by Mieszko.Zielinski
Made NavMeshBoundsVolume react to undo in the editor #Orion
#jira UE-51013
Change 3689347 by Mieszko.Zielinski
Fixed a crash on FAIDynamicParam creation resulting from uninitialized member variables #UE4
Manual merge of CL#3689316 over from 4.18
#jira UE-51019
Change 3692524 by mason.seay
Moved some assets to folder for org, fixed up redirectors
Change 3692540 by mason.seay
Renaming test maps so they are clearly indicated for testing nativization
Change 3692577 by mason.seay
Deleted a bunch of old assets I created specifically for various bugs reported. All issues are closed so they're no longer needed
Change 3692724 by mason.seay
Deleting handful of assets found in developer folders of those no longer with the team. Moved assets that are still used by test maps
Change 3693184 by mason.seay
Assets for testing nativization with structs
Change 3693367 by mason.seay
Improvements to test content
Change 3695395 by Dan.Oconnor
Fix for rare linker issue, IsBlueprintFinalizationPending would return true when we were trying to force load subobjects that were now ready to be loaded. This would prevent some placeholder objects from being replaced
#jira None
Change 3695484 by Marc.Audy
Fix sound cue connection drawing policy not getting returned.
#jira UE-51032
Change 3695494 by mason.seay
More test content for nativization testing
Change 3697829 by Mieszko.Zielinski
PR #4104: Fixed a typo CaclulateMaxTilesCount to CalculateMaxTilesCount (Contributed by YuchenMei)
Change 3700541 by mason.seay
Test map for containers with function bug
Change 3703459 by Marc.Audy
Remove poorly named InverseLerp
Fix degenerate behavior returning bad value
#jira UE-50295
Change 3703803 by Marc.Audy
Clean up autos
Minor improvement to ShouldGenerateCluster
Change 3704496 by Mason.Seay
More test content for testing nativization
Change 3706314 by Marc.Audy
PR #4085: GetDefaultPawnClassForController -> BlueprintCallable (Contributed by Allar)
#jira UE-50874
Change 3707502 by Mason.Seay
Final changes to nativization test content (hopefully)
Change 3709478 by Marc.Audy
PR #4144: Exposed MassageAxisInput for inheritence (Contributed by jackknobel)
Same as CL# 3689702 implemented in Fortnite
#jira UE-51453
Change 3709967 by Marc.Audy
PR #4139: fixed a typo in a comment (Contributed by derekvanvliet)
#jira UE-51372
Change 3709970 by Marc.Audy
PR #4150: Fixed a typo in movement override comment (Contributed by ruffenman)
#jira UE-51495
Change 3709971 by Marc.Audy
PR #4149: Fixing typo on movement pawn component (Contributed by celsodantas)
#jira UE-51492
Change 3710041 by Marc.Audy
Minor code cleanup
Change 3711223 by Phillip.Kavan
Move some Blueprint nativization log spam into the verbose category.
#jira UE-49770
Change 3713398 by Marc.Audy
PR #4157: Renamed AActor::InternalTakePointDamage function's parameter. (Contributed by BibbitM)
#jira UE-51517
Change 3713601 by Marc.Audy
Fix merge error
Change 3713994 by Marc.Audy
(4.18) Just mark level script actor pending kill when the level script blueprint has been recompiled, instead of trying to send it through the destroy actor lifecycle event.
#jira UE-50738
Change 3714270 by Marc.Audy
Fix crashes with tickables as a result of virtuals not being usable in constructors/destructors
#jira UE-51534
Change 3714406 by Marc.Audy
Fix dumb inverted boolean check
Change 3716594 by Dan.Oconnor
Integrate 3681301 from 4.18
Only run OnLevelScriptBlueprintChanged when explicitly compiling a level blueprint, this matches the old behavior
#jira UE-50780, UE-51568
Change 3686450 by Marc.Audy
PinCategory, PinSubcategory, and PinName are now stored as FName instead of FString.
CreatePin has several simplified overrides so you can only specify Subcategory or SubcategoryObject or neither.
CreatePin also takes a parameter bundle for reference, const, container type, index, and value terminal type rather than a long list of default parameters.
Material Expressions now store input and output names as FName instead of FString
FNiagaraParameterHandle now stores the parameter handle, namespace, and name as FName instead of FString
Most existing pin related functions using string have been deprecated.
Change 3713796 by Marc.Audy
Added virtual GetTickableType function to FTickableBaseObject that can return Conditional (default), Always, or Never. Tickable Never objects will not get added to the tickable array or ever evaluated. Tickable Always objects do not call IsTickable and assume it will return true. Tickable Conditional objects work as in the past with IsTickable called each frame to make the determination whether to call Tick or not.
IsTickable no longer a pure virtual (defaults to true).
Applied fixes to avoid array corruption when a FTickableEditorObject is deleted during the tick phase consistent with previous fixes to FTickableGameObject.
Change 3638554 by Marc.Audy
Add enum expansion functional test to validate that the metadata ExpandEnumAsExecs works as expected.
Change 3676502 by Ben.Zeigler
Add Blueprint-only primary asset type to EngineTest, to cover testing UE-50635
[CL 3718205 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3343905 by Dan.Oconnor
ResolveMember optimizations and moved into cpp. ResolveMember<UFunction> now checks UClass::FuncMap before doing more expensive searches
Change 3346637 by Ben.Zeigler
Actually fix in non editor builds
Change 3355484 by Dan.Oconnor
Back out FMemberReference Optimization
Change 3425833 by Ben.Zeigler
#jira UE-31749 Fix it so Undo works properly when modifying a local variable
#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value
Change 3510091 by Marc.Audy
Expose on Spawn functional test
#rnx
Change 3510100 by Marc.Audy
Fix spelling error
#rnx
Change 3510132 by Marc.Audy
Fix issues with marking a widget blueprint class as abstract
Change 3510133 by Marc.Audy
Minor code cleanup
#rnx
Change 3510178 by Ben.Zeigler
#jira UE-46500 Fix it so editor-only and transient stuct members are not serialized for literal blueprint structs. It's unsafe to serialize them because they may not exist in the cooked build
Change 3510466 by Ben.Zeigler
Start adding basic ability system tests to enginetest, very minimal so far
Change 3511295 by Marc.Audy
Fix wasted work going weak -> object -> weak -> object
#rnx
Change 3511824 by Marc.Audy
Fix spelling error in tooltip
#jira UE-46515
#rnx
Change 3514446 by Ben.Zeigler
Fix ActorBoundEvent and ComponentBoundEvent to always refresh their event signature from the delegate property they are bound to. This is required to correctly deal with delegate signatures being moved or renamed. Both types now do the fixup one time, in ReconstructNode.
Change 3514578 by Marc.Audy
Move clearing of the actor component need end of frame update mark to base class instead of just primitive component
Change 3514583 by Ben.Zeigler
Better fix to last delegate checkin that also handles moving functions between modules but not renaming
Change 3515325 by Dan.Oconnor
Fix for rare orphan pin false positive, rare exposed on spawn false positive
#rnx
Change 3515761 by Marc.Audy
fix shipping configuration
#rnx
Change 3515772 by Marc.Audy
Fix static analysis warnings
#rnx
Change 3516287 by Marc.Audy
Fix references to instanced components not being updated when resetting component to default
#jira UE-44706
#rnx
Change 3516303 by Marc.Audy
Back out CL# 3516287 while an oddity is investigated
#rnx
Change 3516563 by Marc.Audy
(4.17) Fix references to instanced components not being updated when resetting component to default
#jira UE-44706
Change 3516637 by Phillip.Kavan
#jira UE-44661 - Fix potential crash when changing the ChildActorComponent class default value on a Blueprint that also sets the class in the Construction Script.
Change summary:
- Modified UChildActorComponent::DestroyChildActor() to move the check for PendingKill/Unreachable so that we can also rename a defunct ChildActor instance out of the way in order to allow for a new ChildActor instance w/ the cached name.
Change 3517735 by Marc.Audy
Avoid unnecessary string copy
#rnx
Change 3517931 by Marc.Audy
Small optimization to CleanupActors
Change 3518221 by Dan.Oconnor
Fix rare crash when running ConformImplementedEvents when async loading
#jira UE-45348
Change 3518270 by Ben.Zeigler
#jira UE-46574 Add FCollectionReference type and customization to allow setting an FName to an editor collection
Add AssetCollection to PrimaryAssetLabel that derives the bundled assets from an editor collection
Change 3518271 by Marc.Audy
Get rid of unnecessary construction differentiation if custom reset is being used
Change 3518310 by Ben.Marsh
Re-adding IOS files with correct case.
Change 3518423 by Ben.Zeigler
#jira UE-46574 Initial support for chunk installation in Asset Manager.
Refactor AssetManagerSettings so it copies runtime bools into the asset manager for fast access
Add a concept of a stalled streamable manager handle, handles can be created stalled and will not execute their async load until all needed resources have been acquired externally
Change 3518480 by Marc.Audy
Correctly get the variable reference for an input variable get from the member scope rather than a member variable of the same name on the class
#jira UE-46737
Change 3518498 by Ben.Zeigler
Fix bug with AssetManager where requesting the same load twice in a row before the first one finishes caused the complete callback to get called too early for the second load
Update test map to catch this
Change 3518526 by Ben.Zeigler
IOS Fix
Change 3518619 by Ben.Zeigler
#jira UE-46744 Fix issue where refreshing asset manager editor settings would throw away asset label rules overrides, causing the recursive flag to accidentally get set
Change 3518747 by Phillip.Kavan
#jira UE-43154 - Prevent ConstructGenericObject nodes from compiling if the selected type does not include 'BlueprintType' in its inheritance hierarchy.
Change summary:
- Moved UGameplayStatics::CanSpawnObjectOfClass() into UK2Node_GenericCreateObject as a local util method (per JIRA notes). This was not exposed to Blueprints and as such was inconsistent with the rest of the API.
- Modified UGameplayStatics::SpawnObject() to no longer call CanSpawnObjectOfClass(). This seemed redundant as this will already have been called during node validation at Blueprint compile time.
- Refactored CanSpawnObjectOfClass() into FK2Node_GenericCreateObject_Utils. Walking up the inheritance chain no longer starts out w/ the assumption that 'BlueprintType' is set by default, which was previously including a lot of engine-specific classes into the "allowed" set (e.g. UByteProperty). Also unified the 2 loop iterations that were being used to check for 'BlueprintType'/'NotBlueprintType' and 'DontUseGenericSpawnObjectName', as well as the check for whether or not the class is a derivative of AActor/UActorComponent.
- Modified UK2Node_GenericCreateObject::EarlyValidation() to call FK2Node_GenericCreateObject_Utils::CanSpawnObjectOfClass() and emit a slightly more informative error message to the BP compiler message log.
Change 3518756 by Michael.Noland
(4.17) Framework: Prevent various asserts when USplineComponent methods are called on a spline with no points
Change 3518760 by Michael.Noland
Core: Changed FRuntimeAssetCache ensures to ensureAsRuntimeWarning
Change 3518771 by Michael.Noland
AI: Prevent an ensure in UBlackboardComponent::ClearValue when called on a component with a null BlackboardAsset
Change 3518818 by Michael.Noland
Rendering: Fixed a whitespace issue in UCanvasRenderTarget2D::RepaintCanvas()
#rnx
Change 3518822 by Michael.Noland
Sequencer: Prevented crashes in some methods of UMovieSceneSequencePlayer when there is no Sequence set
Sequencer: Prevented a crash in FMovieSceneRootEvaluationTemplateInstance::Evaluate when the instance has no template set
Change 3518824 by Michael.Noland
Landscape: Marked ULandscapeComponent and ULandscapeHeightfieldCollisionComponent as Within=LandscapeProxy, since they do CastChecked on their Outer all the time
Change 3519073 by Michael.Noland
QAGame: Fixed a crash in UQASynth::PlaySynth() if called on a directly created instance rather than using the factory method
Change 3519076 by Michael.Noland
Preventing crashes in UAutomationPerformaceHelper (sic) when spawned abnormally for fuzzing (assumes that the outer will have a route to a world)
#rnx
Change 3519079 by Michael.Noland
Sequencer: Fixed a potential crash in UMediaPlaylist::Insert and UMediaPlaylist::RemoveAt when passed an invalid index
Change 3519081 by Michael.Noland
Blueprints: Added support for creating appropriate outers for objects that must be nested within another class during fuzzing (ones that specify Within=, other relationships aren't knowable yet)
Change 3519082 by Michael.Noland
VR: Prevent a crash in UMRMeshComponent::ConnectReconstructor when passed a null reconstructor
Change 3519084 by Michael.Noland
Rendering: Prevent crashes when UNiagaraComponent::GetEffectDataInterface is called on a component with no effect asset set
Change 3521889 by Michael.Noland
Sequencer: Prevented a bogus static analysis warning by reworking the code (FixedFrameInterval could have only been set if the pointer were valid from the line above)
#rnx
Change 3521987 by Michael.Noland
Animation: Prevent a couple of potential asserts in UControlRig::GetOrAllocateSubControlRig
Change 3522101 by Michael.Noland
Physics: Improved the comment on UPhysicalMaterial::Friction
#rn
Change 3522105 by Michael.Noland
Physics: Fixed a few crashes in UVehicleWheel when spawned directly
Change 3522106 by Michael.Noland
Framework: Marked ULevelStreaming as Within=World, since it does CastChecked on the Outer all the time
Change 3522109 by Michael.Noland
Animation: Marked UAnimInstance as Within=SkeletalMeshComponent since it assumes the outer in various places
Change 3522121 by Michael.Noland
Mobile: Prevent UMobileInstalledContent methods from crashing when called on a created instance in an uncooked build (no installed manifest)
Change 3522783 by Zak.Middleton
#ue4 - Imported new simple collision for Engine/Content/BasicShaps/Cylinder.uasset which is a single convex shape (rather than being 4 shapes as before).
Change 3525477 by Dan.Oconnor
Remove Tooltip, Category, and HideCategories tooltip from the blueprint generated class if source data is cleared
Change 3526538 by Ben.Zeigler
Refresh primary asset labels if their bundles are different at all and not just if they're added or removed. This is required because they now work based on collections or directories. This fixes issue with the onboarding collection changes not correctly modifying chunks
Copy of CL #3526501
Change 3526817 by Ben.Zeigler
#jira UE-46917 Fix issue where maps that do not contain level script blueprints were being counted as unindexed for find in blueprints. The old behavior depended on detecting the existence of empty tags, but the asset registry now filters those out so treat maps with no FiB data as indexed
Change 3526873 by Ben.Zeigler
#jira UE-46627 Change it so blueprint or native subclasses of static mesh actor cannot be added to clusters, as they are not likely to be immutable the way the base class is
Add code to to the ubergraph frame to fall back to hard reference serialization if the reference collector doesn't support weak references, such as the cluster collector
Change 3526958 by Marc.Audy
(4.17) Don't copy and then break pin links when reconstructing. Instead simply move.
#jira UE-46935
Change 3528916 by Marc.Audy
PR #3609: Adds GetKeysForAxis() to complement GetKeysForAction() in UPlayerInput (Contributed by alanedwardes)
#jira UE-45347
Change 3529080 by mason.seay
BP asset for undetermined type bug
Change 3529381 by Marc.Audy
Fix ability to insert duplicates in to a set or map
Change 3529471 by Dan.Oconnor
Fix for clang 4.0 error: definition of builtin function '__rdtsc' inline unsigned long long __rdtsc()
Change 3530876 by Marc.Audy
Based on PR #3457: Add MakeSet BP node (Contributed by projectgheist)
Also refactored MakeArray/Set to share a base MakeContainer class
Cleaned up some dead code from MakeArray
Added icon for MakeSet
Added Functional Test for MakeSet
#jira UE-43717
Change 3531070 by Phillip.Kavan
#jira UE-46866 - Fix crash on load when an external variable member reference's owning type cannot be loaded.
Change summary:
- Modified FBlueprintEditorUtils::GetSkeletonClass() to check for NULL before attempting to check for the generating BP.
Change 3531081 by Marc.Audy
Remove deprecated CustomMapParamValue code
Change 3531094 by Phillip.Kavan
#jira UE-46952 - Fix a packaging code build failure that will occur with a nativized Blueprint class that contains a UInterfaceProperty.
Change summary:
- Modified TScriptInterface::operator=() to cast the given 'SourceObject' instance to the 'InterfaceType' type before assigning to 'SourceInterface'. This was necessary because if the caller (in this case nativized codegen) passes in a UObject* that does not explicitly inherit from 'InterfaceType', then it will need to go through the object's GetInterfaceAddress() API instead and cast the result back to an 'InterfaceType' pointer.
Change 3531186 by Phillip.Kavan
Back out changelist 3531094 (temp CIS fix).
#rnx
Change 3532082 by Marc.Audy
Move garbage collection timers and other management to UEngine instead of UWorld
Fixes CollectGarbage blueprint node not working in shipping
#jira UE-46566
Change 3532134 by Phillip.Kavan
Restored changelist 3531094 w/ fix for non-unity.
- Mirrored from //UE4/Release-4.17 (CL# 3531232).
#rnx
Change 3533009 by Marc.Audy
Fixup missing function and deprecation warnings
Change 3534056 by Marc.Audy
(4.17) Fix expose on spawn of map and sets to work
#jira UE-47140
Change 3534761 by Marc.Audy
(4.17) Apply code review changes to Dev-Framework as well
#rnx
Change 3535147 by Dan.Oconnor
Build fix, already made in 4.17
#rnx
Change 3535530 by mason.seay
Resaving to remove error when opening level blueprint
Change 3535581 by Marc.Audy
Class Properties are only identical if they are literally the same object. Do not consider the deep compare port flags as object property base does.
#jira UE-46533
Change 3535583 by Marc.Audy
When properties are imported in to a child actor component the cached instance data is invalidated, so clear it.
#jira UE-46533
Change 3535617 by Marc.Audy
PR #3788: UE-39237: Prevent (im-)pure casting during BP debugging (Contributed by projectgheist)
#jira UE-47188
#jira UE-39237
Change 3535671 by Marc.Audy
Change NodeFactory to look at interface to use sequence node instead of each node having to add itself
Change 3535955 by Marc.Audy
Prevent MakeSet from removing split pins
Change 3536114 by Michael.Noland
Paper2D: Removing deprecated code from 4.3/4.4 era
#rnx
Change 3536120 by Michael.Noland
Animation: Removed deprecated FTAlphaBlend class and AlphaBlendType.h header
Change 3536124 by Michael.Noland
Physics: Removed deprecated methods that were replaced by _AssumesLocked variations
Change 3536131 by Michael.Noland
Slate: Converting remaining uses of EKeyboardFocusCause to EFocusCause and properly deprecating it
Change 3536138 by Michael.Noland
Slate: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536167 by Dan.Oconnor
When a client provides a skeleton class as the self scope, make sure we also use a skel class for non-self scopes - but only if using the compilation manager. Skel classes are not reliably up to date when not using the compilation manager
#jira UE-46904
Change 3536221 by Michael.Noland
Editor: Removing deprecated code from 4.9 or earlier
Change 3536240 by Michael.Noland
Blueprints: Removed long-deprecated TypeToString method from the K2 schema
#rnx
Change 3536243 by Michael.Noland
AI: Prevent crashes if UMockTask_Log is created manually rather than via the CreateTask factory method
Change 3536244 by Michael.Noland
Core: Prevent FScopedExternalProfilerBase::StopScopedTimer() from asserting if called an unmatched number of times with StartScopedTimer, as both are exposed to BPs now
Change 3536250 by Michael.Noland
CoreUObject: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536253 by Michael.Noland
Core: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536310 by Michael.Noland
Engine: Removed any deprecated code older than 4.10 that didn't affect content compatibility
Change 3536397 by Mieszko.Zielinski
Fixed UCrowdFollowingComponent::UpdateCachedDirections crashing when CharacterMovement is not set #UE4
#jira UE-46860
Change 3536404 by Michael.Noland
Platform: Added a warning for others when they try to remove this 'deprecated' method
Change 3536639 by Michael.Noland
CharacterMovement: Changed the name of a variable introduced in CL# 3536397 to better match intent
#rnx
Change 3536893 by Michael.Noland
Blueprints: Clear the stale value on the value pin when a map find node fails to find an item
#jira UE-47233
Change 3536902 by Michael.Noland
Framework: Killed a couple of more deprecated methods that were not exposed to Blueprints
#rnx
Change 3537038 by Ben.Marsh
Fixing case of iOS directories, pt1
Change 3537039 by Ben.Marsh
Fixing case of iOS directories, pt2
Change 3538246 by Michael.Noland
UnrealTournament: Fixing issues with renamed enum
#rnx
Change 3538618 by Ben.Zeigler
Fix ensure when closing sequencer transform UI
Change 3540213 by Ben.Zeigler
#jira UE-47313 Fix crash serializing a MapProperty where the value type has changed for a type that implements ConvertFromType. The address passed to ConvertFromType needs to be the container root, not the specific value address, keys worked because the offset was 0.
Change 3540253 by Marc.Audy
Only copy default values for input pins as output pins do not have them
#rnx
Change 3540376 by Marc.Audy
Add utility FromPinType for FEdGraphTerminalType
#rnx
Change 3540433 by Marc.Audy
Add MakeMap
#jira UE-47093
Unify IsConnectionDisallowed for containers and fix static analysis warning
#jira UE-47291
Change 3540585 by Phillip.Kavan
#jira UE-47117 - Fix crash on launch of a nativized build that includes an instanced default subobject that's referenced by another instanced default subobject.
Change summary:
- Modified FEmitDefaultValueHelper::HandleSpecialTypes() to only direct HandleInstancedSubobject() to emit code to create the instanced subobject if it's not a default subobject. This was previously being incorrectly interpreted as an object having the 'RF_ArchetypeObject' flag set; however, default subobjects will also have that flag set in addition to the 'RF_DefaultSubobject' flag.
- Modified FEmitDefaultValueHelper::HandleInstancedSubobject() to assert in the 'GetDefaultSubobjectByName' case if the given object is not also a default subobject.
Change 3541147 by Dan.Oconnor
Fix for not being able to override custom events when using the compilation manager post 3536167
#jira UE-47292
#rnx
Change 3541177 by Ben.Zeigler
#jira UE-46595, UE-46553 Fix issue where creating a widget template could cause a widget blueprint being cooked to have the wrong package flags, making it appear to be an uncooked package
Copy of CL #3541027
Change 3541325 by Dan.Oconnor
K2node data table data needs to preload data before the compilation queue is flushed
#rnx
#jira UE-47319
Change 3541409 by Michael.Noland
Blueprints: Added code to reapply any active breakpoints after recompilation when using the BP compilation manager
#jira UE-47322
[reimplementing CL# 3541404 in Dev-Framework]
Change 3541418 by Dan.Oconnor
Fix for bad SKEL_ CDO reference in blueprint bytecode
#jira UE-47265
#rnx
Change 3541482 by Dan.Oconnor
Blanket fix up of preload calls that are being done in AllocateDefaultPins. AllocatDefaultPins is not called until compile, meaning if these preload calls load blueprints they will be loaded while the compilation manager is compiling blueprints
#rnx
#jira UE-47319
Change 3541817 by Marc.Audy
Fix static analysis warnings
#rnx
Change 3542299 by Michael.Noland
Blueprints: Speculative fix for static analysis warning
#rnx
Change 3542406 by Marc.Audy
Use a check slow to avoid any cost
#rnx
Change 3542486 by Michael.Noland
Asset Manager: Removing an unnecessary ensure (it's a potentially expected case)
#jira UE-47380
Change 3542659 by Michael.Noland
Blueprints: Clear out null entries in the LastEditedDocuments list during PostLoad() and remove entries when a graph is being deleted to prevent their generation in the first place
#jira UE-47385
Change 3543620 by Dan.Oconnor
Remove overzealous ensure - we may recompile blueprints that are asynchronously loading when a user triggers a synchronous compile
#jira UE-47415
#rnx
Change 3518415 by Ben.Zeigler
#jira UE-46574 Deprecate IPlatformChunkInstall::SetChunkInstallDelgate as it was spelled wrong, was only half implemented, and did not support success vs failure
Replace with AddChunkInstallDelegate, which supports a bool error code and is bound once instead of separately for each chunk. All implementations support this delegate at a basic level, although several could be improved to call the failure delegate in more cases
Change 3534339 by Michael.Noland
Platforms: Changed DEPRECATED() macro description to use 4.xx rather than a speciifc version in examples, so it doesn't show up when removing deprecated code
[CL 3544050 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
Change 3315047 on 2017/02/21 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion
HTN code first check in #UE4
#rb none
#test currently unused
Change 3314042 on 2017/02/21 by Jason.Bestimt@Jason.Bestimt_Dev-General
#ORION_DG - DAILY Main @ CL 3313484
#RB:none
#Tests:none
Change 3313355 on 2017/02/20 by Uriel.Doyon@uriel.doyon_PC2_Orion
Changed the preliminary GPU benchmark workloads to take into account the target workload.
This is to prevent running the last test with poor performance, risking a driver reset.
#jira OR-29915
#rb marcus.wassmer
#test Run the game triggering benchmarks
Change 3312553 on 2017/02/20 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion
Implemented a simple AITask for running EQS queries #UE4
#rb Lukasz.Furman
#test golden path
Change 3311661 on 2017/02/20 by Jason.Bestimt@Jason.Bestimt_Dev-General
#ORION_DG - Merge MAIN @ CL 3311631
#RB:none
#Tests:none
Change 3310392 on 2017/02/17 by Daniel.Lamb@daniel.lamb_T3905_6612
Unreal pak now outputs to named log files instead of timestamps.
#rb Trivial
#test Cook deploy paragon
#jira OR-36057
Change 3310196 on 2017/02/17 by Clayton.Langford@RDU-WD-8359_3635_Paragon_DevGen
Created an event to be fired whenever a GameplayCue is routed that passes all relevant info about that GC. Added a listener in OrionPhasedFunctionalTest that parses that event into a string and stores it in an array to be accessed from a test phase later.
#test PIE
#rb Ben.Salem, Adric.Worley
Change 3308437 on 2017/02/16 by Jason.Bestimt@Jason.Bestimt_Dev-General
#ORION_DG - Merge MAIN @ CL 3308413
(Prep for Merge up)
#RB:none
#Tests:none
Change 3306497 on 2017/02/16 by Andrew.Grant@andrew.grant.T6730.orion.floating
Fix for compilation issue with USE_MALLOC_STOMP
#rb none
#tests compiled with malloc_stomp
Change 3306468 on 2017/02/16 by Cody.Haskell@OrionStream
#Orion
- Text popup work for Shield. If you click on an OrionEditableTextBox while running the game with -gfn, a special popup is called. Should do nothing normally.
#rb none
#tests PIE, golden path.
Change 3305945 on 2017/02/16 by David.Ratti@David.Ratti_G6218_Orion.Dev-General
Remove unused/deprecated UGameplayEffectExtension class
#rb #tests none
Change 3304630 on 2017/02/15 by Jason.Bestimt@Jason.Bestimt_Dev-General
#ORION_DG - Merge Mieszko stuff from MAIN to DG
#RB:none
#TestS:none
#!codereview: mieszko.zielinski
Change 3303785 on 2017/02/15 by jason.bestimt@Jason.Bestimt_Dev-General
#ORION_MAIN - Merge 38.3 @ CL 3303224
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3303718 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
#!ROBOMERGE-SAYS: Unresolved conflicts. jason.bestimt, please merge this change by hand.
//Orion/Dev-General/OrionGame/Content/UI/DeckBuilder/DeckBuilderRoot.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/UI/Master_Layouts/FrontEnd.uasset - can't integrate exclusive file already opened
#!codereview: jason.bestimt
Change 3302382 on 2017/02/14 by Alexis.Matte@amatte-orion-dev-general
Fix import of morph target when there is no animation
#jira UE-41383
#jira OR-35859
#rb none
#test none
Change 3301538 on 2017/02/14 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 38.3 @ CL 3301392
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3301481 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3299985 on 2017/02/13 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream
added time limit to "get out of overlap" move for minons to avoid getting stuck in moving to inaccessbile spots
#jira OR-35834
#rb Mieszko.Zielinski
#tests PIE
Change 3299732 on 2017/02/13 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion
Tweaked the way EQS tests of negative score get normalized #UE4
#rb none
#test golden path + math
#!codereview Lukasz.Furman, John.Abercrombie
Change 3299724 on 2017/02/13 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion
Generic AI interface extensions #UE4
Mostly getters
#rb none
#test golden path
Change 3299717 on 2017/02/13 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion
A little tweak to VisLog's point labels drawing - if there's only one point in a set it will no longer append '_0' to the label #UE4
#rb none
#test PIE
Change 3299527 on 2017/02/13 by Paul.Moore@OrionWorkspace_Dev-General
#orion #mms
- Update libWebSockets binaries to fix Linux server web socket connections.
#tests matchmaking, mms
#rb none
Change 3299278 on 2017/02/13 by David.Ratti@David.Ratti_G6218_Orion.Dev-General
Ability Task Pass: tasks should not broadcast out (back into ability graph) if the owning ability has completed EndAbility.
#rb none
#tests pie, golden path
Change 3297884 on 2017/02/10 by Paul.Moore@OrionWorkspace_Dev-General
#mms
- Enable SSL module for PS4 (needed by OpenSSL when using WebSockets).
- Turn on verbose logging for WebSockets module for initial MMS debugging.
#tests PS4
#rb none
Change 3296911 on 2017/02/10 by John.Pollard@John.Pollard_T2802_Orion_DevGeneral
Encode user search string so we support special characters
#rb RyanG
#tests Replays
Change 3296746 on 2017/02/10 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 38.3 @ CL 3296659
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3296735 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3296705 on 2017/02/10 by Daniel.Lamb@daniel.lamb_T3905_6612
Added support to the cooker for iterating shared builds.
#rb Not used yet
#test Fast cook paragon
Change 3295747 on 2017/02/09 by Paul.Moore@OrionWorkspace_Dev-General
#orion #mms
- Integrated WS upgrade header functionality with latest Fortnite libws changes.
- Added "ws" and "wss" protocols to web socket manager context.
#rb rob.cannaday
#!codereview rob.cannaday, james.hopkin
#tests win64, ps4
Change 3295579 on 2017/02/09 by John.Pollard@John.Pollard_T2802_Orion_DevGeneral
Fix for replay backward compatibility from John.Pollard
#tests #rb na
Merging using OrionScratchReleaseMapping
Change 3295506 on 2017/02/09 by Rolando.Caloca@rolando.caloca_T3903_OrionMainS
O - Added option for force recompute tangents using skin cache
#rb none
#jira UE-41541
#tests Editor run, toggle, restart
Change 3295461 on 2017/02/09 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream
fixed huge interpolation times for linear network smoothing on stationary characters,
fixed mismatch in movement Base between NavWalking server and Walking client, causing some stationary characters to float in midair
copy of CL# 3295439
#jira OR-35664, OR-35572
#rb none
#tests game
Change 3294954 on 2017/02/09 by Paul.Moore@OrionWorkspace_Dev-General
#orion #mms
- Integrating Fortnite WebSocket changes into Orion that fixes some win10 issues.
#!codereview rob.cannaday, james.hopkin
#tests compile ps4, linux, win64
#rb none
Change 3294947 on 2017/02/09 by Daniel.Lamb@daniel.lamb_T3905_6612
The generate stub return result is considered as success when saving cooked packages.
Fixes bug with cooking blueprint nativized packages.
#rb Trivial
#test Cook paragon
Change 3293307 on 2017/02/08 by Andrew.Grant@andrew.grant.T6730.orion.floating
Fix for issue in last checkin - need to clear activecontext regardless
#rb none
#tests solo smoke with nullrhi
Change 3293284 on 2017/02/08 by Ryan.Gerleve@Ryan.Gerleve_T3703_Orion
Allow setting the per-frame time limit for processing queued bunches separately for instant replays, since they may have more strict timing/framerate requirements.
#rb john.pollard
#tests golden path
Change 3293148 on 2017/02/08 by Andrew.Grant@andrew.grant.T6730.orion.floating
Fixed invalid memory access* with nullrhi and suppressed IME warning if no valid window handle exists
(*Likely only an issue when running with memory validation)
#rb none
#tests verified invalid access exception no longer occurs with nullrhi
#!review-3293149 @Matt.Khulenschmidt
Change 3293103 on 2017/02/08 by Max.Chen@Max.Chen_T4664_Orion_Main
Sequencer: Fix build
#jira OR-34918
#rb none
#tests none
Change 3292921 on 2017/02/08 by Max.Chen@Max.Chen_T4664_Orion_Main
Sequencer: Force local player to maintain x fov axis.
#jira OR-34918
#rb david.ratti
#tests Render/PIE a level sequence and test that the camera isn't zoomed in.
Change 3292869 on 2017/02/08 by David.Ratti@David.Ratti_G6218_Orion.Dev-General
Yet more logging for OR-35448
#rb #tests none
Change 3292821 on 2017/02/08 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: rob.cannaday
PS4 libwebsockets build fix
Update build cs files to point to PS4 file location
Copy libwebsocket include directory from Fortnite to Orion
#rb paul.moore
#tests compile/link Win64 Development Editor, PS4 Debug, Linux Development Server
#!ROBOMERGE-SOURCE: CL 3292820 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3292277 on 2017/02/08 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DMM @ CL 3292219
#RB:none
#Tests:none
[CODEREVIEW] paul.moore, benjamin.crocker
#QAReview
#!ROBOMERGE-SOURCE: CL 3292276 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3292211 on 2017/02/08 by Andrew.Grant@andrew.grant.T6730.orion.floating
Pulling new ags library from Release-4.15 and reverting hack that disabled feature for AMD users
#rb Marcus.Wassmer
#tests compiled
Change 3292167 on 2017/02/08 by David.Ratti@David.Ratti_G6218_Orion.Dev-General
Additional logging for OR-35448
#rb none
#tests pie
Change 3289462 on 2017/02/06 by Ben.Salem@ben.salem_OrionMain
Adding priority filters to Automation tests, also commands to filter on priority levels.
#rb adric worley
#tests Compiled, ran a few commands to verify it works.
Change 3288801 on 2017/02/06 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 (38.3) @ CL 3288681
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3288800 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3288750 on 2017/02/06 by Daniel.Lamb@daniel.lamb_T3905_6612
Fixed issue when cooking client and server platforms in single cook some packages would be marked incorrectly because they would be stripped when from client / server.
#rb Andrew.Grant
#test Cook paragon
Change 3288624 on 2017/02/06 by Andrew.Grant@andrew.grant.T6730.orion.floating
Unlocked network version
#rb #tests na
OR-35603
Change 3288612 on 2017/02/06 by Daniel.Lamb@daniel.lamb_T3905_6612
Added more ini settings to the iterative ini blacklist.
#rb Trivial
#test Iterative Cook Paragon
Change 3288184 on 2017/02/06 by Andrew.Grant@andrew.grant.T6730.orion.floating
Downgraded warning to display
#!review-3288185 @David.Ratti
#rb none
#tests none
Change 3287634 on 2017/02/06 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ 3287498
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3287619 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3286668 on 2017/02/03 by Alexis.Matte@amatte-orion-dev-general
Fix a crash when importing a LOD containing different material with less sections
#rb none
#test none
Change 3286112 on 2017/02/03 by Alexis.Matte@amatte-orion-dev-general
Fix the re-import skeletal mesh regression, where all material disapear.
#jira UE-41294
#rb matt.kuhlenschmidt
#test see the jira
Change 3285859 on 2017/02/03 by Daniel.Lamb@daniel.lamb_T3905_6612
Fixed merge error from last checkin with the DDC commandlet
#!codereview Matthew.Griffin
#test DDC commandlet paragon
#rb None
Change 3285637 on 2017/02/03 by Ryan.Gerleve@Ryan.Gerleve_T3703_Orion
Pass in the DemoNetDriver pointer to the ConcurrentWithSlateTickTask instead of accessing it from the world in the task itself.
#rb john.pollard
#tests golden path
Change 3285479 on 2017/02/03 by Mieszko.Zielinski@mieszko.zielinski_T4675_Orion
Made bot communicate ults when they're up, not when they're using it #Orion
CL also contains a bit of code shuffling around, preparing ground for HTN plug in
#rb none
#test golden path
Change 3285125 on 2017/02/03 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ CL 3285078
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3285124 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3283996 on 2017/02/02 by Michael.Trepka@Michael.Trepka_PC_Orion-Dev-General
Added UGameUserSettings::GetRecommandedResolutionScale() to replace UOrionGameUserSettings::GetDefaultResolutionScale(). This makes things less confusing (UGameUserSettings::GetRecommandedResolutionScale() returns scale recommended based on results of the benchmark and UGameUserSettings::GetDefaultResolutionScale() returns scale based on user settings) and fixes a regression introduced in 3257936 (OR-35544)
#rb Cody.Haskell
#tests Tested on PC
Change 3283951 on 2017/02/02 by Daniel.Lamb@daniel.lamb_T3905_6612
Ensure DDC commandlet calls begincacheforcookedplatformdata correctly.
#rb None
#!codereview Matthew.Griffin
#test DDC commandlet paragon.
Change 3283874 on 2017/02/02 by Lina.Halper@Lina.Halper_Orion
fix for invalid resource issue
#rb: none
#code review: Daniel.Wright
#tests: compile and editor with wolf
Change 3283621 on 2017/02/02 by Laurent.Delayen@laurent.delayen_Work2016_Orion
Femme WIP whip aiming for Q ability.
#rb none
#tests Femme
Change 3283216 on 2017/02/02 by jason.bestimt@Jason.Bestimt_Dev-General
#ORION_MAIN - Merge 37.2 @ CL 3282900
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3283199 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3282954 on 2017/02/02 by Lina.Halper@Lina.Halper_Orion
It becomes invalid on the resource, so checking null, but still wip on verifying this with Daniel Wright. He's sick out.
#rb:none
#tests: compile
#code review:Daniel.Wright
#Jira: OR-35418
Change 3281993 on 2017/02/01 by Daniel.Lamb@daniel.lamb_T3905_6612
Removed default unattended flag.
#rb Trivial
#test PS4 cook run paragon.
Change 3281990 on 2017/02/01 by Daniel.Lamb@daniel.lamb_T3905_6612
Potential fix for deterministic cooking issue with UMovieSceneSignedObjects.
#rb Andrew.Grant
#!codereview Max.Preussner
#test Cook and run paragon ps4.
Change 3281610 on 2017/02/01 by Laurent.Delayen@laurent.delayen_Work2016_Orion
AimOffsetLookAt is now thread safe.
#rb lina.halper
#tests femme
Change 3281609 on 2017/02/01 by Laurent.Delayen@laurent.delayen_Work2016_Orion
Fixed 'Convert to AimOffset LookAt' option being broken in Persona.
#rb lina.halper
#tests works for Femme now.
Change 3281019 on 2017/02/01 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ CL 3280498
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3281018 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3280813 on 2017/02/01 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: matthew.griffin
Prevent inclusion of NotForLicensees files when staging CrashReportClient config files
#rb none
#tests none
#!ROBOMERGE-SOURCE: CL 3280812 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3279921 on 2017/01/31 by Yanni.Tripolitis@yanni.tripolitis_Dev_General_Cary
Fixed an error in the Round MF, that was somehow "leaked" into Paragon from Odin.
#lockdown Billy.Rivers, Adam.Bellefeuil
#!codereview Tim.Elek
Change 3279178 on 2017/01/31 by Daniel.Lamb@daniel.lamb_T3905_6612
Fixed up diff files commandlet stack information
#rb Joe.Conley
#test Diff cooked packages
Change 3279084 on 2017/01/31 by Andrew.Grant@andrew.grant.T6730.orion.floating
Merging //UE4/Main at 3276432 through Orion-Staging
#rb #tests na
Change 3279078 on 2017/01/31 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ CL 3279032
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3279077 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3277908 on 2017/01/30 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_37 - Fix for "-game" crash with missing meta data
#RB:none
#Tests:none
[CodeReviewed]: andrew.grant, jamie.dale, mieszko.zielinski
#!ROBOMERGE-SOURCE: CL 3277901 in //Orion/Release-37/... via CL 3277902 via CL 3277904 via CL 3277905
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3277520 on 2017/01/30 by Andrew.Grant@andrew.grant.T6730.orion.floating
Workaround for OR-35418
#!ROBOMERGE: Main
#rb none
#tests verified ShortSoloGame test completes without a crash
Change 3277357 on 2017/01/30 by Daniel.Lamb@daniel.lamb_T3905_6612
Fixed the rebuild lighting commandlet.
#rb Trivial
#test Rebuild lighting dev general
Change 3277322 on 2017/01/30 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ CL 3277275
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3277296 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3277210 on 2017/01/30 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: andrew.grant
Non-shipping test changes:
Fixed issue where with -stdout messages would be duplicated due to FeedbackContextAnsi echoing to stdout by default
Changed stdout output to postfix instead of trail newlines
Firstpass of finding and displaying crash callstacks in Orion Test Framework.
#rb none
#tests ran test framework with tests that purposefully crashed/checked
#!ROBOMERGE-SOURCE: CL 3276889 in //Orion/Release-37/... via CL 3277207 via CL 3277208 via CL 3277209
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3276774 on 2017/01/29 by Andrew.Grant@andrew.grant.T6730.orion.floating
Fix for non-unity issue.
#tests compiled
#rb none
#!ROBOMERGE: Main, DUI
Change 3276594 on 2017/01/28 by Lina.Halper@Lina.Halper_Orion
Checked in potential fix for nonunity build issue
#rb:none
#tests:compile
Change 3275806 on 2017/01/27 by Ben.Salem@ben.salem_OrionMain
Adding in a checkpointing system for automated test passes where, if a client crashes while running a pass, on reboot and reissue of the automation command the test pass will start off where it left off, skipping the crashing test.
#rb clayton.langford
#tests Ran several dozen test passses. Seriously.
#!codereview steve.white, bob.ferreira, clayton.langford, adric.worley
Change 3275803 on 2017/01/27 by Shaun.Kime@shaun.kime_RDU-WD-9788_oriondevgen
Paragon has retainer widgets with no World set. When encountered, they can cause the scene list to be desynchronized with the rendering thread.
This logic resolves the issue by registering a null scene in this case, properly setting the slate scene index for subsequent slate draw calls.
#rb nick.darnell
#jira OR-34919
#TESTS na
Change 3275533 on 2017/01/27 by Max.Chen@Max.Chen_T4664_Orion_Main
Sequencer: Switch to static pointer to fix crash when tearing down curve editor.
#jira UE-40796
#rb andrew.rodham
#tests none
Change 3275093 on 2017/01/27 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ CL 3273298
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3273417 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3274700 on 2017/01/26 by Lina.Halper@Lina.Halper_Orion
#Anim curve crash on cooking
- fixed crash during cooking while accessing default value of material
- this code doesn't have to run during cooking with inactive world, so I'm checking that
#code review: Daniel.Wright, Chris.Bunner, Jurre.DeBaare
#rb: none
#tests: cooking
Change 3274129 on 2017/01/26 by Lina.Halper@Lina.Halper_Orion
Fixed safer to get featurelevel
#rb: Daniel.Wright
#tests: compile/wolf
Change 3274012 on 2017/01/26 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream
fixed crash in navigation grids
#jira OR-35356
#rb none
#tests PIE
Change 3273803 on 2017/01/26 by Lina.Halper@Lina.Halper_Orion
Fixed issue with animation curve getting reset to 0.f
- the issue is that skeleton contains material flag types, so now it just keeps setting the value
- even after I fix validation check, it still cleared it due to the material curve not found anymore, so added to support default value setting
#jira: OR-34563
#rb: Martin.Wilson, Chris.Bunner, Benn.Gallagher
#code review: Martin.Wilson, Daniel.Wright
#tests: wolf, coil
Change 3273257 on 2017/01/26 by Alexis.Matte@amatte-orion-dev-general
Isolate by material slot instead of section index. Add UI to isolate and highlight material in the material panel
#rb matt.kuhlenschmidt
#jira UE-41131
#tests none
Change 3272527 on 2017/01/25 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: chris.bunner
Ensure FSceneRenderTargets snapshot copies default clear colors.
#tests Golden path on lowest and high settings
#rb None
#lockdown Jason.Bestimt
#jira OR-34905
#!ROBOMERGE-SOURCE: CL 3272507 in //Orion/Release-37.1/... via CL 3272521 via CL 3272525
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3272244 on 2017/01/25 by Rolando.Caloca@rolando.caloca_T3903_OrionMainS
Show more info when a material instance failed to compile
#jira OR-34626
#tests Forced crash in the debugger
#rb Daniel.Wright
Change 3272109 on 2017/01/25 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: philip.buuck
Fix bad merge from Main
#rb Dan.Hertzka
#tests PIE
[CodeReviewed] Andrew.Grant
#lockdown Andrew.Grant
#!ROBOMERGE-SOURCE: CL 3272106 in //Orion/Release-37.1/... via CL 3272107 via CL 3272108
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3271721 on 2017/01/25 by Lukasz.Furman@Lukasz.Furman_T7320_OrionStream
jungle minions will spawn navigation obstacles when they are stuck in static geometry, fixed issues with falling off cliffs
#jira OR-35054
#rb Mieszko.Zielinski
#tests PIE
Change 3271432 on 2017/01/25 by Jason.Bestimt@ROBOMERGE_ORION_Dev_General
#!ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 37.2 @ CL 3271043
#RB:none
#Tests:none
#!ROBOMERGE-SOURCE: CL 3271429 in //Orion/Main/...
#!ROBOMERGE-BOT: ORION (Main -> Dev-General)
[CL 3322856 by Andrew Grant in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3233612 on 2016/12/13 by Ben.Marsh
UGS: Fix cases where precompiled binaries are submitted for a content change.
Change 3235584 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.
Change 3235741 on 2016/12/14 by Ben.Marsh
UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.
Change 3238176 on 2016/12/16 by Ben.Marsh
UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.
Change 3238249 on 2016/12/16 by Ben.Marsh
UBT: Add attribute-driven command line parser.
Change 3238462 on 2016/12/16 by Ben.Marsh
UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.
Change 3238564 on 2016/12/16 by Ben.Marsh
UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.
Change 3239919 on 2016/12/19 by Ben.Marsh
UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.
Change 3240061 on 2016/12/19 by Ben.Marsh
UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.
Change 3240175 on 2016/12/19 by Ben.Marsh
UBT: Add the target name and project file location to the target rules.
Change 3240490 on 2016/12/19 by Ben.Marsh
UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.
Change 3240717 on 2016/12/20 by Ben.Marsh
UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.
Change 3240718 on 2016/12/20 by Ben.Marsh
UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.
Change 3241002 on 2016/12/20 by Ben.Marsh
UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.
Change 3241027 on 2016/12/20 by Ben.Marsh
Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.
Change 3241055 on 2016/12/20 by Ben.Marsh
UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.
Change 3241156 on 2016/12/20 by Ben.Marsh
Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.
Change 3241205 on 2016/12/20 by Ben.Marsh
Replace all uses of TargetRules.TargetType with TargetType.
Change 3241881 on 2016/12/21 by Ben.Marsh
UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.
Change 3241895 on 2016/12/21 by Ben.Marsh
UBT: Remove toolchain support for Windows XP.
Change 3241908 on 2016/12/21 by Ben.Marsh
UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.
Change 3242835 on 2016/12/22 by Ben.Marsh
UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.
Change 3242837 on 2016/12/22 by Ben.Marsh
Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.
Change 3242923 on 2016/12/22 by Ben.Marsh
Build: Fixes for conforming incremental workspaces:
* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.
Change 3242961 on 2016/12/22 by Ben.Marsh
UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.
Change 3242981 on 2016/12/22 by Ben.Marsh
UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.
Change 3242999 on 2016/12/22 by Ben.Marsh
UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.
Change 3243022 on 2016/12/22 by Ben.Marsh
UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.
Change 3243083 on 2016/12/22 by Ben.Marsh
UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.
Change 3243090 on 2016/12/22 by Ben.Marsh
UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.
Change 3243423 on 2016/12/23 by Ben.Marsh
UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.
Change 3243516 on 2016/12/23 by Ben.Marsh
UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)
Change 3244020 on 2016/12/28 by Ben.Marsh
UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.
Change 3244074 on 2016/12/28 by Ben.Marsh
UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.
Change 3244076 on 2016/12/28 by Ben.Marsh
UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.
Change 3244083 on 2016/12/28 by Ben.Marsh
UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.
Change 3244441 on 2016/12/31 by Ben.Marsh
UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.
Change 3244687 on 2017/01/03 by Matthew.Griffin
Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs
Change 3246112 on 2017/01/04 by Ben.Marsh
UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.
Change 3246223 on 2017/01/04 by Ben.Marsh
UBT: Prevent version manifests being overridden if a file is not being built as part of the target.
Change 3246387 on 2017/01/04 by Ben.Marsh
UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.
Change 3247004 on 2017/01/04 by Ben.Marsh
UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.
Change 3247250 on 2017/01/04 by Ben.Marsh
UBT: Prevent precompiled binaries being added to the list of app binaries twice.
Change 3247594 on 2017/01/05 by Ben.Marsh
Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.
Change 3247763 on 2017/01/05 by Ben.Marsh
UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.
Change 3247775 on 2017/01/05 by Ben.Marsh
UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.
Change 3247811 on 2017/01/05 by Ben.Marsh
EC: Add a batch file for testing postp filters.
Change 3247839 on 2017/01/05 by Ben.Marsh
EC: Include the name of the file being compiled when parsing MSVC errors and warnings.
Change 3248101 on 2017/01/05 by Ben.Marsh
UBT: Fix Android support for force included headers.
Change 3248533 on 2017/01/05 by Ben.Marsh
PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)
Change 3249205 on 2017/01/06 by Ben.Marsh
UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.
Change 3249249 on 2017/01/06 by Ben.Marsh
UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.
Change 3249486 on 2017/01/06 by Ben.Marsh
UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.
Change 3249736 on 2017/01/06 by Ben.Marsh
UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.
Change 3250179 on 2017/01/07 by Ben.Marsh
Fix creating installed build when root directory contains a space in the name.
Change 3250181 on 2017/01/07 by Ben.Marsh
UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.
Change 3250223 on 2017/01/07 by Ben.Marsh
UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.
Change 3250233 on 2017/01/07 by Ben.Marsh
UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.
Change 3250241 on 2017/01/07 by Ben.Marsh
UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.
Change 3250400 on 2017/01/08 by Ben.Marsh
UBT: Move executor config settings onto the executor instances.
Change 3257708 on 2017/01/13 by Ben.Marsh
UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.
Change 3260535 on 2017/01/17 by Ben.Marsh
Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.
Change 3260875 on 2017/01/17 by Ben.Marsh
EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.
To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.
Change 3261724 on 2017/01/18 by Ben.Marsh
Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.
Change 3261756 on 2017/01/18 by Ben.Marsh
IncludeTool: Prevent matching a full enum declaration as a forward declaration.
Change 3261932 on 2017/01/18 by Ben.Marsh
EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:
"Monday, Tuesday and Wednesday at 10:30"
"Daily except Sunday and Wednesday at 14:30"
Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.
#jira UEB-729
Change 3262676 on 2017/01/18 by Ben.Marsh
UBT: Split UBTMakefile into its own file. (From PR #3106)
Change 3263893 on 2017/01/19 by Ben.Marsh
UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...
Change 3264291 on 2017/01/19 by Ben.Marsh
UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.
Change 3264534 on 2017/01/19 by Ben.Marsh
UBT: Include plugin config files in generated projects.
Change 3264571 on 2017/01/19 by Ben.Marsh
UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.
Change 3265745 on 2017/01/20 by Ben.Marsh
UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.
Change 3265777 on 2017/01/20 by Ben.Marsh
UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.
Change 3268314 on 2017/01/23 by Ben.Marsh
UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.
Change 3269601 on 2017/01/24 by Ben.Marsh
UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.
Change 3269607 on 2017/01/24 by Ben.Marsh
UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.
Change 3269608 on 2017/01/24 by Ben.Marsh
UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.
Change 3271062 on 2017/01/24 by Ben.Marsh
UBT: Fixes for bugs detected by PVS Studio (PR #3161)
Change 3272421 on 2017/01/25 by Ben.Marsh
Fix commends regarding DDC in BaseEngine.ini
#jira UE-41076
Change 3272810 on 2017/01/25 by Ben.Marsh
Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.
Change 3272935 on 2017/01/25 by Ben.Marsh
Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.
Change 3274167 on 2017/01/26 by Ben.Marsh
Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.
#jira UE-36457
Change 3275557 on 2017/01/27 by Ben.Marsh
Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.
Change 3275628 on 2017/01/27 by Ben.Marsh
UBT: Splitting configuration files into one class per-file.
Change 3276784 on 2017/01/29 by Ben.Marsh
Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.
Change 3276792 on 2017/01/29 by Ben.Marsh
UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.
Change 3277263 on 2017/01/30 by Ben.Marsh
IncludeTool: Merging various fixes.
* Fix warnings about #include directives after first code block from parsing monolithic headers.
* Fix exception on startup if the intermediate directory does not already exist.
* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
* Remove (unused) code which makes assumptions about files ending with "Classes.h".
* Add a verbose per-file output log to aid with debugging.
* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.
Change 3277307 on 2017/01/30 by Ben.Marsh
UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.
[CL 3278101 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]