2018-01-02 15:30:26 -05:00
|
|
|
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
|
2014-08-05 09:04:35 -04:00
|
|
|
|
|
|
|
|
#include "STutorialsBrowser.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#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]
2016-11-23 15:48:37 -05:00
|
|
|
#include "Brushes/SlateDynamicImageBrush.h"
|
|
|
|
|
#include "Widgets/SOverlay.h"
|
|
|
|
|
#include "Widgets/Images/SImage.h"
|
|
|
|
|
#include "Widgets/Notifications/SProgressBar.h"
|
|
|
|
|
#include "Widgets/Text/STextBlock.h"
|
|
|
|
|
#include "Widgets/Input/SButton.h"
|
|
|
|
|
#include "Widgets/Views/SListView.h"
|
|
|
|
|
#include "EditorStyleSet.h"
|
|
|
|
|
#include "Engine/Blueprint.h"
|
|
|
|
|
#include "Engine/Texture2D.h"
|
|
|
|
|
#include "AssetData.h"
|
|
|
|
|
#include "IntroTutorials.h"
|
2014-08-05 09:04:35 -04:00
|
|
|
#include "EditorTutorial.h"
|
|
|
|
|
#include "STutorialContent.h"
|
|
|
|
|
#include "TutorialSettings.h"
|
|
|
|
|
#include "EditorTutorialSettings.h"
|
2014-08-28 06:22:40 -04:00
|
|
|
#include "TutorialStateSettings.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#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]
2016-11-23 15:48:37 -05:00
|
|
|
#include "ARFilter.h"
|
2014-08-20 10:27:41 -04:00
|
|
|
#include "AssetRegistryModule.h"
|
2014-09-18 08:10:29 -04:00
|
|
|
#include "EngineAnalytics.h"
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#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]
2016-11-23 15:48:37 -05:00
|
|
|
#include "AnalyticsEventAttribute.h"
|
|
|
|
|
#include "Interfaces/IAnalyticsProvider.h"
|
|
|
|
|
#include "Widgets/Input/SSearchBox.h"
|
|
|
|
|
#include "Widgets/Navigation/SBreadcrumbTrail.h"
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3847469)
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3805828 by Gil.Gribb
UE4 - Fixed a bug in the lock free stalling task queue and adjusted a comment. The code is not current used, so this is not actually change the way the code works.
Change 3806784 by Ben.Marsh
UAT: Remove code to compile UBT when using UE4Build. It should already be compiled as a dependency of UAT.
Change 3807549 by Graeme.Thornton
Add a cook timer around VerifyCanCookPackage. A licensee reports this taking a lot of time so it'll be good to account for it.
Change 3807727 by Graeme.Thornton
Unhide the text asset format experimental editor option
Change 3807746 by Josh.Engebretson
Remove WER from iOS platform
Change 3807928 by Robert.Manuszewski
When async loading, GC Clusters will be created after packages have been processed to avoid situations where some of the objects that are being added to a cluster haven't been fully loaded yet
Change 3808221 by Steve.Robb
GitHub #4307 - Made GetModulePtr() thread safe by not using GetModule()
^ I'm not convinced by how much thread-safer this is really, but it's tidier anyway.
Change 3809233 by Graeme.Thornton
TBA: Misc changes to text asset commandlet
- Rename mode to "loadsave"
- Add -outputFormat option which can be assigned "text" or "binary"
- When saving binary, use a differentiated filename so that source assets aren't overwritten
Change 3809518 by Ben.Marsh
Remove the outdated UnrealSync automation script.
Change 3809643 by Steve.Robb
GitHub #4277 : fix bug; FMath::FormatIntToHumanReadable 3rd comma and negative value
#jira UE-53037
Change 3809862 by Steve.Robb
GitHub #3342 : [FRotator.h] Fix to DecompressAxisFromByte to be more efficient and reflect its intent accurately
#jira UE-42593
Change 3811190 by Graeme.Thornton
Add support for writing specific log channels to their own files
Change 3811197 by Graeme.Thornton
Minor updates to output formatting and timing for the text asset commandlet
Change 3811257 by Robert.Manuszewski
Cluster creation will now be time-sliced
Change 3811565 by Steve.Robb
Define out non-monolithic module functions.
Change 3812561 by Steve.Robb
GitHub #3886 : Enable Brace-Initialization for Declaring Variables
Incorrect semi-colon search removed after discussion with author.
Test added.
#jira UE-48242
Change 3812864 by Steve.Robb
Removal of some unproven code which was supposed to fix hot reloading BP class functions in plugins.
See: https://udn.unrealengine.com/questions/376978/aitask-blueprint-nodes-disappear-when-their-module.html
#jira UE-53089
Change 3820358 by Ben.Marsh
PR #4358: Incredibuild use ShowAgent by default (Contributed by projectgheist)
Change 3822594 by Ben.Marsh
UAT: Improvements to log file handling.
- Always create log files in the final location, rather than writing to a temp directory and copying in later.
- Now supports -Verbose and -VeryVerbose for increasing log verbosity, rather than -Verbose=XXX.
- Keep a backlog of log output before the log system is initialized, and flush it to the log file once it is.
- Allow buildmachines to specify the uebp_FinalLogFolder environment variable, which is used to form paths for display. When build machines copy log files elsewhere after UAT finishes (eg. a network share), this allows error messages to display the right location.
Change 3823695 by Ben.Marsh
UGS: Fix issue where precompiled binaries would not be shown as available for a change until scrolling the last submitted code change into the buffer (other symptoms, like de-focussing the main window would cause it to go back to an unavailable state, since the changes buffer was shrunk).
Now always queries changes up to the last change for which zipped binaries are available.
Change 3823845 by Ben.Marsh
UBT: Exclude C# projects for unsupported platforms when generating project files.
Change 3824180 by Ben.Marsh
UGS: Add an option to show changes by build machines, and move the "only show reviewed" option in there too (Options > Show Changes).
#jira
Change 3825777 by Steve.Robb
Fix to return value of StringToBytes.
Change 3825810 by Ben.Marsh
UBT: Reduce length of include paths for MSVC toolchain.
Change 3825822 by Robert.Manuszewski
Optimized PIE lazy pointer fixup. Should be up to 8x faster now.
Change 3826734 by Ben.Marsh
Remove code to disable TextureFormatAndroid on Linux. It seems to be an editor dependency.
Change 3827730 by Steve.Robb
Try to avoid decltype(auto) if it's not supported.
See: https://udn.unrealengine.com/questions/395644/build-417-with-c11-on-linux-ttuple-errors.html
Change 3827745 by Steve.Robb
Initializer list support for TMap.
Change 3827770 by Steve.Robb
GitHub #4399 : Added a CONSTEXPR qualifiers to FVariant::GetType()
#jira UE-53813
Change 3829189 by Ben.Marsh
UBT: Now always writes a minimal log file. By default, just contains the regular console output and any reasons why actions are outdated and needed to be executed. UAT directs child UBT instances to output logs into its own log folder, so that build machines can save them off.
Change 3830444 by Steve.Robb
BuildVersion and ModuleManifest moved to Core, and parsing of these files reimplemented to avoid a JSON library.
This should be revisited when Core has its own JSON library.
Change 3830718 by Ben.Marsh
Fix incorrect group name being returned by FStatNameAndInfo::GetGroupName() for stat groups.
The editor populates the viewport stats list by calling this for every registered stat and stat group (via FLevelViewportCommands::HandleNewStatGroup). The menu entry attempts to show the stat name with STAT_XXX stripped from the start as the menu item label, with the free-form text description as a tooltip.
For stat groups, the it would previously just return the stat group name as "Groups" (due to the raw naming convention of "//Groups//STATGROUP_Foo//..."). Since this didn't match the expected naming convention in FLevelViewportCommands::HandleNewStat (ie. STAT_XXX or STATGROUP_XXX), it would fail to add it.
When the first actual stat belonging to that group is added, it would add a menu entry for the group based on that, but the stat description no longer makes sense as a tooltip for the group. As a result, all the editor tooltips were junk.
#jira UE-53845
Change 3831064 by Ben.Marsh
Fix log file contention when spawning UBT recursively.
Change 3832654 by Ben.Marsh
UGS: Fix error panel not being selected when opened, and weird alignment/color issues on it.
Change 3832680 by Ben.Marsh
UGS: Fix failing to detect workspace if synced to a different stream. Seems to be a regression caused by recent P4D upgrade.
Change 3832695 by Ben.Marsh
UGS: Invert the options in the 'Show Changes' submenu for simplicity.
Change 3833528 by Ben.Marsh
UAT: Script to rewrite source files with public include paths relative to the 'Public' folder. Usage is: RebasePublicIncludePaths -UpdateDir=<Dir> [-Project=<Dir>] [-Write].
Change 3833543 by Ben.Marsh
UBT: Allow targets to opt-out of having public include paths added for every dependent module. This reduces the command line length when building a target, which has recently become a problem with larger games (due to Microsoft's compiler embedding the command line into each object file, with a maximum length of 64kb). All engine modules are compiled with this enabled; games may opt into it by setting bLegacyPublicIncludePaths = false; from their .target.cs, as may individual modules.
Change 3834354 by Robert.Manuszewski
Archetype pointer will now be cached to avoid locking the object tables when acquiring its info. It should also be faster this way regardless of any locks.
#jira UE-52035
Change 3834400 by Robert.Manuszewski
Fixing crash on exit caused by cached archetypes not being cleaned up before static exit cleanup.
#jira UE-52035
Change 3834947 by Steve.Robb
USE_FORMAT_STRING_TYPE_CHECKING removed from FMsg::Logf and FMsg::Logf_Internal.
Change 3835004 by Ben.Marsh
Fix code that relies on dubious behavior of requiring referenced "include path only" modules having their _API macros set to be empty, even if the module is actually implemented in a separate DLL.
Change 3835340 by Ben.Marsh
Fix errors making installed build from directories with spaces in the name.
Change 3835972 by Ben.Marsh
UBT: Improved diagnostic message for targets which don't need a version file.
Change 3836019 by Ben.Marsh
UBT: Fix warnings caused by defining linkage macros for third party libraries.
Change 3836269 by Ben.Marsh
Fix message box larger than the screen height being created when a large number of modules are incompatible on startup.
Change 3836543 by Ben.Marsh
Enable SoundMod plugin on Linux, since it's already supported through the editor.
Change 3836546 by Ben.Marsh
PR #4412: fix type mismatch (Contributed by nakapon)
Change 3836805 by Ben.Marsh
Fix commandlet to compile marketplace plugins.
Change 3836829 by Ben.Marsh
UBT: Fix ability to precompile plugins from installed engine builds.
Change 3837036 by Ben.Marsh
UBT: Write the previous and new contents of intermediate files to the log if they change. Makes it easier to debug unexpected rebuilds.
Change 3837037 by Ben.Marsh
UBT: Fix engine modules having inconsistent definitions depending on whether modules are only referenced for their include paths vs being linked into a binary (due to different _API macro).
Change 3837040 by Ben.Marsh
UBT: Remove code that initializes members in ModuleRules and TargetRules objects before the constructor is run. This is no longer necessary, now that the backwards-compatible default constructors have been removed.
Change 3837247 by Ben.Marsh
UBT: Remove UELinkerFixups module, now that plugins and precompiled modules do not require hacks to force initialization (since they're linked in as object files).
Encryption and signing keys are now set via macros expanded from the IMPLEMENT_PRIMARY_GAME_MODULE macro, via project-specific macros added in the TargetRules constructor.
Change 3837262 by Ben.Marsh
UBT: Set whether a module is an engine module or not via a default value for the rules assembly. All non-program engine and enterprise modules are created with this flag set to true; program targets and modules are now created from a different assembly that sets it to false. This removes hacks from UEBuildModule needed to adjust behavior for different module types based on the directory containing the module.
Also add a bUseBackwardsCompatibleDefaults flag to the TargetRules class, also initialized to a default value from a setting passed to the RulesAssembly constructor. This controls whether modules created for the target should be configured to allow breaking changes to default settings, and is set to false for all engine targets, and true for all project targets.
Change 3837343 by Ben.Marsh
UBT: Remove the OverrideExecutableFileExtension target property. Change the only current use for this (the MayaLiveLinkPlugin target) to use a post build step to copy the file instead.
Change 3837356 by Ben.Marsh
Fix invalid character encodings.
Change 3837727 by Graeme.Thornton
UnrealPak: KeyGenerator: Only generate prime table when required, not all the time
Change 3837823 by Ben.Marsh
UBT: Output warnings and errors when compiling module rules assembly in a way that allows them to be double-clicked in the Visual Studio output window.
Change 3837831 by Graeme.Thornton
UBT: When parsing crypto settings, always load legacy data first, then allow the new system to override it. Provides the same key backwards compatibility that the editor settings class gives
Change 3837857 by Robert.Manuszewski
PR #4404: Make FGCArrayPool singleton global instead of per-CU (Contributed by mhutch)
Change 3837943 by Robert.Manuszewski
PR #4405: Fix FGarbageCollectionTracer (Contributed by mhutch)
Change 3838451 by Ben.Marsh
UBT: Fix exceptions thrown on a background thread while caching C++ includes not being caught and logged correctly. Now captures exceptions and re-throws on the main thread.
#jira UE-53996
Change 3839519 by Ben.Marsh
UBT: Simplify configuring bPrecompile and bUsePrecompile settings for modules. Each rules assembly can now be configured as installed, which defaults the module rules it creates to use precompiled data.
Change 3843790 by Graeme.Thornton
UnrealPak: Log the size of all encrypted data
Change 3844258 by Ben.Marsh
Fix plugin compile failure when created via new plugin wizard. Passing -plugin on the command line is unnecessary, and is now reserved for packaging external plugins for the marketplace.
Also extend the length of time that the error toast stays visible, and don't delete the plugin on failure.
#jira UE-54157
Change 3845796 by Ben.Marsh
Workaround for slow performance of String.EndsWith() on Mono.
Change 3845823 by Ben.Marsh
Fix case sensitive matching of platform names in -TargetPlatform=X argument to BuildCookRun.
#jira UE-54123
Change 3845901 by Arciel.Rekman
Linux: fix crash due to lambda lifetime issues (UE-54040).
- The lambda goes out of scope in FBufferVisualizationMenuCommands::CreateVisualizationCommands, crashing the editor if compiled with a recent clang (5.0+).
(Edigrating 3819174 to Dev-Core)
Change 3846439 by Ben.Marsh
Revert CL 3822742 to always call Process.WaitForExit(). The Android target platform module in the editor spawns ADB.EXE, which inherits the editor's stdout/stderr handles and forks itself. Process.WaitForExit() waits for EOF on those pipes, which never occurs because the forked process never terminates.
Proper fix is probably to have the engine explicitly duplicate stdout/stderr handles for new pipes to output process, but too risky before copying up to Main.
Change 3816608 by Ben.Marsh
UBT: Use DirectoryReference objects for all include paths.
Change 3816954 by Ben.Marsh
UBT: Remove bIncludeDependentLibrariesInLibrary option. This is not widely supported by platform toolchains, and is not used anywhere.
Change 3816986 by Ben.Marsh
UBT: Remove UEBuildBinaryConfig; UEBuildBinary objects are now just created directly.
Change 3816991 by Ben.Marsh
UBT: Deprecate PlatformSpecificDynamicallyLoadedModules. We no longer have any special behavior for these modules.
Change 3823090 by Ben.Marsh
UAT: Improve logging for child UAT instances.
- Calling RunUAT now requires an identifier for prefixing into the parent log, which is also used to determine the name of the log folder.
- Stdout is no longer written to its own output file, since it's written to the parent stdout, the parent log file, and the child log file anyway.
- Log folders for child UAT instances are left intact, rather than being copied to the parent folder. The derived names for the copied names were confusing and hard to read.
- Output from UAT is no longer returned as a string. It should not be parsed anyway (but may be huge!). ProcessResult now supports running without capturing output.
Change 3826082 by Ben.Marsh
UBT: Add a check to make sure that all modules that are precompiled are correctly marked to enable it, even if they are part of the build target.
Change 3827025 by Ben.Marsh
UBT: Move the compile output directory into a property on the module, and explicitly pass it to the toolchain when compiling.
Change 3829927 by James.Hopkin
Made HTTP interface const correct
Change 3833533 by Ben.Marsh
Rewrite engine source files to base include paths relative to the "Public" directory. This allows reducing the number of public include paths that have to be added for engine modules.
Change 3835826 by Ben.Marsh
UBT: Precompiled targets now generate a separate manifest for each precompiled module, rather than adding object files to a library. This fixes issues where object files from static libraries would not be linked into a target if a symbol in them was not referenced.
Change 3835969 by Ben.Marsh
UBT: Fix cases where text is being written directly to the console rather than via logging functions.
Change 3837777 by Steve.Robb
Format string type checking added to FOutputDevice::Logf.
Fixes for those.
Change 3838569 by Steve.Robb
Algo moved up a folder.
[CL 3847482 by Ben Marsh in Main branch]
2018-01-20 11:19:29 -05:00
|
|
|
#include "UObject/GCObject.h"
|
2014-08-05 09:04:35 -04:00
|
|
|
|
|
|
|
|
#define LOCTEXT_NAMESPACE "TutorialsBrowser"
|
|
|
|
|
|
|
|
|
|
class FTutorialListEntry_Tutorial;
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_OneParam(FOnCategorySelected, const FString& /* InCategory */);
|
|
|
|
|
|
2014-10-13 06:46:06 -04:00
|
|
|
namespace TutorialBrowserConstants
|
|
|
|
|
{
|
---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.
While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
- Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.
- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
- Examples include animation, async operations that update periodically, progress updates, loading bars, etc.
- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.
- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
- There are THREE ways to unregister an active tick:
1. Return EActiveTickReturnType::StopTicking from the active tick function
2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
3. Destroy the widget responsible for the active tick
- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
- The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)
- The FCurveSequence API has been updated to work with the active tick system
- Playing a curve sequence now requires that you pass the widget being animated by the sequence
- The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
- GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.
[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
|
|
|
const float RefreshTimerInterval = 1.0f;
|
2014-10-13 06:46:06 -04:00
|
|
|
|
|
|
|
|
const float ProgressUpdateInterval = 0.5f;
|
|
|
|
|
}
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
class FTutorialListEntry_Category : public ITutorialListEntry, public TSharedFromThis<FTutorialListEntry_Category>
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
FTutorialListEntry_Category(FOnCategorySelected InOnCategorySelected)
|
2014-09-10 12:30:30 -04:00
|
|
|
: OnCategorySelected(InOnCategorySelected)
|
|
|
|
|
, SlateBrush(nullptr)
|
2014-08-05 09:04:35 -04:00
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
FTutorialListEntry_Category(const FTutorialCategory& InCategory, FOnCategorySelected InOnCategorySelected, const TAttribute<FText>& InHighlightText)
|
|
|
|
|
: Category(InCategory)
|
|
|
|
|
, OnCategorySelected(InOnCategorySelected)
|
|
|
|
|
, HighlightText(InHighlightText)
|
2014-09-10 12:30:30 -04:00
|
|
|
, SlateBrush(nullptr)
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
|
|
|
|
if(!Category.Identifier.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
int32 Index = INDEX_NONE;
|
|
|
|
|
if(Category.Identifier.FindLastChar(TEXT('.'), Index))
|
|
|
|
|
{
|
|
|
|
|
CategoryName = Category.Identifier.RightChop(Index + 1);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
CategoryName = Category.Identifier;
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-09-10 12:30:30 -04:00
|
|
|
|
|
|
|
|
if(Category.Texture.IsValid())
|
|
|
|
|
{
|
2015-07-23 10:49:29 -04:00
|
|
|
UTexture2D* Texture = LoadObject<UTexture2D>(nullptr, *Category.Texture.ToString());
|
2014-09-10 12:30:30 -04:00
|
|
|
if(Texture != nullptr)
|
|
|
|
|
{
|
|
|
|
|
FIntPoint TextureSize = Texture->GetImportedSize();
|
|
|
|
|
DynamicBrush = MakeShareable(new FSlateDynamicImageBrush(Texture, FVector2D((float)TextureSize.X, (float)TextureSize.Y), NAME_None));
|
|
|
|
|
SlateBrush = DynamicBrush.Get();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(SlateBrush == nullptr)
|
|
|
|
|
{
|
|
|
|
|
if(Category.Icon.Len() > 0)
|
|
|
|
|
{
|
|
|
|
|
SlateBrush = FEditorStyle::Get().GetBrush(FName(*Category.Icon));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(SlateBrush == nullptr)
|
|
|
|
|
{
|
|
|
|
|
SlateBrush = FEditorStyle::Get().GetBrush("Tutorials.Browser.DefaultTutorialIcon");
|
|
|
|
|
}
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
2014-08-05 18:02:04 -04:00
|
|
|
virtual ~FTutorialListEntry_Category()
|
2015-07-14 15:36:51 -04:00
|
|
|
{
|
|
|
|
|
if( DynamicBrush.IsValid() )
|
|
|
|
|
{
|
|
|
|
|
DynamicBrush->ReleaseResource();
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-08-05 18:02:04 -04:00
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
virtual TSharedRef<ITableRow> OnGenerateTutorialRow(const TSharedRef<STableViewBase>& OwnerTable) const override
|
|
|
|
|
{
|
|
|
|
|
return SNew(STableRow<TSharedPtr<ITutorialListEntry>>, OwnerTable)
|
|
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SBox)
|
|
|
|
|
.Padding(FMargin(0.0f, 2.0f))
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SButton)
|
|
|
|
|
.OnClicked(this, &FTutorialListEntry_Category::OnClicked)
|
|
|
|
|
.ButtonStyle(&FEditorStyle::Get().GetWidgetStyle<FButtonStyle>("Tutorials.Browser.Button"))
|
|
|
|
|
.ForegroundColor(FSlateColor::UseForeground())
|
|
|
|
|
.Content()
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SHorizontalBox)
|
|
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.AutoWidth()
|
2014-09-10 12:30:30 -04:00
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
.HAlign(HAlign_Center)
|
2014-10-13 06:46:06 -04:00
|
|
|
.Padding(8.0f)
|
|
|
|
|
[
|
2015-03-23 10:08:21 -04:00
|
|
|
SNew(SOverlay)
|
|
|
|
|
+ SOverlay::Slot()
|
|
|
|
|
[
|
|
|
|
|
SNew(SBox)
|
|
|
|
|
.WidthOverride(64.0f)
|
|
|
|
|
.HeightOverride(64.0f)
|
|
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
.HAlign(HAlign_Center)
|
|
|
|
|
[
|
|
|
|
|
SNew(SImage)
|
|
|
|
|
.Image(SlateBrush)
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
+ SOverlay::Slot()
|
|
|
|
|
.VAlign(VAlign_Bottom)
|
|
|
|
|
.HAlign(HAlign_Right)
|
2014-10-13 06:46:06 -04:00
|
|
|
[
|
|
|
|
|
SNew(SImage)
|
2016-01-07 11:21:22 -05:00
|
|
|
.ToolTipText(LOCTEXT("CompletedCategoryCheckToolTip", "This category has been completed"))
|
2015-03-23 10:08:21 -04:00
|
|
|
.Visibility(this, &FTutorialListEntry_Category::GetCompletedVisibility)
|
|
|
|
|
.Image(FEditorStyle::Get().GetBrush("Tutorials.Browser.Completed"))
|
2014-10-13 06:46:06 -04:00
|
|
|
]
|
|
|
|
|
]
|
2015-03-23 10:08:21 -04:00
|
|
|
+ SHorizontalBox::Slot()
|
2014-10-13 06:46:06 -04:00
|
|
|
.FillWidth(1.0f)
|
|
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
[
|
|
|
|
|
SNew(SVerticalBox)
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.AutoHeight()
|
|
|
|
|
[
|
|
|
|
|
SNew(STextBlock)
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt
GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object
Change 3281111 on 2017/02/01 by Michael.Dupuis
#jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window
Change 3281225 on 2017/02/01 by Jamie.Dale
Several improvements to culture switching and LocRes files
- LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files.
- The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found.
- Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base.
- The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture.
- "-culture=leet" now works correctly on the command line ("-leet" also works).
- LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager.
- General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs.
Change 3281291 on 2017/02/01 by Alexis.Matte
Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh
#jira UE-39639
Change 3281718 on 2017/02/01 by Michael.Dupuis
#jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid
Change 3281861 on 2017/02/01 by Alexis.Matte
Fix import of morph target when there is no animation
#jira UE-41383
Change 3282791 on 2017/02/02 by Chris.Wood
Split crash analytics methods to fix comment parsing issues.
[UE-32787] - Document Crash Report Client analytics events in code
Change 3283316 on 2017/02/02 by Alexis.Matte
Make sure we do not import more then the maximum allowed node
#jira UE-41405
Change 3283349 on 2017/02/02 by Jamie.Dale
Updated Portal to stage its .locnat files
Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt
Fix component/actor selection becoming out of sync after undo/redo
#jira UE-41416
Change 3284061 on 2017/02/02 by Alexis.Matte
Fix the scene importer front x axis import
#jira UE-41318
Change 3284280 on 2017/02/02 by Alex.Delesky
#jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log
Change 3285053 on 2017/02/03 by Michael.Dupuis
#jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated
Change 3285444 on 2017/02/03 by Jamie.Dale
Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale
These are typically still Latin, but Middle Eastern languages have some variants.
This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals).
Change 3287422 on 2017/02/06 by Michael.Dupuis
#jira UE-36580: Improved the whole word algo to take into consideration localisation
Change 3287455 on 2017/02/06 by Alexis.Matte
When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it.
#jira UE-41397
Change 3287745 on 2017/02/06 by Alexis.Matte
Merge from orion dev-general cl:3286668
Fix a crash when importing a LOD containing different material with less sections
Change 3287996 on 2017/02/06 by Michael.Dupuis
#jira UE-37290: fixed naming to be "move to level" instead of "move level"
Change 3288090 on 2017/02/06 by Jamie.Dale
Fixing missing include breaking the FText natvis
Change 3288105 on 2017/02/06 by Jamie.Dale
FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros
Change 3288150 on 2017/02/06 by Jamie.Dale
Fixing display names for tutorial categories so that they can be localized
They were already FText, but the config wasn't defining them in a localizable way.
#jira UE-37926
Change 3288469 on 2017/02/06 by Alex.Delesky
#jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets.
This also introduces the Subtitles module.
Change 3288540 on 2017/02/06 by Alex.Delesky
Backing out changelist 3288469 due to build issue with module includes
#jira none
Change 3289074 on 2017/02/06 by Alex.Delesky
Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files
#jira UE-35464
Change 3289753 on 2017/02/07 by Michael.Dupuis
#jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID
Change 3290097 on 2017/02/07 by Nick.Darnell
Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports.
Change 3290182 on 2017/02/07 by Michael.Trepka
Added missing initialization for SWindow::bIsMirrorWindow
Change 3290472 on 2017/02/07 by Michael.Dupuis
#jira UE-37358: Add reference list in the dialog for all delete type
Change 3290513 on 2017/02/07 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3290543 on 2017/02/07 by Michael.Dupuis
#jira UE-35931: Refresh detail panel on selection lost
Change 3290581 on 2017/02/07 by Michael.Dupuis
Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor)
Change 3290721 on 2017/02/07 by Michael.Dupuis
#jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function
Change 3291958 on 2017/02/08 by Alexis.Matte
Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp
Change 3292017 on 2017/02/08 by Alexis.Matte
Add some fbx automation tests to validate material re-import
Change 3292030 on 2017/02/08 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3293062 on 2017/02/08 by Jamie.Dale
Reduced the number of allocations that happen when rebuilding text
This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild.
Changes:
- Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
- Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage.
- Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation.
- Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation.
- Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy).
- Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous.
- General update from using MakeShareable to MakeShared (saving 1 allocation).
- General clean-up of L10N/I18N class friendship.
#jira UE-41533
Change 3293292 on 2017/02/08 by Alex.Delesky
Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds.
Change 3293477 on 2017/02/08 by Jamie.Dale
Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays
#jira UE-41007
Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt
Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data.
Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt
Fix details panel categories in the static mesh editor
Change 3294216 on 2017/02/09 by Michael.Dupuis
#jira UE-40609: manually position the window based on it'S max possible size
#3128 GitHub
Change 3294430 on 2017/02/09 by Jamie.Dale
Kerning-only text shaping no longer draws characters to get their metrics
It now goes via the low-level FT caches like HarfBuzz does.
Change 3294588 on 2017/02/09 by Alexis.Matte
If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup
Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3295093 on 2017/02/09 by Arciel.Rekman
Linux: fix Setup.sh not working in paths with space (UE-41819).
Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt
Fix material UV's no longer working om 9 slice elements
Change 3295816 on 2017/02/09 by Arciel.Rekman
Linux: fix starting programs from a path with space.
Change 3296129 on 2017/02/09 by Arciel.Rekman
Linux i686: changes necessary to compile BlankProgram.
- Added new architecture to UBT.
- Fixed system headers.
- Added third party libs for i686:
- jemalloc
- elftoolchain
- zlib
- SDL2
- libc++
Change 3296564 on 2017/02/10 by Jamie.Dale
Cleaned up PO comment preservation
Change 3296694 on 2017/02/10 by Jamie.Dale
AllocateNameEntry now takes TCharType* rather than void* and cast
Change 3296744 on 2017/02/10 by Jamie.Dale
Moved the PO DOM from UnrealEd to Internationalization
Change 3297250 on 2017/02/10 by Jamie.Dale
Split the PO import/export pipeline out of the commandlet
Change 3297420 on 2017/02/10 by Alexis.Matte
Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor.
#jira UE-38985
Change 3297594 on 2017/02/10 by Alexis.Matte
When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one.
Change 3297752 on 2017/02/10 by Arciel.Rekman
i686 support: more third party libs.
- libcurl
- OpenSSL
- libpng
- libvorbis
- libogg
- libopus
Change 3297754 on 2017/02/10 by Arciel.Rekman
i686 support: PhysX
Change 3297922 on 2017/02/10 by Alexis.Matte
When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename.
Change 3298330 on 2017/02/10 by Arciel.Rekman
i686: missing libcurl.
Change 3298620 on 2017/02/11 by Jamie.Dale
FLocTextHelper improvements
- It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths).
- The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters).
Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist)
Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts)
Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt
Fix material instances being marked dirty when opening
#jira UE-41721, UE-41719
Change 3299441 on 2017/02/13 by Nick.Darnell
PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi)
Change 3299567 on 2017/02/13 by Nick.Darnell
Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed.
#jira UE-41904
Change 3299870 on 2017/02/13 by Jamie.Dale
Added cycle counters for font rendering/shaping
Change 3300116 on 2017/02/13 by Michael.Dupuis
#jira UE-41866: Update cache when performing an undo
Change 3300178 on 2017/02/13 by Alexis.Matte
Fix a crash when re-importing a LOD with more sections then the base LOD
Change 3300191 on 2017/02/13 by Alexis.Matte
Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh.
Change 3300351 on 2017/02/13 by Alexis.Matte
Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI
#jira UE-39639
Change 3302138 on 2017/02/14 by Nick.Darnell
Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them.
Change 3302139 on 2017/02/14 by Nick.Darnell
UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets.
Change 3302281 on 2017/02/14 by Nick.Darnell
Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases.
Change 3302415 on 2017/02/14 by Nick.Darnell
Disabling the open asset editor test.
Change 3302976 on 2017/02/14 by Nick.Darnell
Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO.
Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt
Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove
#jira UE-41958
Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav)
Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi)
Change 3303823 on 2017/02/15 by Nick.Darnell
Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter.
Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build error
Change 3303982 on 2017/02/15 by Nick.Darnell
Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow.
Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build attempt #2 (not reproducible locally)
Change 3304393 on 2017/02/15 by Matt.Barnes
Submitting test content for UEQATC-3548
Change 3304517 on 2017/02/15 by Nick.Darnell
Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both.
Change 3304560 on 2017/02/15 by Nick.Darnell
UMG - SA fix.
Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist)
Change 3305360 on 2017/02/15 by Arciel.Rekman
Linux: fix crash on exit (UE-41907).
- It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit().
Change 3306023 on 2017/02/16 by Nick.Darnell
Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints.
Change 3306030 on 2017/02/16 by Nick.Darnell
Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way).
Change 3306031 on 2017/02/16 by Nick.Darnell
Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint.
Change 3306046 on 2017/02/16 by Nick.Darnell
UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode.
Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt
Fix crash if blurs are rotated
#jira UE-42037
Change 3309114 on 2017/02/17 by Jamie.Dale
Unifying non-shaped text to use the same atlas cache as shaped text
Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt
Outline color on text elements is now inherited properly
#jira UE-40691
Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt
Guard against rendering MIDs with potentially no parent in slate.
#jira UE-42047
Change 3311531 on 2017/02/20 by Michael.Dupuis
#jira UETOOL-1100:
Add the possibility to have dynamic min/max slider value
Synchonize all Color vector together when changing the min/max slider value
Change 3311534 on 2017/02/20 by Michael.Dupuis
incremental build fix
Change 3311535 on 2017/02/20 by Michael.Dupuis
incremental build fix take 2...
Change 3311743 on 2017/02/20 by Michael.Dupuis
buildfix lunix incremental
Change 3312496 on 2017/02/20 by Arciel.Rekman
Linux: fix PhysX crash in i686.
- Changed layout to one that works.
Change 3313127 on 2017/02/20 by Jamie.Dale
Fixed crash when performing a non-async cooked package save
It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed.
Change 3313990 on 2017/02/21 by Nick.Darnell
Automation - Added a summary area at the top of the report.
Change 3314034 on 2017/02/21 by Jamie.Dale
Fixed crash when deleting a streamed font
Change 3314942 on 2017/02/21 by Nick.Darnell
Automation - More templating styling work.
Change 3315080 on 2017/02/21 by Nick.Darnell
Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock.
Change 3315452 on 2017/02/21 by Nick.Darnell
Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet.
Change 3315614 on 2017/02/21 by Nick.Darnell
Json - Adding support for loading sets and map json data.
Change 3315924 on 2017/02/21 by Arciel.Rekman
Vulkan: edigrating various Linux fixes by Josh.
- This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself).
Original descriptions:
CL 3313445
- Various Vulkan fixes:
- Compiles in Linux
- Many cubemap bugs squashed
- Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear()
- Added compute fences
CL 3314152
- Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested.
Change 3316741 on 2017/02/22 by Jamie.Dale
Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names
#jira UE-42253
Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3317058 on 2017/02/22 by Alexis.Matte
Fix the scene importer to support correctly the obj file format
#jira UE-35606
Change 3318039 on 2017/02/22 by Arciel.Rekman
i686 support: added missing libwebsockets.
Change 3318095 on 2017/02/22 by Arciel.Rekman
i686 support: Oodle.
Change 3319002 on 2017/02/23 by Michael.Dupuis
#jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape
Change 3319012 on 2017/02/23 by Alexis.Matte
PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans)
#jira UE-40039
Change 3319035 on 2017/02/23 by Nick.Darnell
UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi.
#jira UE-42170
Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts)
#jira UE-42129
Change 3319072 on 2017/02/23 by Michael.Dupuis
#jira UETOOL-1101: Add support for DetailGroup reset to default
Right now it's only enable for the color grading
Change 3319077 on 2017/02/23 by Nick.Darnell
Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days.
PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component.
Change 3319088 on 2017/02/23 by Nick.Darnell
PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist)
#jira UE-41914
Change 3319104 on 2017/02/23 by Michael.Dupuis
fix incremental build
Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts)
#jira UE-42272
Change 3319252 on 2017/02/23 by Michael.Dupuis
fix warning with missing #undef LOCTEXT_NAMESPACE
Change 3319298 on 2017/02/23 by Alex.Delesky
Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules)
Change 3319388 on 2017/02/23 by Alexis.Matte
Fbx Importer now find collision model under fbx LOD Group
#jira UE-42141
Change 3319528 on 2017/02/23 by Michael.Dupuis
Fixed Undo/Redo to be consistent with other vector modifcation behavior
Change 3319583 on 2017/02/23 by Alexis.Matte
Fix the sample rate to use the least common multiplier of all keys
#jira UE-42012
Change 3319705 on 2017/02/23 by Nick.Darnell
Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'.
Change 3319711 on 2017/02/23 by Nick.Darnell
Editor - Adding some checks to make sure the struct we're accessing is still a valid handle.
#jira UE-42262
Change 3319736 on 2017/02/23 by Alex.Delesky
Adding Subtitles and SubtitlesEditor to the JunkManifest file.
Change 3319919 on 2017/02/23 by Nick.Darnell
Automation - Fixing an issue with moving a location that doesn't exist.
Change 3319932 on 2017/02/23 by Alexis.Matte
Fbx importer, do not apply more then one time the transform option to the scene node.
#jira UE-42277
Change 3320105 on 2017/02/23 by Nick.Darnell
Editor - Adding some additional checks to the margin customization.
#jira UE-42262
Change 3321577 on 2017/02/24 by Jamie.Dale
Moving Internationalization module from Runtime to Developer
Change 3321625 on 2017/02/24 by Jamie.Dale
Moving InternationalizationSettings module from Developer to Editor
Change 3321642 on 2017/02/24 by Jamie.Dale
Moving SCulturePicker from the Localization module to the InternationalizationSettings module
Change 3321734 on 2017/02/24 by Alexis.Matte
PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi)
We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow.
#jira UE-39050
Change 3321912 on 2017/02/24 by Jamie.Dale
Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies
Change 3322274 on 2017/02/24 by Jamie.Dale
Moving Localization module from Editor to Developer, and merging the Internationalization module into it
Removed hard-dependency between Engine and Localization/Internationalization via an interface.
Change 3322774 on 2017/02/25 by Jamie.Dale
Unifying LocRes and LocNat file format between generation and loading
This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly.
#tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before.
Change 3322795 on 2017/02/25 by Jamie.Dale
Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file
The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets.
Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another.
Change 3322853 on 2017/02/25 by Jamie.Dale
Moved the conflict and word count reporting to FLocTextHelper
Change 3323089 on 2017/02/26 by Jamie.Dale
Added functions to get the target name and path from FLocTextHelper
Change 3323391 on 2017/02/27 by Ben.Cosh
This fixes an issue with blueprint config variables having their value destroyed by CDO serialization
#Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization
#Proj Engine, CoreUObject
Change 3323406 on 2017/02/27 by Ben.Cosh
Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation.
#jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph
#Proj BlueprintGraph
Change 3323572 on 2017/02/27 by Nick.Darnell
Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from.
Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground.
Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level.
Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test.
Automation - The screenshot comparison test now prints more information even during successful comparisons.
Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it.
Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future.
Change 3323580 on 2017/02/27 by Michael.Trepka
Fixed some Xcode 8.3 compile errors
Change 3323634 on 2017/02/27 by Nick.Darnell
Build - Fix incremental build.
Change 3323740 on 2017/02/27 by Jamie.Dale
Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing
Change 3323865 on 2017/02/27 by Nick.Darnell
Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped.
Change 3324228 on 2017/02/27 by Jamie.Dale
Can no longer name assets or folders with a leading underscore
#jira UE-40541
Change 3324429 on 2017/02/27 by Jamie.Dale
Removing FLocTextTargetPaths
It was added to support something that I'm now going to do a different way.
Change 3324473 on 2017/02/27 by Jamie.Dale
Moved the GatherText SCC utils into the Localization module
Change 3324481 on 2017/02/27 by Jamie.Dale
Moving the localized asset utils out of GatherText base
Change 3324485 on 2017/02/27 by Jamie.Dale
Cleaning up some includes now that the localization SCC is no longer in GatherText
Change 3324910 on 2017/02/28 by Nick.Darnell
Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect.
Change 3325329 on 2017/02/28 by Michael.Dupuis
#jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them
Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed
Change 3325410 on 2017/02/28 by Michael.Dupuis
missing include for incremental build
Change 3325415 on 2017/02/28 by Nick.Darnell
UMG - Adding some setters and getters for RedrawTime to the WidgetComponent.
Change 3325418 on 2017/02/28 by Nick.Darnell
Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup.
Change 3325698 on 2017/02/28 by Alexis.Matte
Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch
Change 3325790 on 2017/02/28 by Michael.Trepka
Copy of CL 3319588
Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer
Change 3326118 on 2017/02/28 by Alexis.Matte
Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer
#jira UE-41291
Change 3326183 on 2017/02/28 by Alexis.Matte
PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy)
#jira UE-42301
Change 3326196 on 2017/02/28 by Jamie.Dale
Force the correct package localization ID when duplicating a BP for nativization
Change 3327037 on 2017/03/01 by Michael.Dupuis
fixed fortnite mac non editor build
Change 3327483 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327486 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327541 on 2017/03/01 by Michael.Trepka
Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac
Change 3328000 on 2017/03/01 by Nick.Darnell
Automation - Noisy rendering features are now disabled by default when taking screenshots.
Change 3328323 on 2017/03/01 by Michael.Trepka
Copy of CL 3307526
Fixed mouse position issues in fullscreen mode on Mac
Change 3328410 on 2017/03/01 by Alexis.Matte
Remove unwanted option when importing skeletal mesh
Make the FBX tests uptodate with the new ImportUI options
#jira UE-41291
Change 3329586 on 2017/03/02 by Jamie.Dale
Adding missing includes when running with bUseMallocProfiler enabled
Change 3329999 on 2017/03/02 by Nick.Darnell
UMG - Removing a deprecated 4.8 function to get the label on UWidget.
Change 3330004 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the dependencies of UMGEditor module.
Change 3330021 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the private include path of the UMG module.
Change 3330041 on 2017/03/02 by Nick.Darnell
Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is.
Change 3330048 on 2017/03/02 by Nick.Darnell
Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring.
Change 3330602 on 2017/03/02 by mason.seay
Map for Functional Screenshot Test Bug
Change 3330632 on 2017/03/02 by Alexis.Matte
Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index
Change 3330862 on 2017/03/02 by Jamie.Dale
Adding FPaths::SetExtension
This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one.
Change 3331491 on 2017/03/03 by Nick.Darnell
Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran.
Change 3331498 on 2017/03/03 by Nick.Darnell
Build - Fixing a build warning.
Change 3331807 on 2017/03/03 by Nick.Darnell
Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes.
Change 3331999 on 2017/03/03 by Michael.Trepka
Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp
Change 3332481 on 2017/03/03 by Arciel.Rekman
Fix building lighting in commandlet (UE-42551).
- Process task graph while running as commandlet.
- Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out.
Change 3332606 on 2017/03/04 by Jamie.Dale
Fixing crash reporting loc word counts when the report is starting empty
Change 3332614 on 2017/03/04 by Jamie.Dale
Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives
Change 3332619 on 2017/03/04 by Jamie.Dale
Fixing CIS error
Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist)
#jira UE-42284
Change 3333039 on 2017/03/06 by Alexis.Matte
Make custom ui for FbxSceneImportData object
#jira UE-37896
Change 3333047 on 2017/03/06 by Nick.Darnell
UMG - Removing an extra assignment in WidgetSwitcher.
Change 3333056 on 2017/03/06 by Alexis.Matte
Build fix
Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt
Added more logging for when window creation fails due to too many windows.
#jira UE-42478
Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts)
#jira UE-42535
Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki)
#jira UE-42407, UE-42565
Change 3333142 on 2017/03/06 by Jamie.Dale
Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer
Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt
Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click.
#jira UE-42461
PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus)
Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt
Remove double middle mouse click to change to perspective view
#jira UE-42444
Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt
Fixed excessive fname initialization in these files
Change 3334063 on 2017/03/06 by Alexis.Matte
fix build linux
Change 3334166 on 2017/03/06 by Jamie.Dale
Adding Data Table export/import support for TMap and TSet
#jira UE-42415
Change 3334459 on 2017/03/06 by Alexis.Matte
PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto)
#jira UE-42563
Change 3335132 on 2017/03/07 by Jamie.Dale
Fixing typo
Change 3335140 on 2017/03/07 by Jamie.Dale
Fixing CSV import warnings in GameplayEffects test
Change 3335164 on 2017/03/07 by Alexis.Matte
Avoid selecting skeletal mesh section in the level when high light them in persona editor
#jira UE-20151
Change 3335186 on 2017/03/07 by Jamie.Dale
Fixed CSV parser missing empty cells at the end of the string
Change 3335218 on 2017/03/07 by Arciel.Rekman
SDL2: delete unused project/build files.
Change 3335222 on 2017/03/07 by Arciel.Rekman
SDL2: delete more unused project/build files.
Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt
Additional fixes for blur and blur slot not propagating padding to each other
#jira UE-42553
Change 3335896 on 2017/03/07 by Jamie.Dale
ToolTips and Engine were double gathering the same meta-data
#jira UE-36480
Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt
Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties
Change 3336247 on 2017/03/07 by Jamie.Dale
Selection height is now the max of the line height and text height to account for negative line scaling
#jira UE-40673
Change 3336253 on 2017/03/07 by Jamie.Dale
Added a setting to control whether we should use the font metrics or the bounding box when laying out a font
#jira UE-41074
Change 3336303 on 2017/03/07 by Arciel.Rekman
Refactor of OS memory allocation functions.
- Bring PageSize/OSAllocationGranularity in line with the established definitions.
- PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties.
- OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned).
- BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations.
- Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned.
- This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2.
- Make Binned2 work on Linux
- Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost.
- The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS)
- Switch Linux to Binned2 by default.
- Add ability to sanity-check OS memory allocations.
- Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only).
Change 3337098 on 2017/03/08 by Michael.Dupuis
#jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen
Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt
Hide the preview toolbar button, it is not being used
Change 3337801 on 2017/03/08 by Michael.Trepka
Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac
Change 3338373 on 2017/03/08 by Joe.Graf
Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment
Tested directory structures:
D:\SomePluginDir
D:\UE4\AnotherPluginDir
D:\UE4\Engine\Plugins
D:\UE4\MyProject\Plugins
Change 3338482 on 2017/03/08 by Alexis.Matte
Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable
Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt
Fixed arrow keys not working to navigate between elements in the details panel
Change 3339086 on 2017/03/09 by Dmitriy.Dyomin
Added: Mobile friendly slate settings
Change 3339366 on 2017/03/09 by Nick.Darnell
Build - Attempting to fix build.
#jira UE-42675
Change 3339506 on 2017/03/09 by Jamie.Dale
Fixing Linux Server build error
#jira UE-42675
Change 3340450 on 2017/03/09 by Cody.Albert
Ensure that the hittest grid is valid before trying to find a focusable widget
Change 3340492 on 2017/03/09 by Arciel.Rekman
Fix IOS compile error (UE-42695).
Change 3340565 on 2017/03/09 by Arciel.Rekman
Fix another compile error (UE-42695).
Change 3341527 on 2017/03/10 by Alexis.Matte
Fix crash when dragging a re-import scene and there is new asset created
#jira UE-42766
[CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
|
|
|
.Text(GetTitleText())
|
2014-10-13 06:46:06 -04:00
|
|
|
.TextStyle(&FEditorStyle::Get().GetWidgetStyle<FTextBlockStyle>("Tutorials.Browser.SummaryHeader"))
|
|
|
|
|
.HighlightText(HighlightText)
|
|
|
|
|
.HighlightColor(FEditorStyle::Get().GetColor("Tutorials.Browser.HighlightTextColor"))
|
|
|
|
|
.HighlightShape(FEditorStyle::Get().GetBrush("TextBlock.HighlightShape"))
|
|
|
|
|
]
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.FillHeight(1.0f)
|
|
|
|
|
[
|
|
|
|
|
SNew(STextBlock)
|
|
|
|
|
.AutoWrapText(true)
|
|
|
|
|
.Text(Category.Description)
|
|
|
|
|
.TextStyle(&FEditorStyle::Get().GetWidgetStyle<FTextBlockStyle>("Tutorials.Browser.SummaryText"))
|
|
|
|
|
.HighlightText(HighlightText)
|
|
|
|
|
.HighlightColor(FEditorStyle::Get().GetColor("Tutorials.Browser.HighlightTextColor"))
|
|
|
|
|
.HighlightShape(FEditorStyle::Get().GetBrush("TextBlock.HighlightShape"))
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.AutoWidth()
|
|
|
|
|
.HAlign(HAlign_Right)
|
|
|
|
|
.VAlign(VAlign_Center)
|
2014-09-10 12:30:30 -04:00
|
|
|
[
|
|
|
|
|
SNew(SImage)
|
2014-10-13 06:46:06 -04:00
|
|
|
.Visibility(this, &FTutorialListEntry_Category::OnGetArrowVisibility)
|
|
|
|
|
.Image(FEditorStyle::Get().GetBrush("Tutorials.Browser.CategoryArrow"))
|
2014-09-10 12:30:30 -04:00
|
|
|
]
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool PassesFilter(const FString& InCategoryFilter, const FString& InFilter) const override
|
|
|
|
|
{
|
|
|
|
|
const FString Title = !Category.Title.IsEmpty() ? Category.Title.ToString() : CategoryName;
|
|
|
|
|
const bool bPassesFilter = InFilter.IsEmpty() || (Title.Contains(InFilter) || Category.Description.ToString().Contains(InFilter));
|
|
|
|
|
const bool bPassesCategory = InCategoryFilter.IsEmpty() || Category.Identifier.StartsWith(InCategoryFilter);
|
|
|
|
|
return bPassesFilter && bPassesCategory;
|
|
|
|
|
}
|
|
|
|
|
|
2015-02-02 10:16:37 -05:00
|
|
|
int32 GetSortOrder() const override
|
|
|
|
|
{
|
|
|
|
|
return Category.SortOrder;
|
|
|
|
|
}
|
2014-09-29 05:28:46 -04:00
|
|
|
|
|
|
|
|
FText GetTitleText() const override
|
|
|
|
|
{
|
|
|
|
|
return !Category.Title.IsEmpty() ? Category.Title : FText::FromString(CategoryName);
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-18 16:43:17 -04:00
|
|
|
bool SortAgainst(TSharedRef<ITutorialListEntry> OtherEntry) const override
|
|
|
|
|
{
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt
GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object
Change 3281111 on 2017/02/01 by Michael.Dupuis
#jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window
Change 3281225 on 2017/02/01 by Jamie.Dale
Several improvements to culture switching and LocRes files
- LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files.
- The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found.
- Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base.
- The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture.
- "-culture=leet" now works correctly on the command line ("-leet" also works).
- LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager.
- General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs.
Change 3281291 on 2017/02/01 by Alexis.Matte
Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh
#jira UE-39639
Change 3281718 on 2017/02/01 by Michael.Dupuis
#jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid
Change 3281861 on 2017/02/01 by Alexis.Matte
Fix import of morph target when there is no animation
#jira UE-41383
Change 3282791 on 2017/02/02 by Chris.Wood
Split crash analytics methods to fix comment parsing issues.
[UE-32787] - Document Crash Report Client analytics events in code
Change 3283316 on 2017/02/02 by Alexis.Matte
Make sure we do not import more then the maximum allowed node
#jira UE-41405
Change 3283349 on 2017/02/02 by Jamie.Dale
Updated Portal to stage its .locnat files
Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt
Fix component/actor selection becoming out of sync after undo/redo
#jira UE-41416
Change 3284061 on 2017/02/02 by Alexis.Matte
Fix the scene importer front x axis import
#jira UE-41318
Change 3284280 on 2017/02/02 by Alex.Delesky
#jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log
Change 3285053 on 2017/02/03 by Michael.Dupuis
#jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated
Change 3285444 on 2017/02/03 by Jamie.Dale
Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale
These are typically still Latin, but Middle Eastern languages have some variants.
This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals).
Change 3287422 on 2017/02/06 by Michael.Dupuis
#jira UE-36580: Improved the whole word algo to take into consideration localisation
Change 3287455 on 2017/02/06 by Alexis.Matte
When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it.
#jira UE-41397
Change 3287745 on 2017/02/06 by Alexis.Matte
Merge from orion dev-general cl:3286668
Fix a crash when importing a LOD containing different material with less sections
Change 3287996 on 2017/02/06 by Michael.Dupuis
#jira UE-37290: fixed naming to be "move to level" instead of "move level"
Change 3288090 on 2017/02/06 by Jamie.Dale
Fixing missing include breaking the FText natvis
Change 3288105 on 2017/02/06 by Jamie.Dale
FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros
Change 3288150 on 2017/02/06 by Jamie.Dale
Fixing display names for tutorial categories so that they can be localized
They were already FText, but the config wasn't defining them in a localizable way.
#jira UE-37926
Change 3288469 on 2017/02/06 by Alex.Delesky
#jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets.
This also introduces the Subtitles module.
Change 3288540 on 2017/02/06 by Alex.Delesky
Backing out changelist 3288469 due to build issue with module includes
#jira none
Change 3289074 on 2017/02/06 by Alex.Delesky
Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files
#jira UE-35464
Change 3289753 on 2017/02/07 by Michael.Dupuis
#jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID
Change 3290097 on 2017/02/07 by Nick.Darnell
Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports.
Change 3290182 on 2017/02/07 by Michael.Trepka
Added missing initialization for SWindow::bIsMirrorWindow
Change 3290472 on 2017/02/07 by Michael.Dupuis
#jira UE-37358: Add reference list in the dialog for all delete type
Change 3290513 on 2017/02/07 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3290543 on 2017/02/07 by Michael.Dupuis
#jira UE-35931: Refresh detail panel on selection lost
Change 3290581 on 2017/02/07 by Michael.Dupuis
Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor)
Change 3290721 on 2017/02/07 by Michael.Dupuis
#jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function
Change 3291958 on 2017/02/08 by Alexis.Matte
Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp
Change 3292017 on 2017/02/08 by Alexis.Matte
Add some fbx automation tests to validate material re-import
Change 3292030 on 2017/02/08 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3293062 on 2017/02/08 by Jamie.Dale
Reduced the number of allocations that happen when rebuilding text
This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild.
Changes:
- Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
- Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage.
- Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation.
- Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation.
- Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy).
- Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous.
- General update from using MakeShareable to MakeShared (saving 1 allocation).
- General clean-up of L10N/I18N class friendship.
#jira UE-41533
Change 3293292 on 2017/02/08 by Alex.Delesky
Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds.
Change 3293477 on 2017/02/08 by Jamie.Dale
Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays
#jira UE-41007
Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt
Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data.
Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt
Fix details panel categories in the static mesh editor
Change 3294216 on 2017/02/09 by Michael.Dupuis
#jira UE-40609: manually position the window based on it'S max possible size
#3128 GitHub
Change 3294430 on 2017/02/09 by Jamie.Dale
Kerning-only text shaping no longer draws characters to get their metrics
It now goes via the low-level FT caches like HarfBuzz does.
Change 3294588 on 2017/02/09 by Alexis.Matte
If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup
Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3295093 on 2017/02/09 by Arciel.Rekman
Linux: fix Setup.sh not working in paths with space (UE-41819).
Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt
Fix material UV's no longer working om 9 slice elements
Change 3295816 on 2017/02/09 by Arciel.Rekman
Linux: fix starting programs from a path with space.
Change 3296129 on 2017/02/09 by Arciel.Rekman
Linux i686: changes necessary to compile BlankProgram.
- Added new architecture to UBT.
- Fixed system headers.
- Added third party libs for i686:
- jemalloc
- elftoolchain
- zlib
- SDL2
- libc++
Change 3296564 on 2017/02/10 by Jamie.Dale
Cleaned up PO comment preservation
Change 3296694 on 2017/02/10 by Jamie.Dale
AllocateNameEntry now takes TCharType* rather than void* and cast
Change 3296744 on 2017/02/10 by Jamie.Dale
Moved the PO DOM from UnrealEd to Internationalization
Change 3297250 on 2017/02/10 by Jamie.Dale
Split the PO import/export pipeline out of the commandlet
Change 3297420 on 2017/02/10 by Alexis.Matte
Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor.
#jira UE-38985
Change 3297594 on 2017/02/10 by Alexis.Matte
When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one.
Change 3297752 on 2017/02/10 by Arciel.Rekman
i686 support: more third party libs.
- libcurl
- OpenSSL
- libpng
- libvorbis
- libogg
- libopus
Change 3297754 on 2017/02/10 by Arciel.Rekman
i686 support: PhysX
Change 3297922 on 2017/02/10 by Alexis.Matte
When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename.
Change 3298330 on 2017/02/10 by Arciel.Rekman
i686: missing libcurl.
Change 3298620 on 2017/02/11 by Jamie.Dale
FLocTextHelper improvements
- It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths).
- The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters).
Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist)
Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts)
Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt
Fix material instances being marked dirty when opening
#jira UE-41721, UE-41719
Change 3299441 on 2017/02/13 by Nick.Darnell
PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi)
Change 3299567 on 2017/02/13 by Nick.Darnell
Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed.
#jira UE-41904
Change 3299870 on 2017/02/13 by Jamie.Dale
Added cycle counters for font rendering/shaping
Change 3300116 on 2017/02/13 by Michael.Dupuis
#jira UE-41866: Update cache when performing an undo
Change 3300178 on 2017/02/13 by Alexis.Matte
Fix a crash when re-importing a LOD with more sections then the base LOD
Change 3300191 on 2017/02/13 by Alexis.Matte
Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh.
Change 3300351 on 2017/02/13 by Alexis.Matte
Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI
#jira UE-39639
Change 3302138 on 2017/02/14 by Nick.Darnell
Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them.
Change 3302139 on 2017/02/14 by Nick.Darnell
UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets.
Change 3302281 on 2017/02/14 by Nick.Darnell
Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases.
Change 3302415 on 2017/02/14 by Nick.Darnell
Disabling the open asset editor test.
Change 3302976 on 2017/02/14 by Nick.Darnell
Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO.
Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt
Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove
#jira UE-41958
Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav)
Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi)
Change 3303823 on 2017/02/15 by Nick.Darnell
Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter.
Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build error
Change 3303982 on 2017/02/15 by Nick.Darnell
Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow.
Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build attempt #2 (not reproducible locally)
Change 3304393 on 2017/02/15 by Matt.Barnes
Submitting test content for UEQATC-3548
Change 3304517 on 2017/02/15 by Nick.Darnell
Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both.
Change 3304560 on 2017/02/15 by Nick.Darnell
UMG - SA fix.
Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist)
Change 3305360 on 2017/02/15 by Arciel.Rekman
Linux: fix crash on exit (UE-41907).
- It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit().
Change 3306023 on 2017/02/16 by Nick.Darnell
Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints.
Change 3306030 on 2017/02/16 by Nick.Darnell
Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way).
Change 3306031 on 2017/02/16 by Nick.Darnell
Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint.
Change 3306046 on 2017/02/16 by Nick.Darnell
UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode.
Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt
Fix crash if blurs are rotated
#jira UE-42037
Change 3309114 on 2017/02/17 by Jamie.Dale
Unifying non-shaped text to use the same atlas cache as shaped text
Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt
Outline color on text elements is now inherited properly
#jira UE-40691
Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt
Guard against rendering MIDs with potentially no parent in slate.
#jira UE-42047
Change 3311531 on 2017/02/20 by Michael.Dupuis
#jira UETOOL-1100:
Add the possibility to have dynamic min/max slider value
Synchonize all Color vector together when changing the min/max slider value
Change 3311534 on 2017/02/20 by Michael.Dupuis
incremental build fix
Change 3311535 on 2017/02/20 by Michael.Dupuis
incremental build fix take 2...
Change 3311743 on 2017/02/20 by Michael.Dupuis
buildfix lunix incremental
Change 3312496 on 2017/02/20 by Arciel.Rekman
Linux: fix PhysX crash in i686.
- Changed layout to one that works.
Change 3313127 on 2017/02/20 by Jamie.Dale
Fixed crash when performing a non-async cooked package save
It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed.
Change 3313990 on 2017/02/21 by Nick.Darnell
Automation - Added a summary area at the top of the report.
Change 3314034 on 2017/02/21 by Jamie.Dale
Fixed crash when deleting a streamed font
Change 3314942 on 2017/02/21 by Nick.Darnell
Automation - More templating styling work.
Change 3315080 on 2017/02/21 by Nick.Darnell
Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock.
Change 3315452 on 2017/02/21 by Nick.Darnell
Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet.
Change 3315614 on 2017/02/21 by Nick.Darnell
Json - Adding support for loading sets and map json data.
Change 3315924 on 2017/02/21 by Arciel.Rekman
Vulkan: edigrating various Linux fixes by Josh.
- This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself).
Original descriptions:
CL 3313445
- Various Vulkan fixes:
- Compiles in Linux
- Many cubemap bugs squashed
- Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear()
- Added compute fences
CL 3314152
- Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested.
Change 3316741 on 2017/02/22 by Jamie.Dale
Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names
#jira UE-42253
Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3317058 on 2017/02/22 by Alexis.Matte
Fix the scene importer to support correctly the obj file format
#jira UE-35606
Change 3318039 on 2017/02/22 by Arciel.Rekman
i686 support: added missing libwebsockets.
Change 3318095 on 2017/02/22 by Arciel.Rekman
i686 support: Oodle.
Change 3319002 on 2017/02/23 by Michael.Dupuis
#jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape
Change 3319012 on 2017/02/23 by Alexis.Matte
PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans)
#jira UE-40039
Change 3319035 on 2017/02/23 by Nick.Darnell
UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi.
#jira UE-42170
Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts)
#jira UE-42129
Change 3319072 on 2017/02/23 by Michael.Dupuis
#jira UETOOL-1101: Add support for DetailGroup reset to default
Right now it's only enable for the color grading
Change 3319077 on 2017/02/23 by Nick.Darnell
Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days.
PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component.
Change 3319088 on 2017/02/23 by Nick.Darnell
PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist)
#jira UE-41914
Change 3319104 on 2017/02/23 by Michael.Dupuis
fix incremental build
Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts)
#jira UE-42272
Change 3319252 on 2017/02/23 by Michael.Dupuis
fix warning with missing #undef LOCTEXT_NAMESPACE
Change 3319298 on 2017/02/23 by Alex.Delesky
Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules)
Change 3319388 on 2017/02/23 by Alexis.Matte
Fbx Importer now find collision model under fbx LOD Group
#jira UE-42141
Change 3319528 on 2017/02/23 by Michael.Dupuis
Fixed Undo/Redo to be consistent with other vector modifcation behavior
Change 3319583 on 2017/02/23 by Alexis.Matte
Fix the sample rate to use the least common multiplier of all keys
#jira UE-42012
Change 3319705 on 2017/02/23 by Nick.Darnell
Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'.
Change 3319711 on 2017/02/23 by Nick.Darnell
Editor - Adding some checks to make sure the struct we're accessing is still a valid handle.
#jira UE-42262
Change 3319736 on 2017/02/23 by Alex.Delesky
Adding Subtitles and SubtitlesEditor to the JunkManifest file.
Change 3319919 on 2017/02/23 by Nick.Darnell
Automation - Fixing an issue with moving a location that doesn't exist.
Change 3319932 on 2017/02/23 by Alexis.Matte
Fbx importer, do not apply more then one time the transform option to the scene node.
#jira UE-42277
Change 3320105 on 2017/02/23 by Nick.Darnell
Editor - Adding some additional checks to the margin customization.
#jira UE-42262
Change 3321577 on 2017/02/24 by Jamie.Dale
Moving Internationalization module from Runtime to Developer
Change 3321625 on 2017/02/24 by Jamie.Dale
Moving InternationalizationSettings module from Developer to Editor
Change 3321642 on 2017/02/24 by Jamie.Dale
Moving SCulturePicker from the Localization module to the InternationalizationSettings module
Change 3321734 on 2017/02/24 by Alexis.Matte
PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi)
We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow.
#jira UE-39050
Change 3321912 on 2017/02/24 by Jamie.Dale
Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies
Change 3322274 on 2017/02/24 by Jamie.Dale
Moving Localization module from Editor to Developer, and merging the Internationalization module into it
Removed hard-dependency between Engine and Localization/Internationalization via an interface.
Change 3322774 on 2017/02/25 by Jamie.Dale
Unifying LocRes and LocNat file format between generation and loading
This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly.
#tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before.
Change 3322795 on 2017/02/25 by Jamie.Dale
Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file
The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets.
Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another.
Change 3322853 on 2017/02/25 by Jamie.Dale
Moved the conflict and word count reporting to FLocTextHelper
Change 3323089 on 2017/02/26 by Jamie.Dale
Added functions to get the target name and path from FLocTextHelper
Change 3323391 on 2017/02/27 by Ben.Cosh
This fixes an issue with blueprint config variables having their value destroyed by CDO serialization
#Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization
#Proj Engine, CoreUObject
Change 3323406 on 2017/02/27 by Ben.Cosh
Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation.
#jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph
#Proj BlueprintGraph
Change 3323572 on 2017/02/27 by Nick.Darnell
Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from.
Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground.
Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level.
Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test.
Automation - The screenshot comparison test now prints more information even during successful comparisons.
Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it.
Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future.
Change 3323580 on 2017/02/27 by Michael.Trepka
Fixed some Xcode 8.3 compile errors
Change 3323634 on 2017/02/27 by Nick.Darnell
Build - Fix incremental build.
Change 3323740 on 2017/02/27 by Jamie.Dale
Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing
Change 3323865 on 2017/02/27 by Nick.Darnell
Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped.
Change 3324228 on 2017/02/27 by Jamie.Dale
Can no longer name assets or folders with a leading underscore
#jira UE-40541
Change 3324429 on 2017/02/27 by Jamie.Dale
Removing FLocTextTargetPaths
It was added to support something that I'm now going to do a different way.
Change 3324473 on 2017/02/27 by Jamie.Dale
Moved the GatherText SCC utils into the Localization module
Change 3324481 on 2017/02/27 by Jamie.Dale
Moving the localized asset utils out of GatherText base
Change 3324485 on 2017/02/27 by Jamie.Dale
Cleaning up some includes now that the localization SCC is no longer in GatherText
Change 3324910 on 2017/02/28 by Nick.Darnell
Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect.
Change 3325329 on 2017/02/28 by Michael.Dupuis
#jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them
Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed
Change 3325410 on 2017/02/28 by Michael.Dupuis
missing include for incremental build
Change 3325415 on 2017/02/28 by Nick.Darnell
UMG - Adding some setters and getters for RedrawTime to the WidgetComponent.
Change 3325418 on 2017/02/28 by Nick.Darnell
Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup.
Change 3325698 on 2017/02/28 by Alexis.Matte
Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch
Change 3325790 on 2017/02/28 by Michael.Trepka
Copy of CL 3319588
Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer
Change 3326118 on 2017/02/28 by Alexis.Matte
Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer
#jira UE-41291
Change 3326183 on 2017/02/28 by Alexis.Matte
PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy)
#jira UE-42301
Change 3326196 on 2017/02/28 by Jamie.Dale
Force the correct package localization ID when duplicating a BP for nativization
Change 3327037 on 2017/03/01 by Michael.Dupuis
fixed fortnite mac non editor build
Change 3327483 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327486 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327541 on 2017/03/01 by Michael.Trepka
Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac
Change 3328000 on 2017/03/01 by Nick.Darnell
Automation - Noisy rendering features are now disabled by default when taking screenshots.
Change 3328323 on 2017/03/01 by Michael.Trepka
Copy of CL 3307526
Fixed mouse position issues in fullscreen mode on Mac
Change 3328410 on 2017/03/01 by Alexis.Matte
Remove unwanted option when importing skeletal mesh
Make the FBX tests uptodate with the new ImportUI options
#jira UE-41291
Change 3329586 on 2017/03/02 by Jamie.Dale
Adding missing includes when running with bUseMallocProfiler enabled
Change 3329999 on 2017/03/02 by Nick.Darnell
UMG - Removing a deprecated 4.8 function to get the label on UWidget.
Change 3330004 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the dependencies of UMGEditor module.
Change 3330021 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the private include path of the UMG module.
Change 3330041 on 2017/03/02 by Nick.Darnell
Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is.
Change 3330048 on 2017/03/02 by Nick.Darnell
Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring.
Change 3330602 on 2017/03/02 by mason.seay
Map for Functional Screenshot Test Bug
Change 3330632 on 2017/03/02 by Alexis.Matte
Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index
Change 3330862 on 2017/03/02 by Jamie.Dale
Adding FPaths::SetExtension
This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one.
Change 3331491 on 2017/03/03 by Nick.Darnell
Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran.
Change 3331498 on 2017/03/03 by Nick.Darnell
Build - Fixing a build warning.
Change 3331807 on 2017/03/03 by Nick.Darnell
Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes.
Change 3331999 on 2017/03/03 by Michael.Trepka
Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp
Change 3332481 on 2017/03/03 by Arciel.Rekman
Fix building lighting in commandlet (UE-42551).
- Process task graph while running as commandlet.
- Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out.
Change 3332606 on 2017/03/04 by Jamie.Dale
Fixing crash reporting loc word counts when the report is starting empty
Change 3332614 on 2017/03/04 by Jamie.Dale
Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives
Change 3332619 on 2017/03/04 by Jamie.Dale
Fixing CIS error
Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist)
#jira UE-42284
Change 3333039 on 2017/03/06 by Alexis.Matte
Make custom ui for FbxSceneImportData object
#jira UE-37896
Change 3333047 on 2017/03/06 by Nick.Darnell
UMG - Removing an extra assignment in WidgetSwitcher.
Change 3333056 on 2017/03/06 by Alexis.Matte
Build fix
Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt
Added more logging for when window creation fails due to too many windows.
#jira UE-42478
Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts)
#jira UE-42535
Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki)
#jira UE-42407, UE-42565
Change 3333142 on 2017/03/06 by Jamie.Dale
Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer
Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt
Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click.
#jira UE-42461
PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus)
Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt
Remove double middle mouse click to change to perspective view
#jira UE-42444
Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt
Fixed excessive fname initialization in these files
Change 3334063 on 2017/03/06 by Alexis.Matte
fix build linux
Change 3334166 on 2017/03/06 by Jamie.Dale
Adding Data Table export/import support for TMap and TSet
#jira UE-42415
Change 3334459 on 2017/03/06 by Alexis.Matte
PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto)
#jira UE-42563
Change 3335132 on 2017/03/07 by Jamie.Dale
Fixing typo
Change 3335140 on 2017/03/07 by Jamie.Dale
Fixing CSV import warnings in GameplayEffects test
Change 3335164 on 2017/03/07 by Alexis.Matte
Avoid selecting skeletal mesh section in the level when high light them in persona editor
#jira UE-20151
Change 3335186 on 2017/03/07 by Jamie.Dale
Fixed CSV parser missing empty cells at the end of the string
Change 3335218 on 2017/03/07 by Arciel.Rekman
SDL2: delete unused project/build files.
Change 3335222 on 2017/03/07 by Arciel.Rekman
SDL2: delete more unused project/build files.
Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt
Additional fixes for blur and blur slot not propagating padding to each other
#jira UE-42553
Change 3335896 on 2017/03/07 by Jamie.Dale
ToolTips and Engine were double gathering the same meta-data
#jira UE-36480
Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt
Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties
Change 3336247 on 2017/03/07 by Jamie.Dale
Selection height is now the max of the line height and text height to account for negative line scaling
#jira UE-40673
Change 3336253 on 2017/03/07 by Jamie.Dale
Added a setting to control whether we should use the font metrics or the bounding box when laying out a font
#jira UE-41074
Change 3336303 on 2017/03/07 by Arciel.Rekman
Refactor of OS memory allocation functions.
- Bring PageSize/OSAllocationGranularity in line with the established definitions.
- PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties.
- OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned).
- BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations.
- Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned.
- This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2.
- Make Binned2 work on Linux
- Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost.
- The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS)
- Switch Linux to Binned2 by default.
- Add ability to sanity-check OS memory allocations.
- Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only).
Change 3337098 on 2017/03/08 by Michael.Dupuis
#jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen
Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt
Hide the preview toolbar button, it is not being used
Change 3337801 on 2017/03/08 by Michael.Trepka
Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac
Change 3338373 on 2017/03/08 by Joe.Graf
Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment
Tested directory structures:
D:\SomePluginDir
D:\UE4\AnotherPluginDir
D:\UE4\Engine\Plugins
D:\UE4\MyProject\Plugins
Change 3338482 on 2017/03/08 by Alexis.Matte
Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable
Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt
Fixed arrow keys not working to navigate between elements in the details panel
Change 3339086 on 2017/03/09 by Dmitriy.Dyomin
Added: Mobile friendly slate settings
Change 3339366 on 2017/03/09 by Nick.Darnell
Build - Attempting to fix build.
#jira UE-42675
Change 3339506 on 2017/03/09 by Jamie.Dale
Fixing Linux Server build error
#jira UE-42675
Change 3340450 on 2017/03/09 by Cody.Albert
Ensure that the hittest grid is valid before trying to find a focusable widget
Change 3340492 on 2017/03/09 by Arciel.Rekman
Fix IOS compile error (UE-42695).
Change 3340565 on 2017/03/09 by Arciel.Rekman
Fix another compile error (UE-42695).
Change 3341527 on 2017/03/10 by Alexis.Matte
Fix crash when dragging a re-import scene and there is new asset created
#jira UE-42766
[CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
|
|
|
return (GetSortOrder() == OtherEntry->GetSortOrder()) ? (GetTitleText().CompareTo(OtherEntry->GetTitleText()) < 0) : (GetSortOrder() < OtherEntry->GetSortOrder());
|
2014-09-18 16:43:17 -04:00
|
|
|
}
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
void AddSubCategory(TSharedPtr<FTutorialListEntry_Category> InSubCategory)
|
|
|
|
|
{
|
|
|
|
|
SubCategories.Add(InSubCategory);
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2946506 on 2016/04/18 by Steven.Hutton
Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports.
Change 3017807 on 2016/06/17 by Chris.Wood
Improved Crash Report Process folder delete code as it could sometimes fail.
[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue
Also added logging to Slack when stop request received instead of just when stop is complete.
Change 3019367 on 2016/06/20 by Chris.Wood
Improve Crash Report Process logging to track bad reads from S3.
Also, better logging when CleanReport fails to delete folders.
Change 3019376 on 2016/06/20 by Steve.Robb
Clarification of assert message and comments which talk about 'null' TFunctions.
Tidy-up of dead code.
Change 3019409 on 2016/06/20 by Steve.Robb
New Find and FindByPredicate algorithms for finding stuff in arbitrary containers.
Change 3022658 on 2016/06/22 by Chris.Wood
Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11)
[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue
Also improved logging to Slack with better layout, fixed event ordering and counting duplicates.
Change 3022840 on 2016/06/22 by Steve.Robb
Skipped UHT attributes removed.
Change 3022907 on 2016/06/22 by Robert.Manuszewski
Fixing crash when adding a new C++ class to project
#jira UE-32333
Change 3023169 on 2016/06/22 by Steve.Robb
Checks for UTHINGs in skipped preprocessor blocks.
Fixes for skipped UTHINGs and some other parsing accidents.
#jira UE-31627
Change 3023239 on 2016/06/22 by Steve.Robb
Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html
Change 3026812 on 2016/06/24 by Mieszko.Zielinski
Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4
Change 3028235 on 2016/06/27 by Robert.Manuszewski
PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist)
Change 3028282 on 2016/06/27 by Steve.Robb
Fix for missing UFUNCTION check in skipped preprocessor blocks.
#jira UE-31627
Change 3028284 on 2016/06/27 by Steve.Robb
Debuggability improvements and coding standards changes.
Change 3028343 on 2016/06/27 by Steve.Robb
Fix for UHT error in WEX.
#jira UE-32464
Change 3028393 on 2016/06/27 by Steve.Robb
Fix for hot reload of enums finding the old enum.
Fix to stop SPropertyEditorNumeric caching the enum flags.
#jira UE-31658
Change 3030362 on 2016/06/28 by Robert.Manuszewski
Fixing hang when cooking.
Change 3030462 on 2016/06/28 by Steve.Robb
Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild.
#jira UE-32001
Change 3034341 on 2016/06/30 by Robert.Manuszewski
Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report.
Added 'debug twothreadsgpf' command to test the functionality.
Change 3034342 on 2016/06/30 by John.Mahoney
Fix for crash when loading an empty cached asset registry.
#jira UE-32232
Change 3035599 on 2016/07/01 by Chris.Wood
Added support for CrashType string to Crash Report Process. CRP v1.1.12
[UE-30592] - Crash Reporter should determine crash type on client and pass string to server
Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible.
Added in missing crash context parameters that have been added to clients but not known by the server.
Change 3035787 on 2016/07/01 by John.Mahoney
Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h.
#jira UE-30189
Change 3036933 on 2016/07/04 by Steve.Robb
Proper forwarding constructor for FAsyncTask.
Change 3036938 on 2016/07/04 by Steve.Robb
Fix for CDO hot reload corrupting memory when replacing references inside structs.
#jira UE-29335
Change 3036960 on 2016/07/04 by Steve.Robb
Fix for FAnsiAllocator::ResizeAllocation when resizing to zero.
Change 3037423 on 2016/07/05 by Steve.Robb
FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool.
Change 3037464 on 2016/07/05 by Steve.Robb
HotReload.cpp cleanup:
Deep nesting flattened.
Linear array searches replaced with maps.
FHotReloadModule::GetGameModules made into a non-member function and split into two.
Comment and coding standard fixes.
Change 3037741 on 2016/07/05 by John.Mahoney
Fix for COTF not checking the correct timestamps on startup.
#jira UE-31023
Change 3037846 on 2016/07/05 by Steve.Robb
Fix for compile button disappearing on a bad compile.
#jira UE-31575
Change 3037994 on 2016/07/05 by Steve.Robb
Static analysis fixes:
warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
Change 3039186 on 2016/07/06 by Robert.Manuszewski
Enabling crash callstack logging by default.
Change 3039220 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot
warning C6001: Using uninitialized memory 'UserNameLength'
warning C6001: Using uninitialized memory 'DomainNameLength'
Change 3039230 on 2016/07/06 by Steve.Robb
Fix for VC internal compiler errors.
Change 3039237 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read.
Change 3039287 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter.
warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'.
warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'.
warning C6031: Return value ignored: 'CoCreateInstance'.
Change 3039359 on 2016/07/06 by Graeme.Thornton
Compile error fix for FAsyncTask, courtesy of SteveR
Change 3039534 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects.
Change 3039545 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value.
Change 3039578 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack.
Change 3039623 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'
warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read.
warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written.
warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.
Change 3039630 on 2016/07/06 by John.Mahoney
Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here.
#jira UE-29123
Change 3039664 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
Change 3039673 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'.
Change 3039690 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'.
warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope.
warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6263: Using _alloca in a loop: this can quickly overflow stack.
Change 3040868 on 2016/07/07 by Graeme.Thornton
Config based class stripping for server builds
Change 3040872 on 2016/07/07 by Graeme.Thornton
Remove "return false" NeedsLoadForServer functions from engine code
Change 3040997 on 2016/07/07 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Landscape'.
warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'.
warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'.
Change 3041004 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.
Change 3041014 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3041111 on 2016/07/07 by Steve.Robb
Removal of an obsolete error message about INI file case sensitivity.
Change 3041150 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead?
Change 3041274 on 2016/07/07 by Steve.Robb
Static analysis fixes: warning C6001: Using uninitialized memory 'X'.
Change 3041294 on 2016/07/07 by Chris.Wood
Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14)
[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack
Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length.
Increased buffer size for decompression as this was sometimes too small.
Modified S3 reading code to look for multiple records in each downloaded file.
Change 3041472 on 2016/07/07 by Steve.Robb
Static analysis fixes:
warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'.
Change 3043074 on 2016/07/08 by John.Mahoney
Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name.
Fix for COTF GetFiles not handling absolute GameDir paths properly.
#jira UE-31023
Change 3044461 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written.
Change 3044470 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'.
Change 3044476 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3044551 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did.
Change 3044664 on 2016/07/11 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'.
warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did.
warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'.
warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read.
Change 3044716 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read.
Change 3044717 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did.
This appears to be a false positive.
Change 3044787 on 2016/07/11 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'FbxObject'.
warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did.
warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did.
Change 3045933 on 2016/07/12 by Steve.Robb
Overloading support for TSharedPtr, TSharedRef and TWeakPtr.
Change 3045960 on 2016/07/12 by Robert.Manuszewski
Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled.
Change 3045963 on 2016/07/12 by Steve.Robb
PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed.
THasOperatorEquals and THasOperatorNotEquals traits moved to their own header.
Change 3045967 on 2016/07/12 by Steve.Robb
Initializer list support for TArray and TSet.
Change 3045968 on 2016/07/12 by Robert.Manuszewski
Fixing an ensure after typing 'stat dumphitches' in console.
Change 3045992 on 2016/07/12 by Robert.Manuszewski
Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure)
Change 3047870 on 2016/07/13 by Steven.Hutton
Updated CRW to entity framework with repository models. #rb none
Change 3047871 on 2016/07/13 by Steven.Hutton
Add repository models #rb none
Change 3049468 on 2016/07/14 by Steven.Hutton
Fix broken project files. #rb none
#lockdown Nick.Penwarden
[CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
|
|
|
void AddTutorial(TSharedPtr<FTutorialListEntry_Tutorial> InTutorial);
|
2014-08-05 09:04:35 -04:00
|
|
|
|
|
|
|
|
FReply OnClicked() const
|
|
|
|
|
{
|
|
|
|
|
if(SubCategories.Num() > 0 || Tutorials.Num() > 0)
|
|
|
|
|
{
|
|
|
|
|
OnCategorySelected.ExecuteIfBound(Category.Identifier);
|
|
|
|
|
}
|
|
|
|
|
return FReply::Handled();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EVisibility OnGetArrowVisibility() const
|
|
|
|
|
{
|
|
|
|
|
return (SubCategories.Num() > 0 || Tutorials.Num() > 0) ? EVisibility::Visible : EVisibility::Collapsed;
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-23 10:08:21 -04:00
|
|
|
EVisibility GetCompletedVisibility() const override
|
|
|
|
|
{
|
|
|
|
|
for (int32 i = 0; i < Tutorials.Num(); ++i)
|
|
|
|
|
{
|
|
|
|
|
if (Tutorials[i].IsValid() && (Tutorials[i]->GetCompletedVisibility() != EVisibility::Visible))
|
|
|
|
|
{
|
|
|
|
|
return EVisibility::Hidden;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
for (int32 i = 0; i < SubCategories.Num(); ++i)
|
|
|
|
|
{
|
|
|
|
|
if (SubCategories[i].IsValid() && (SubCategories[i]->GetCompletedVisibility() != EVisibility::Visible))
|
|
|
|
|
{
|
|
|
|
|
return EVisibility::Hidden;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return EVisibility::Visible;
|
|
|
|
|
}
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
public:
|
|
|
|
|
/** Copy of the category info */
|
|
|
|
|
FTutorialCategory Category;
|
|
|
|
|
|
|
|
|
|
/** Parent category */
|
|
|
|
|
TWeakPtr<ITutorialListEntry> ParentCategory;
|
|
|
|
|
|
|
|
|
|
/** Sub-categories */
|
|
|
|
|
TArray<TSharedPtr<ITutorialListEntry>> SubCategories;
|
|
|
|
|
|
|
|
|
|
/** Tutorials in this category */
|
|
|
|
|
TArray<TSharedPtr<ITutorialListEntry>> Tutorials;
|
|
|
|
|
|
|
|
|
|
/** Selection delegate */
|
|
|
|
|
FOnCategorySelected OnCategorySelected;
|
|
|
|
|
|
|
|
|
|
/** Name of the category, empty if this category is at the root */
|
|
|
|
|
FString CategoryName;
|
|
|
|
|
|
|
|
|
|
/** Text to highlight */
|
|
|
|
|
TAttribute<FText> HighlightText;
|
2014-09-10 12:30:30 -04:00
|
|
|
|
|
|
|
|
/** Static brush from the editor style */
|
|
|
|
|
const FSlateBrush* SlateBrush;
|
|
|
|
|
|
|
|
|
|
/** Dynamic brush from the texture specified by the user */
|
|
|
|
|
TSharedPtr<FSlateDynamicImageBrush> DynamicBrush;
|
2014-08-05 09:04:35 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
DECLARE_DELEGATE_TwoParams(FOnTutorialSelected, UEditorTutorial* /* InTutorial */, bool /* bRestart */ );
|
|
|
|
|
|
2017-07-13 10:13:07 -04:00
|
|
|
class FTutorialListEntry_Tutorial : public ITutorialListEntry, public TSharedFromThis<FTutorialListEntry_Tutorial>, public FGCObject
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
FTutorialListEntry_Tutorial(UEditorTutorial* InTutorial, FOnTutorialSelected InOnTutorialSelected, const TAttribute<FText>& InHighlightText)
|
|
|
|
|
: Tutorial(InTutorial)
|
|
|
|
|
, OnTutorialSelected(InOnTutorialSelected)
|
|
|
|
|
, HighlightText(InHighlightText)
|
2014-09-10 12:30:30 -04:00
|
|
|
, SlateBrush(nullptr)
|
2014-10-13 06:46:06 -04:00
|
|
|
, LastUpdateTime(0.0f)
|
2014-09-10 12:30:30 -04:00
|
|
|
{
|
|
|
|
|
if(Tutorial->Texture != nullptr)
|
|
|
|
|
{
|
|
|
|
|
FIntPoint TextureSize = Tutorial->Texture->GetImportedSize();
|
|
|
|
|
DynamicBrush = MakeShareable(new FSlateDynamicImageBrush(Tutorial->Texture, FVector2D((float)TextureSize.X, (float)TextureSize.Y), NAME_None));
|
|
|
|
|
SlateBrush = DynamicBrush.Get();
|
|
|
|
|
}
|
|
|
|
|
else if(Tutorial->Icon.Len() > 0)
|
|
|
|
|
{
|
|
|
|
|
SlateBrush = FEditorStyle::Get().GetBrush(FName(*Tutorial->Icon));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(SlateBrush == nullptr)
|
|
|
|
|
{
|
|
|
|
|
SlateBrush = FEditorStyle::Get().GetBrush("Tutorials.Browser.DefaultTutorialIcon");
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-08-05 09:04:35 -04:00
|
|
|
|
2014-08-05 18:02:04 -04:00
|
|
|
virtual ~FTutorialListEntry_Tutorial()
|
2015-07-14 15:36:51 -04:00
|
|
|
{
|
|
|
|
|
if( DynamicBrush.IsValid() )
|
|
|
|
|
{
|
|
|
|
|
DynamicBrush->ReleaseResource();
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-08-05 18:02:04 -04:00
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
virtual TSharedRef<ITableRow> OnGenerateTutorialRow(const TSharedRef<STableViewBase>& OwnerTable) const override
|
|
|
|
|
{
|
2014-10-13 06:46:06 -04:00
|
|
|
CacheProgress();
|
2014-09-18 09:02:51 -04:00
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
return SNew(STableRow<TSharedPtr<ITutorialListEntry>>, OwnerTable)
|
|
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SBox)
|
|
|
|
|
.Padding(FMargin(0.0f, 2.0f))
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SAssignNew(LaunchButton, SButton)
|
|
|
|
|
.OnClicked(this, &FTutorialListEntry_Tutorial::OnClicked, false)
|
|
|
|
|
.ButtonStyle(&FEditorStyle::Get().GetWidgetStyle<FButtonStyle>("Tutorials.Browser.Button"))
|
|
|
|
|
.ForegroundColor(FSlateColor::UseForeground())
|
|
|
|
|
.Content()
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SVerticalBox)
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.AutoHeight()
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SHorizontalBox)
|
|
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.AutoWidth()
|
|
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
.HAlign(HAlign_Center)
|
|
|
|
|
.Padding(8.0f)
|
2014-09-18 09:02:51 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SOverlay)
|
|
|
|
|
+SOverlay::Slot()
|
2014-09-18 09:02:51 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SBox)
|
|
|
|
|
.WidthOverride(64.0f)
|
|
|
|
|
.HeightOverride(64.0f)
|
|
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
.HAlign(HAlign_Center)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
|
|
|
|
SNew(SImage)
|
2014-10-13 06:46:06 -04:00
|
|
|
.Image(SlateBrush)
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
2014-10-13 06:46:06 -04:00
|
|
|
+SOverlay::Slot()
|
|
|
|
|
.VAlign(VAlign_Bottom)
|
|
|
|
|
.HAlign(HAlign_Right)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SImage)
|
2016-01-07 11:21:22 -05:00
|
|
|
.ToolTipText(LOCTEXT("CompletedTutorialCheckToolTip", "This tutorial has been completed"))
|
2014-10-13 06:46:06 -04:00
|
|
|
.Visibility(this, &FTutorialListEntry_Tutorial::GetCompletedVisibility)
|
|
|
|
|
.Image(FEditorStyle::Get().GetBrush("Tutorials.Browser.Completed"))
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
2014-10-13 06:46:06 -04:00
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.FillWidth(1.0f)
|
|
|
|
|
.HAlign(HAlign_Fill)
|
|
|
|
|
.VAlign(VAlign_Center)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SVerticalBox)
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.AutoHeight()
|
|
|
|
|
[
|
|
|
|
|
SNew(SHorizontalBox)
|
|
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.FillWidth(1.0f)
|
|
|
|
|
[
|
|
|
|
|
SNew(STextBlock)
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt
GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object
Change 3281111 on 2017/02/01 by Michael.Dupuis
#jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window
Change 3281225 on 2017/02/01 by Jamie.Dale
Several improvements to culture switching and LocRes files
- LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files.
- The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found.
- Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base.
- The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture.
- "-culture=leet" now works correctly on the command line ("-leet" also works).
- LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager.
- General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs.
Change 3281291 on 2017/02/01 by Alexis.Matte
Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh
#jira UE-39639
Change 3281718 on 2017/02/01 by Michael.Dupuis
#jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid
Change 3281861 on 2017/02/01 by Alexis.Matte
Fix import of morph target when there is no animation
#jira UE-41383
Change 3282791 on 2017/02/02 by Chris.Wood
Split crash analytics methods to fix comment parsing issues.
[UE-32787] - Document Crash Report Client analytics events in code
Change 3283316 on 2017/02/02 by Alexis.Matte
Make sure we do not import more then the maximum allowed node
#jira UE-41405
Change 3283349 on 2017/02/02 by Jamie.Dale
Updated Portal to stage its .locnat files
Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt
Fix component/actor selection becoming out of sync after undo/redo
#jira UE-41416
Change 3284061 on 2017/02/02 by Alexis.Matte
Fix the scene importer front x axis import
#jira UE-41318
Change 3284280 on 2017/02/02 by Alex.Delesky
#jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log
Change 3285053 on 2017/02/03 by Michael.Dupuis
#jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated
Change 3285444 on 2017/02/03 by Jamie.Dale
Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale
These are typically still Latin, but Middle Eastern languages have some variants.
This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals).
Change 3287422 on 2017/02/06 by Michael.Dupuis
#jira UE-36580: Improved the whole word algo to take into consideration localisation
Change 3287455 on 2017/02/06 by Alexis.Matte
When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it.
#jira UE-41397
Change 3287745 on 2017/02/06 by Alexis.Matte
Merge from orion dev-general cl:3286668
Fix a crash when importing a LOD containing different material with less sections
Change 3287996 on 2017/02/06 by Michael.Dupuis
#jira UE-37290: fixed naming to be "move to level" instead of "move level"
Change 3288090 on 2017/02/06 by Jamie.Dale
Fixing missing include breaking the FText natvis
Change 3288105 on 2017/02/06 by Jamie.Dale
FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros
Change 3288150 on 2017/02/06 by Jamie.Dale
Fixing display names for tutorial categories so that they can be localized
They were already FText, but the config wasn't defining them in a localizable way.
#jira UE-37926
Change 3288469 on 2017/02/06 by Alex.Delesky
#jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets.
This also introduces the Subtitles module.
Change 3288540 on 2017/02/06 by Alex.Delesky
Backing out changelist 3288469 due to build issue with module includes
#jira none
Change 3289074 on 2017/02/06 by Alex.Delesky
Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files
#jira UE-35464
Change 3289753 on 2017/02/07 by Michael.Dupuis
#jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID
Change 3290097 on 2017/02/07 by Nick.Darnell
Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports.
Change 3290182 on 2017/02/07 by Michael.Trepka
Added missing initialization for SWindow::bIsMirrorWindow
Change 3290472 on 2017/02/07 by Michael.Dupuis
#jira UE-37358: Add reference list in the dialog for all delete type
Change 3290513 on 2017/02/07 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3290543 on 2017/02/07 by Michael.Dupuis
#jira UE-35931: Refresh detail panel on selection lost
Change 3290581 on 2017/02/07 by Michael.Dupuis
Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor)
Change 3290721 on 2017/02/07 by Michael.Dupuis
#jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function
Change 3291958 on 2017/02/08 by Alexis.Matte
Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp
Change 3292017 on 2017/02/08 by Alexis.Matte
Add some fbx automation tests to validate material re-import
Change 3292030 on 2017/02/08 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3293062 on 2017/02/08 by Jamie.Dale
Reduced the number of allocations that happen when rebuilding text
This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild.
Changes:
- Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
- Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage.
- Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation.
- Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation.
- Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy).
- Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous.
- General update from using MakeShareable to MakeShared (saving 1 allocation).
- General clean-up of L10N/I18N class friendship.
#jira UE-41533
Change 3293292 on 2017/02/08 by Alex.Delesky
Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds.
Change 3293477 on 2017/02/08 by Jamie.Dale
Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays
#jira UE-41007
Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt
Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data.
Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt
Fix details panel categories in the static mesh editor
Change 3294216 on 2017/02/09 by Michael.Dupuis
#jira UE-40609: manually position the window based on it'S max possible size
#3128 GitHub
Change 3294430 on 2017/02/09 by Jamie.Dale
Kerning-only text shaping no longer draws characters to get their metrics
It now goes via the low-level FT caches like HarfBuzz does.
Change 3294588 on 2017/02/09 by Alexis.Matte
If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup
Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3295093 on 2017/02/09 by Arciel.Rekman
Linux: fix Setup.sh not working in paths with space (UE-41819).
Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt
Fix material UV's no longer working om 9 slice elements
Change 3295816 on 2017/02/09 by Arciel.Rekman
Linux: fix starting programs from a path with space.
Change 3296129 on 2017/02/09 by Arciel.Rekman
Linux i686: changes necessary to compile BlankProgram.
- Added new architecture to UBT.
- Fixed system headers.
- Added third party libs for i686:
- jemalloc
- elftoolchain
- zlib
- SDL2
- libc++
Change 3296564 on 2017/02/10 by Jamie.Dale
Cleaned up PO comment preservation
Change 3296694 on 2017/02/10 by Jamie.Dale
AllocateNameEntry now takes TCharType* rather than void* and cast
Change 3296744 on 2017/02/10 by Jamie.Dale
Moved the PO DOM from UnrealEd to Internationalization
Change 3297250 on 2017/02/10 by Jamie.Dale
Split the PO import/export pipeline out of the commandlet
Change 3297420 on 2017/02/10 by Alexis.Matte
Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor.
#jira UE-38985
Change 3297594 on 2017/02/10 by Alexis.Matte
When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one.
Change 3297752 on 2017/02/10 by Arciel.Rekman
i686 support: more third party libs.
- libcurl
- OpenSSL
- libpng
- libvorbis
- libogg
- libopus
Change 3297754 on 2017/02/10 by Arciel.Rekman
i686 support: PhysX
Change 3297922 on 2017/02/10 by Alexis.Matte
When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename.
Change 3298330 on 2017/02/10 by Arciel.Rekman
i686: missing libcurl.
Change 3298620 on 2017/02/11 by Jamie.Dale
FLocTextHelper improvements
- It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths).
- The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters).
Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist)
Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts)
Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt
Fix material instances being marked dirty when opening
#jira UE-41721, UE-41719
Change 3299441 on 2017/02/13 by Nick.Darnell
PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi)
Change 3299567 on 2017/02/13 by Nick.Darnell
Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed.
#jira UE-41904
Change 3299870 on 2017/02/13 by Jamie.Dale
Added cycle counters for font rendering/shaping
Change 3300116 on 2017/02/13 by Michael.Dupuis
#jira UE-41866: Update cache when performing an undo
Change 3300178 on 2017/02/13 by Alexis.Matte
Fix a crash when re-importing a LOD with more sections then the base LOD
Change 3300191 on 2017/02/13 by Alexis.Matte
Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh.
Change 3300351 on 2017/02/13 by Alexis.Matte
Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI
#jira UE-39639
Change 3302138 on 2017/02/14 by Nick.Darnell
Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them.
Change 3302139 on 2017/02/14 by Nick.Darnell
UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets.
Change 3302281 on 2017/02/14 by Nick.Darnell
Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases.
Change 3302415 on 2017/02/14 by Nick.Darnell
Disabling the open asset editor test.
Change 3302976 on 2017/02/14 by Nick.Darnell
Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO.
Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt
Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove
#jira UE-41958
Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav)
Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi)
Change 3303823 on 2017/02/15 by Nick.Darnell
Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter.
Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build error
Change 3303982 on 2017/02/15 by Nick.Darnell
Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow.
Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build attempt #2 (not reproducible locally)
Change 3304393 on 2017/02/15 by Matt.Barnes
Submitting test content for UEQATC-3548
Change 3304517 on 2017/02/15 by Nick.Darnell
Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both.
Change 3304560 on 2017/02/15 by Nick.Darnell
UMG - SA fix.
Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist)
Change 3305360 on 2017/02/15 by Arciel.Rekman
Linux: fix crash on exit (UE-41907).
- It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit().
Change 3306023 on 2017/02/16 by Nick.Darnell
Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints.
Change 3306030 on 2017/02/16 by Nick.Darnell
Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way).
Change 3306031 on 2017/02/16 by Nick.Darnell
Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint.
Change 3306046 on 2017/02/16 by Nick.Darnell
UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode.
Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt
Fix crash if blurs are rotated
#jira UE-42037
Change 3309114 on 2017/02/17 by Jamie.Dale
Unifying non-shaped text to use the same atlas cache as shaped text
Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt
Outline color on text elements is now inherited properly
#jira UE-40691
Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt
Guard against rendering MIDs with potentially no parent in slate.
#jira UE-42047
Change 3311531 on 2017/02/20 by Michael.Dupuis
#jira UETOOL-1100:
Add the possibility to have dynamic min/max slider value
Synchonize all Color vector together when changing the min/max slider value
Change 3311534 on 2017/02/20 by Michael.Dupuis
incremental build fix
Change 3311535 on 2017/02/20 by Michael.Dupuis
incremental build fix take 2...
Change 3311743 on 2017/02/20 by Michael.Dupuis
buildfix lunix incremental
Change 3312496 on 2017/02/20 by Arciel.Rekman
Linux: fix PhysX crash in i686.
- Changed layout to one that works.
Change 3313127 on 2017/02/20 by Jamie.Dale
Fixed crash when performing a non-async cooked package save
It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed.
Change 3313990 on 2017/02/21 by Nick.Darnell
Automation - Added a summary area at the top of the report.
Change 3314034 on 2017/02/21 by Jamie.Dale
Fixed crash when deleting a streamed font
Change 3314942 on 2017/02/21 by Nick.Darnell
Automation - More templating styling work.
Change 3315080 on 2017/02/21 by Nick.Darnell
Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock.
Change 3315452 on 2017/02/21 by Nick.Darnell
Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet.
Change 3315614 on 2017/02/21 by Nick.Darnell
Json - Adding support for loading sets and map json data.
Change 3315924 on 2017/02/21 by Arciel.Rekman
Vulkan: edigrating various Linux fixes by Josh.
- This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself).
Original descriptions:
CL 3313445
- Various Vulkan fixes:
- Compiles in Linux
- Many cubemap bugs squashed
- Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear()
- Added compute fences
CL 3314152
- Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested.
Change 3316741 on 2017/02/22 by Jamie.Dale
Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names
#jira UE-42253
Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3317058 on 2017/02/22 by Alexis.Matte
Fix the scene importer to support correctly the obj file format
#jira UE-35606
Change 3318039 on 2017/02/22 by Arciel.Rekman
i686 support: added missing libwebsockets.
Change 3318095 on 2017/02/22 by Arciel.Rekman
i686 support: Oodle.
Change 3319002 on 2017/02/23 by Michael.Dupuis
#jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape
Change 3319012 on 2017/02/23 by Alexis.Matte
PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans)
#jira UE-40039
Change 3319035 on 2017/02/23 by Nick.Darnell
UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi.
#jira UE-42170
Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts)
#jira UE-42129
Change 3319072 on 2017/02/23 by Michael.Dupuis
#jira UETOOL-1101: Add support for DetailGroup reset to default
Right now it's only enable for the color grading
Change 3319077 on 2017/02/23 by Nick.Darnell
Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days.
PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component.
Change 3319088 on 2017/02/23 by Nick.Darnell
PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist)
#jira UE-41914
Change 3319104 on 2017/02/23 by Michael.Dupuis
fix incremental build
Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts)
#jira UE-42272
Change 3319252 on 2017/02/23 by Michael.Dupuis
fix warning with missing #undef LOCTEXT_NAMESPACE
Change 3319298 on 2017/02/23 by Alex.Delesky
Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules)
Change 3319388 on 2017/02/23 by Alexis.Matte
Fbx Importer now find collision model under fbx LOD Group
#jira UE-42141
Change 3319528 on 2017/02/23 by Michael.Dupuis
Fixed Undo/Redo to be consistent with other vector modifcation behavior
Change 3319583 on 2017/02/23 by Alexis.Matte
Fix the sample rate to use the least common multiplier of all keys
#jira UE-42012
Change 3319705 on 2017/02/23 by Nick.Darnell
Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'.
Change 3319711 on 2017/02/23 by Nick.Darnell
Editor - Adding some checks to make sure the struct we're accessing is still a valid handle.
#jira UE-42262
Change 3319736 on 2017/02/23 by Alex.Delesky
Adding Subtitles and SubtitlesEditor to the JunkManifest file.
Change 3319919 on 2017/02/23 by Nick.Darnell
Automation - Fixing an issue with moving a location that doesn't exist.
Change 3319932 on 2017/02/23 by Alexis.Matte
Fbx importer, do not apply more then one time the transform option to the scene node.
#jira UE-42277
Change 3320105 on 2017/02/23 by Nick.Darnell
Editor - Adding some additional checks to the margin customization.
#jira UE-42262
Change 3321577 on 2017/02/24 by Jamie.Dale
Moving Internationalization module from Runtime to Developer
Change 3321625 on 2017/02/24 by Jamie.Dale
Moving InternationalizationSettings module from Developer to Editor
Change 3321642 on 2017/02/24 by Jamie.Dale
Moving SCulturePicker from the Localization module to the InternationalizationSettings module
Change 3321734 on 2017/02/24 by Alexis.Matte
PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi)
We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow.
#jira UE-39050
Change 3321912 on 2017/02/24 by Jamie.Dale
Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies
Change 3322274 on 2017/02/24 by Jamie.Dale
Moving Localization module from Editor to Developer, and merging the Internationalization module into it
Removed hard-dependency between Engine and Localization/Internationalization via an interface.
Change 3322774 on 2017/02/25 by Jamie.Dale
Unifying LocRes and LocNat file format between generation and loading
This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly.
#tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before.
Change 3322795 on 2017/02/25 by Jamie.Dale
Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file
The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets.
Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another.
Change 3322853 on 2017/02/25 by Jamie.Dale
Moved the conflict and word count reporting to FLocTextHelper
Change 3323089 on 2017/02/26 by Jamie.Dale
Added functions to get the target name and path from FLocTextHelper
Change 3323391 on 2017/02/27 by Ben.Cosh
This fixes an issue with blueprint config variables having their value destroyed by CDO serialization
#Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization
#Proj Engine, CoreUObject
Change 3323406 on 2017/02/27 by Ben.Cosh
Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation.
#jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph
#Proj BlueprintGraph
Change 3323572 on 2017/02/27 by Nick.Darnell
Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from.
Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground.
Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level.
Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test.
Automation - The screenshot comparison test now prints more information even during successful comparisons.
Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it.
Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future.
Change 3323580 on 2017/02/27 by Michael.Trepka
Fixed some Xcode 8.3 compile errors
Change 3323634 on 2017/02/27 by Nick.Darnell
Build - Fix incremental build.
Change 3323740 on 2017/02/27 by Jamie.Dale
Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing
Change 3323865 on 2017/02/27 by Nick.Darnell
Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped.
Change 3324228 on 2017/02/27 by Jamie.Dale
Can no longer name assets or folders with a leading underscore
#jira UE-40541
Change 3324429 on 2017/02/27 by Jamie.Dale
Removing FLocTextTargetPaths
It was added to support something that I'm now going to do a different way.
Change 3324473 on 2017/02/27 by Jamie.Dale
Moved the GatherText SCC utils into the Localization module
Change 3324481 on 2017/02/27 by Jamie.Dale
Moving the localized asset utils out of GatherText base
Change 3324485 on 2017/02/27 by Jamie.Dale
Cleaning up some includes now that the localization SCC is no longer in GatherText
Change 3324910 on 2017/02/28 by Nick.Darnell
Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect.
Change 3325329 on 2017/02/28 by Michael.Dupuis
#jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them
Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed
Change 3325410 on 2017/02/28 by Michael.Dupuis
missing include for incremental build
Change 3325415 on 2017/02/28 by Nick.Darnell
UMG - Adding some setters and getters for RedrawTime to the WidgetComponent.
Change 3325418 on 2017/02/28 by Nick.Darnell
Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup.
Change 3325698 on 2017/02/28 by Alexis.Matte
Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch
Change 3325790 on 2017/02/28 by Michael.Trepka
Copy of CL 3319588
Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer
Change 3326118 on 2017/02/28 by Alexis.Matte
Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer
#jira UE-41291
Change 3326183 on 2017/02/28 by Alexis.Matte
PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy)
#jira UE-42301
Change 3326196 on 2017/02/28 by Jamie.Dale
Force the correct package localization ID when duplicating a BP for nativization
Change 3327037 on 2017/03/01 by Michael.Dupuis
fixed fortnite mac non editor build
Change 3327483 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327486 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327541 on 2017/03/01 by Michael.Trepka
Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac
Change 3328000 on 2017/03/01 by Nick.Darnell
Automation - Noisy rendering features are now disabled by default when taking screenshots.
Change 3328323 on 2017/03/01 by Michael.Trepka
Copy of CL 3307526
Fixed mouse position issues in fullscreen mode on Mac
Change 3328410 on 2017/03/01 by Alexis.Matte
Remove unwanted option when importing skeletal mesh
Make the FBX tests uptodate with the new ImportUI options
#jira UE-41291
Change 3329586 on 2017/03/02 by Jamie.Dale
Adding missing includes when running with bUseMallocProfiler enabled
Change 3329999 on 2017/03/02 by Nick.Darnell
UMG - Removing a deprecated 4.8 function to get the label on UWidget.
Change 3330004 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the dependencies of UMGEditor module.
Change 3330021 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the private include path of the UMG module.
Change 3330041 on 2017/03/02 by Nick.Darnell
Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is.
Change 3330048 on 2017/03/02 by Nick.Darnell
Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring.
Change 3330602 on 2017/03/02 by mason.seay
Map for Functional Screenshot Test Bug
Change 3330632 on 2017/03/02 by Alexis.Matte
Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index
Change 3330862 on 2017/03/02 by Jamie.Dale
Adding FPaths::SetExtension
This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one.
Change 3331491 on 2017/03/03 by Nick.Darnell
Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran.
Change 3331498 on 2017/03/03 by Nick.Darnell
Build - Fixing a build warning.
Change 3331807 on 2017/03/03 by Nick.Darnell
Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes.
Change 3331999 on 2017/03/03 by Michael.Trepka
Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp
Change 3332481 on 2017/03/03 by Arciel.Rekman
Fix building lighting in commandlet (UE-42551).
- Process task graph while running as commandlet.
- Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out.
Change 3332606 on 2017/03/04 by Jamie.Dale
Fixing crash reporting loc word counts when the report is starting empty
Change 3332614 on 2017/03/04 by Jamie.Dale
Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives
Change 3332619 on 2017/03/04 by Jamie.Dale
Fixing CIS error
Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist)
#jira UE-42284
Change 3333039 on 2017/03/06 by Alexis.Matte
Make custom ui for FbxSceneImportData object
#jira UE-37896
Change 3333047 on 2017/03/06 by Nick.Darnell
UMG - Removing an extra assignment in WidgetSwitcher.
Change 3333056 on 2017/03/06 by Alexis.Matte
Build fix
Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt
Added more logging for when window creation fails due to too many windows.
#jira UE-42478
Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts)
#jira UE-42535
Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki)
#jira UE-42407, UE-42565
Change 3333142 on 2017/03/06 by Jamie.Dale
Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer
Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt
Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click.
#jira UE-42461
PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus)
Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt
Remove double middle mouse click to change to perspective view
#jira UE-42444
Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt
Fixed excessive fname initialization in these files
Change 3334063 on 2017/03/06 by Alexis.Matte
fix build linux
Change 3334166 on 2017/03/06 by Jamie.Dale
Adding Data Table export/import support for TMap and TSet
#jira UE-42415
Change 3334459 on 2017/03/06 by Alexis.Matte
PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto)
#jira UE-42563
Change 3335132 on 2017/03/07 by Jamie.Dale
Fixing typo
Change 3335140 on 2017/03/07 by Jamie.Dale
Fixing CSV import warnings in GameplayEffects test
Change 3335164 on 2017/03/07 by Alexis.Matte
Avoid selecting skeletal mesh section in the level when high light them in persona editor
#jira UE-20151
Change 3335186 on 2017/03/07 by Jamie.Dale
Fixed CSV parser missing empty cells at the end of the string
Change 3335218 on 2017/03/07 by Arciel.Rekman
SDL2: delete unused project/build files.
Change 3335222 on 2017/03/07 by Arciel.Rekman
SDL2: delete more unused project/build files.
Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt
Additional fixes for blur and blur slot not propagating padding to each other
#jira UE-42553
Change 3335896 on 2017/03/07 by Jamie.Dale
ToolTips and Engine were double gathering the same meta-data
#jira UE-36480
Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt
Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties
Change 3336247 on 2017/03/07 by Jamie.Dale
Selection height is now the max of the line height and text height to account for negative line scaling
#jira UE-40673
Change 3336253 on 2017/03/07 by Jamie.Dale
Added a setting to control whether we should use the font metrics or the bounding box when laying out a font
#jira UE-41074
Change 3336303 on 2017/03/07 by Arciel.Rekman
Refactor of OS memory allocation functions.
- Bring PageSize/OSAllocationGranularity in line with the established definitions.
- PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties.
- OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned).
- BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations.
- Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned.
- This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2.
- Make Binned2 work on Linux
- Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost.
- The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS)
- Switch Linux to Binned2 by default.
- Add ability to sanity-check OS memory allocations.
- Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only).
Change 3337098 on 2017/03/08 by Michael.Dupuis
#jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen
Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt
Hide the preview toolbar button, it is not being used
Change 3337801 on 2017/03/08 by Michael.Trepka
Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac
Change 3338373 on 2017/03/08 by Joe.Graf
Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment
Tested directory structures:
D:\SomePluginDir
D:\UE4\AnotherPluginDir
D:\UE4\Engine\Plugins
D:\UE4\MyProject\Plugins
Change 3338482 on 2017/03/08 by Alexis.Matte
Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable
Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt
Fixed arrow keys not working to navigate between elements in the details panel
Change 3339086 on 2017/03/09 by Dmitriy.Dyomin
Added: Mobile friendly slate settings
Change 3339366 on 2017/03/09 by Nick.Darnell
Build - Attempting to fix build.
#jira UE-42675
Change 3339506 on 2017/03/09 by Jamie.Dale
Fixing Linux Server build error
#jira UE-42675
Change 3340450 on 2017/03/09 by Cody.Albert
Ensure that the hittest grid is valid before trying to find a focusable widget
Change 3340492 on 2017/03/09 by Arciel.Rekman
Fix IOS compile error (UE-42695).
Change 3340565 on 2017/03/09 by Arciel.Rekman
Fix another compile error (UE-42695).
Change 3341527 on 2017/03/10 by Alexis.Matte
Fix crash when dragging a re-import scene and there is new asset created
#jira UE-42766
[CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
|
|
|
.Text(GetTitleText())
|
2014-10-13 06:46:06 -04:00
|
|
|
.TextStyle(&FEditorStyle::Get().GetWidgetStyle<FTextBlockStyle>("Tutorials.Browser.SummaryHeader"))
|
|
|
|
|
.HighlightText(HighlightText)
|
|
|
|
|
.HighlightColor(FEditorStyle::Get().GetColor("Tutorials.Browser.HighlightTextColor"))
|
|
|
|
|
.HighlightShape(FEditorStyle::Get().GetBrush("TextBlock.HighlightShape"))
|
|
|
|
|
]
|
|
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.AutoWidth()
|
|
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
[
|
|
|
|
|
SNew(SButton)
|
|
|
|
|
.ToolTipText(LOCTEXT("RestartButtonToolTip", "Start this tutorial from the beginning"))
|
|
|
|
|
.Visibility(this, &FTutorialListEntry_Tutorial::GetRestartVisibility)
|
|
|
|
|
.OnClicked(this, &FTutorialListEntry_Tutorial::OnClicked, true)
|
|
|
|
|
.ButtonStyle(&FEditorStyle::Get().GetWidgetStyle<FButtonStyle>("Tutorials.Browser.Button"))
|
|
|
|
|
.Content()
|
|
|
|
|
[
|
|
|
|
|
SNew(SImage)
|
|
|
|
|
.Image(FEditorStyle::GetBrush("Tutorials.Browser.RestartButton"))
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.AutoHeight()
|
|
|
|
|
[
|
|
|
|
|
SNew(SBox)
|
|
|
|
|
.Visibility(this, &FTutorialListEntry_Tutorial::GetProgressVisibility)
|
|
|
|
|
.HeightOverride(3.0f)
|
|
|
|
|
[
|
|
|
|
|
SNew(SProgressBar)
|
|
|
|
|
.Percent(this, &FTutorialListEntry_Tutorial::GetProgress)
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.FillHeight(1.0f)
|
|
|
|
|
[
|
|
|
|
|
STutorialContent::GenerateContentWidget(Tutorial->SummaryContent, DocumentationPage, HighlightText)
|
|
|
|
|
]
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool PassesFilter(const FString& InCategoryFilter, const FString& InFilter) const override
|
|
|
|
|
{
|
|
|
|
|
const bool bPassesFilter = InFilter.IsEmpty() || (Tutorial->Title.ToString().Contains(InFilter) || Tutorial->SummaryContent.Text.ToString().Contains(InFilter));
|
|
|
|
|
const bool bPassesCategory = InCategoryFilter.IsEmpty() || Tutorial->Category.StartsWith(InCategoryFilter);
|
|
|
|
|
|
|
|
|
|
return bPassesFilter && bPassesCategory;
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-29 05:28:46 -04:00
|
|
|
FText GetTitleText() const override
|
|
|
|
|
{
|
|
|
|
|
return Tutorial->Title;
|
|
|
|
|
}
|
|
|
|
|
|
2015-02-02 10:16:37 -05:00
|
|
|
int32 GetSortOrder() const override
|
|
|
|
|
{
|
|
|
|
|
return Tutorial->SortOrder;
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-18 16:43:17 -04:00
|
|
|
bool SortAgainst(TSharedRef<ITutorialListEntry> OtherEntry) const override
|
|
|
|
|
{
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3341527)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3280282 on 2017/01/31 by Matt.Kuhlenschmidt
GitHub 3171 : fix 'memoreport -full' causes ensure condition fail on particle object
Change 3281111 on 2017/02/01 by Michael.Dupuis
#jira UE-36318 : was'nt notifying that we changed the current level in the case where you add/create new level in the Level window
Change 3281225 on 2017/02/01 by Jamie.Dale
Several improvements to culture switching and LocRes files
- LocRes files now de-duplicate translations when they're generated, which can result in smaller LocRes files.
- The localization compilation step now produces a LocNat file, which contains meta-data specifying the native culture during compile, and where the native LocRes file can be found.
- Changing cultures now loads the native localization data prior to loading the non-native translations to ensure that translations are always applied to a consistent base.
- The "leet" culture (available when localization testing is enabled) is now always applied against the native translation, and correctly restores non-translated text when switching away from the "leet" culture.
- "-culture=leet" now works correctly on the command line ("-leet" also works).
- LoadLocalizationResourcesForCulture is no longer called multiple times during initialization of the text localization manager.
- General clean-up of localization code to favor using LocKeyFuncs with maps and sets, rather than rolling their own key funcs.
Change 3281291 on 2017/02/01 by Alexis.Matte
Make sure the sections material slot assignation is persist correctly for staticmesh and for skeletal mesh
#jira UE-39639
Change 3281718 on 2017/02/01 by Michael.Dupuis
#jira UE-34186: invert processing order of special character, to take into account that key name could be considered a special character and would cause the assumption done to no longer be valid
Change 3281861 on 2017/02/01 by Alexis.Matte
Fix import of morph target when there is no animation
#jira UE-41383
Change 3282791 on 2017/02/02 by Chris.Wood
Split crash analytics methods to fix comment parsing issues.
[UE-32787] - Document Crash Report Client analytics events in code
Change 3283316 on 2017/02/02 by Alexis.Matte
Make sure we do not import more then the maximum allowed node
#jira UE-41405
Change 3283349 on 2017/02/02 by Jamie.Dale
Updated Portal to stage its .locnat files
Change 3283927 on 2017/02/02 by Matt.Kuhlenschmidt
Fix component/actor selection becoming out of sync after undo/redo
#jira UE-41416
Change 3284061 on 2017/02/02 by Alexis.Matte
Fix the scene importer front x axis import
#jira UE-41318
Change 3284280 on 2017/02/02 by Alex.Delesky
#jira UE-41060 - Placing blocking volumes in the level via the Content Menu's "Place Actor" command will now place a blocking volume in the level and not generate an empty warning in the output log
Change 3285053 on 2017/02/03 by Michael.Dupuis
#jira UE-33777: Handle the global landscape editor ui command list so specified shortcut will be treated
Change 3285444 on 2017/02/03 by Jamie.Dale
Updated FastDecimalFormat to support the correct 0-9 numerals for the current locale
These are typically still Latin, but Middle Eastern languages have some variants.
This addresses an inconsistency between FText formatting of numbers and dates (since numbers always used Latin, but dates used the culture correct numerals).
Change 3287422 on 2017/02/06 by Michael.Dupuis
#jira UE-36580: Improved the whole word algo to take into consideration localisation
Change 3287455 on 2017/02/06 by Alexis.Matte
When swaping the mesh point by the mesh component, we noe clean up the override material instead of empty it.
#jira UE-41397
Change 3287745 on 2017/02/06 by Alexis.Matte
Merge from orion dev-general cl:3286668
Fix a crash when importing a LOD containing different material with less sections
Change 3287996 on 2017/02/06 by Michael.Dupuis
#jira UE-37290: fixed naming to be "move to level" instead of "move level"
Change 3288090 on 2017/02/06 by Jamie.Dale
Fixing missing include breaking the FText natvis
Change 3288105 on 2017/02/06 by Jamie.Dale
FTextStringHelper::ReadFromString_ComplexText now only looks at the start of the buffer when matching the complex text macros
Change 3288150 on 2017/02/06 by Jamie.Dale
Fixing display names for tutorial categories so that they can be localized
They were already FText, but the config wasn't defining them in a localizable way.
#jira UE-37926
Change 3288469 on 2017/02/06 by Alex.Delesky
#jira UE-35464 - Enables the editor to parse SubRip Subtitles files to create subtitle assets.
This also introduces the Subtitles module.
Change 3288540 on 2017/02/06 by Alex.Delesky
Backing out changelist 3288469 due to build issue with module includes
#jira none
Change 3289074 on 2017/02/06 by Alex.Delesky
Back out changelist 3288540 - reintroducing Subtitles module to parse SubRip Subtitles files
#jira UE-35464
Change 3289753 on 2017/02/07 by Michael.Dupuis
#jira UE-34599: Take into consideration UMaterialExpressionMaterialFunctionCall when getting the GUID
Change 3290097 on 2017/02/07 by Nick.Darnell
Automation - The automation framework no longer buckets errors, warnings and log statements into a seperate set of buckets. There is now only one log, and all entries go into it to provide some context when things fail. Continued working on the styling of the reports.
Change 3290182 on 2017/02/07 by Michael.Trepka
Added missing initialization for SWindow::bIsMirrorWindow
Change 3290472 on 2017/02/07 by Michael.Dupuis
#jira UE-37358: Add reference list in the dialog for all delete type
Change 3290513 on 2017/02/07 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3290543 on 2017/02/07 by Michael.Dupuis
#jira UE-35931: Refresh detail panel on selection lost
Change 3290581 on 2017/02/07 by Michael.Dupuis
Fixed possible crash if we have no level blueprint specified (was crashing during the delete of an actor)
Change 3290721 on 2017/02/07 by Michael.Dupuis
#jira UE-40360: Pass the custom spawning struct which contain the level override into to the spawn function
Change 3291958 on 2017/02/08 by Alexis.Matte
Back out revision 26 from //UE4/Dev-Editor/Engine/Source/Developer/AssetTools/Private/AssetTools.cpp
Change 3292017 on 2017/02/08 by Alexis.Matte
Add some fbx automation tests to validate material re-import
Change 3292030 on 2017/02/08 by Michael.Dupuis
#jira UE-37958: was testing the trailing number 0 twice and never testing the 1
Change 3293062 on 2017/02/08 by Jamie.Dale
Reduced the number of allocations that happen when rebuilding text
This change removes the wasteful FTextHistory::ToText function and replaces it with two more specialized functions; FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
These new functions return an FString (for the display string), rather than an FText (which was simply mined for its display string). Simply avoiding going via an FText saves at least two allocations per-rebuild.
Changes:
- Removed FTextHistory::ToText and replaced it with FTextHistory::BuildLocalizedDisplayString and FTextHistory::BuildInvariantDisplayString.
- Moved the localization aware chronological and transformation implementations into FTextChronoFormatter and FTextTransformer. These return an FString which avoids an FText allocation during rebuild, and is simply passed into an FText during normal FText usage.
- Moved FText::AsDate, FText::AsDateTime, FText::AsTime, FText::ToUpper, and FText::ToLower into Text.cpp, and these now use FTextChronoFormatter and FTextTransformer from the common text implementation.
- Moved FText::AsTimespan into Text.cpp. This had no dependency on ICU, so this is now the common text implementation.
- Added FTextFormatter::FormatStr variants. FTextFormatter::Format calls these FTextFormatter::FormatStr versions internally, and they're also used during text rebuilding (saving not only an FText allocation, but also a container copy).
- Removed FText::CreateNumericalText and FText::CreateChronologicalText as they were mostly superfluous.
- General update from using MakeShareable to MakeShared (saving 1 allocation).
- General clean-up of L10N/I18N class friendship.
#jira UE-41533
Change 3293292 on 2017/02/08 by Alex.Delesky
Performing some cleanup in the Subtitles module, and creating a SubtitlesEditor module for the subtitles asset factories since it causes issue in client builds.
Change 3293477 on 2017/02/08 by Jamie.Dale
Fixed TProperty::InitializeValueInternal and TProperty::DestroyValueInternal mismatch when dealing with fixed size arrays
#jira UE-41007
Change 3293571 on 2017/02/08 by Matt.Kuhlenschmidt
Fix lots of outline data being added to the font cache due to wrongly hashing outline material and color data.
Change 3293572 on 2017/02/08 by Matt.Kuhlenschmidt
Fix details panel categories in the static mesh editor
Change 3294216 on 2017/02/09 by Michael.Dupuis
#jira UE-40609: manually position the window based on it'S max possible size
#3128 GitHub
Change 3294430 on 2017/02/09 by Jamie.Dale
Kerning-only text shaping no longer draws characters to get their metrics
It now goes via the low-level FT caches like HarfBuzz does.
Change 3294588 on 2017/02/09 by Alexis.Matte
If we remove a LODGroup from baseengine.ini, the fbx importer UI will now be able to recover in case the last fbx import was done with the just removed LODGroup
Change 3294847 on 2017/02/09 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3295093 on 2017/02/09 by Arciel.Rekman
Linux: fix Setup.sh not working in paths with space (UE-41819).
Change 3295205 on 2017/02/09 by Matt.Kuhlenschmidt
Fix material UV's no longer working om 9 slice elements
Change 3295816 on 2017/02/09 by Arciel.Rekman
Linux: fix starting programs from a path with space.
Change 3296129 on 2017/02/09 by Arciel.Rekman
Linux i686: changes necessary to compile BlankProgram.
- Added new architecture to UBT.
- Fixed system headers.
- Added third party libs for i686:
- jemalloc
- elftoolchain
- zlib
- SDL2
- libc++
Change 3296564 on 2017/02/10 by Jamie.Dale
Cleaned up PO comment preservation
Change 3296694 on 2017/02/10 by Jamie.Dale
AllocateNameEntry now takes TCharType* rather than void* and cast
Change 3296744 on 2017/02/10 by Jamie.Dale
Moved the PO DOM from UnrealEd to Internationalization
Change 3297250 on 2017/02/10 by Jamie.Dale
Split the PO import/export pipeline out of the commandlet
Change 3297420 on 2017/02/10 by Alexis.Matte
Add Isolate and highlight feature for the material panel in the staticmesh and the skeletal editor.
#jira UE-38985
Change 3297594 on 2017/02/10 by Alexis.Matte
When importing from fbx a static mesh with find material anywhere, the next LODs import by the user will create new material entries instead of using the existing one.
Change 3297752 on 2017/02/10 by Arciel.Rekman
i686 support: more third party libs.
- libcurl
- OpenSSL
- libpng
- libvorbis
- libogg
- libopus
Change 3297754 on 2017/02/10 by Arciel.Rekman
i686 support: PhysX
Change 3297922 on 2017/02/10 by Alexis.Matte
When importing a new LOD to a staticmesh, the data source file is not anymore wipe or change to the last fbx import filename.
Change 3298330 on 2017/02/10 by Arciel.Rekman
i686: missing libcurl.
Change 3298620 on 2017/02/11 by Jamie.Dale
FLocTextHelper improvements
- It can now support non-standard target layouts (where the native and foreign cultures are in different locations - see FLocTextTargetPaths).
- The XForeignArchive functions are now more strict, and *only* accept foreign cultures (use the XArchive functions instead if you're using both native and foreign cultures as parameters).
Change 3299293 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3241: UE-41870: Add quotes when passing through the directory path (Contributed by projectgheist)
Change 3299299 on 2017/02/13 by Matt.Kuhlenschmidt
PR #3224: Git plugin: fix git autodetection and add error message (Contributed by SRombauts)
Change 3299391 on 2017/02/13 by Matt.Kuhlenschmidt
Fix material instances being marked dirty when opening
#jira UE-41721, UE-41719
Change 3299441 on 2017/02/13 by Nick.Darnell
PR #3243: Fix bug that UWidget::GetOwningPlayer doesn't return (Contributed by yeonseok-yi)
Change 3299567 on 2017/02/13 by Nick.Darnell
Slate - The Checkbox no longer just passes visibility down to the internal widgets it creates, that prevents future changes to effect it if it starts collapsed.
#jira UE-41904
Change 3299870 on 2017/02/13 by Jamie.Dale
Added cycle counters for font rendering/shaping
Change 3300116 on 2017/02/13 by Michael.Dupuis
#jira UE-41866: Update cache when performing an undo
Change 3300178 on 2017/02/13 by Alexis.Matte
Fix a crash when re-importing a LOD with more sections then the base LOD
Change 3300191 on 2017/02/13 by Alexis.Matte
Make sure we do not loose castshadow and recomputetangents section flags when we re-import a skeletal mesh.
Change 3300351 on 2017/02/13 by Alexis.Matte
Remove the clean up of unused material for the staticmesh editor. Unused material can be delete manually in the UI
#jira UE-39639
Change 3302138 on 2017/02/14 by Nick.Darnell
Automation - Adding support for -DeveloperReportOutputPath and -DeveloperReportUrl to permit local runs of the automation tool to generate reports on the report server, and launch the browser window to view them.
Change 3302139 on 2017/02/14 by Nick.Darnell
UMG - Additional fixes to the way we migrate changes from the preview to the serialized version of the widget tree. This fixes several issues with edit-inline objects on UWidgets.
Change 3302281 on 2017/02/14 by Nick.Darnell
Slate - Bringing over changes to the invalidation panel from one of the game streams. This fixes issues with animations in volatile widgets, as well as some issues with cache relative offset, and offers a method for enabling a different caching method to preserve batching through a commandline, but at the cost of not being able to use GPU buffers, possibly a better option on mobile in some cases.
Change 3302415 on 2017/02/14 by Nick.Darnell
Disabling the open asset editor test.
Change 3302976 on 2017/02/14 by Nick.Darnell
Automation - Updating one of the tests to open 70 different known asset types, and ensure that they open without dirtying the package. AutomationTestSettings are now defaultengine, not sure why they setup to be user specific previously. Most of these settings need to be removed, or split off into the modules that own them, rather than being in Engine. TODO.
Change 3303724 on 2017/02/15 by Matt.Kuhlenschmidt
Removed hard coded list of thumbnails, preventing objects with valid thumbnails from showing up. Thumbnails are now shown by default. Use meta=(DisplayThumbnail=false) to remove
#jira UE-41958
Change 3303729 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3253: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) (Contributed by rpav)
Change 3303733 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3248: Fix for TAssetSubClassOf properties reset on undo. (Contributed by StefanoProsperi)
Change 3303823 on 2017/02/15 by Nick.Darnell
Automation - Continued improvements on screenshots. Added some fixes to turn off the tonemapper when visualizing buffers. Fixed several screenshots due to this change. Adding lightboxes to the reports. Adding some styling to make things sweeter.
Change 3303937 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build error
Change 3303982 on 2017/02/15 by Nick.Darnell
Automation - Making the opening of the image no longer threaded, not really helpful for the IO operation and just makes it harder to follow.
Change 3304058 on 2017/02/15 by Matt.Kuhlenschmidt
Fix build attempt #2 (not reproducible locally)
Change 3304393 on 2017/02/15 by Matt.Barnes
Submitting test content for UEQATC-3548
Change 3304517 on 2017/02/15 by Nick.Darnell
Slate - Making some fixes to the automatic disabling of the pixel snapping code with render transforms. Sometimes it gets confused, we may want to move to a seperate transform stack for layout and render, and make sure the element drawer has access to both.
Change 3304560 on 2017/02/15 by Nick.Darnell
UMG - SA fix.
Change 3304890 on 2017/02/15 by Matt.Kuhlenschmidt
PR #3220: UE-41243: Force resolution in standalone if large than primary workin. (Contributed by projectgheist)
Change 3305360 on 2017/02/15 by Arciel.Rekman
Linux: fix crash on exit (UE-41907).
- It is not safe to dereference UAnimGraphNode_PoseDriver::StaticClass during the final shutdown sequence since the instance has already been destroyed in StaticExit().
Change 3306023 on 2017/02/16 by Nick.Darnell
Paper2D - Adding a method to create SlateBrushes from PaperSprites the same way we can for materials and textures in blueprints.
Change 3306030 on 2017/02/16 by Nick.Darnell
Slate - Making some additional fixes to invalidation panels from a game branch. Adding a RoundToVector function to FVector2D, fixing the 3 places we defined a RoundToInt (which wasn't a great name since the convention wasn't meant to be used that way).
Change 3306031 on 2017/02/16 by Nick.Darnell
Slate - Retainer widgets no longer tick using PreTick on SlateApplication, they now paint during their normal paint.
Change 3306046 on 2017/02/16 by Nick.Darnell
UMG - Adding CanEditChange to WidgetComponent to gray out the CylinderArcAngle property unless you select the right geometry mode.
Change 3308887 on 2017/02/17 by Matt.Kuhlenschmidt
Fix crash if blurs are rotated
#jira UE-42037
Change 3309114 on 2017/02/17 by Jamie.Dale
Unifying non-shaped text to use the same atlas cache as shaped text
Change 3310044 on 2017/02/17 by Matt.Kuhlenschmidt
Outline color on text elements is now inherited properly
#jira UE-40691
Change 3310268 on 2017/02/17 by Matt.Kuhlenschmidt
Guard against rendering MIDs with potentially no parent in slate.
#jira UE-42047
Change 3311531 on 2017/02/20 by Michael.Dupuis
#jira UETOOL-1100:
Add the possibility to have dynamic min/max slider value
Synchonize all Color vector together when changing the min/max slider value
Change 3311534 on 2017/02/20 by Michael.Dupuis
incremental build fix
Change 3311535 on 2017/02/20 by Michael.Dupuis
incremental build fix take 2...
Change 3311743 on 2017/02/20 by Michael.Dupuis
buildfix lunix incremental
Change 3312496 on 2017/02/20 by Arciel.Rekman
Linux: fix PhysX crash in i686.
- Changed layout to one that works.
Change 3313127 on 2017/02/20 by Jamie.Dale
Fixed crash when performing a non-async cooked package save
It isn't safe to call TotalSize on the BulkArchive when it's not a FBufferArchive (as used during async save) once the archive has been closed.
Change 3313990 on 2017/02/21 by Nick.Darnell
Automation - Added a summary area at the top of the report.
Change 3314034 on 2017/02/21 by Jamie.Dale
Fixed crash when deleting a streamed font
Change 3314942 on 2017/02/21 by Nick.Darnell
Automation - More templating styling work.
Change 3315080 on 2017/02/21 by Nick.Darnell
Automation - Providing a way for users to remove explict events from the event log when automated tests run. Needed for other systems linked into the automation system like google mock.
Change 3315452 on 2017/02/21 by Nick.Darnell
Json - Adding support for Map and Set properties to the JsonObjectConverter. Can now save out map and sets. No support for loading them yet.
Change 3315614 on 2017/02/21 by Nick.Darnell
Json - Adding support for loading sets and map json data.
Change 3315924 on 2017/02/21 by Arciel.Rekman
Vulkan: edigrating various Linux fixes by Josh.
- This is to make Linux Vulkan work in Dev-Editor easier (for the contractor and myself).
Original descriptions:
CL 3313445
- Various Vulkan fixes:
- Compiles in Linux
- Many cubemap bugs squashed
- Changed the scratch reflection cubemap clear to SetRenderTargestsAndClear, instead of SetRenderTarget() / Clear()
- Added compute fences
CL 3314152
- Fixed compile error on Mac, but I am pretty sure we can just remote VulkanRHI from Mac building entirely, but needs to be tested.
Change 3316741 on 2017/02/22 by Jamie.Dale
Ensure that enums used by BP nodes have been PostLoaded so they have the correct display names
#jira UE-42253
Change 3316800 on 2017/02/22 by Matt.Kuhlenschmidt
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 3317058 on 2017/02/22 by Alexis.Matte
Fix the scene importer to support correctly the obj file format
#jira UE-35606
Change 3318039 on 2017/02/22 by Arciel.Rekman
i686 support: added missing libwebsockets.
Change 3318095 on 2017/02/22 by Arciel.Rekman
i686 support: Oodle.
Change 3319002 on 2017/02/23 by Michael.Dupuis
#jira UE-41794 : Do not exit the landscape mode when doing undo from the creation of the landscape
Change 3319012 on 2017/02/23 by Alexis.Matte
PR #3066: Improve asset import by permitted relative paths and easing editing of mapped mount points. (Contributed by paulevans)
#jira UE-40039
Change 3319035 on 2017/02/23 by Nick.Darnell
UMG - Adding a note about the font sizes in UE4 in Slate, using 96 dpi.
#jira UE-42170
Change 3319040 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3278: Git plugin: fix revision number for blueprint diff menu (Contributed by SRombauts)
#jira UE-42129
Change 3319072 on 2017/02/23 by Michael.Dupuis
#jira UETOOL-1101: Add support for DetailGroup reset to default
Right now it's only enable for the color grading
Change 3319077 on 2017/02/23 by Nick.Darnell
Automation - Moving away from most of the templating being done in C++. Moving to dust.js to just do it in the browser window. The json report file is now the actual source of the information we use to template the resulting report html. Maaay have to move to doing the templating server side in the future to stream it to the client better, but avoiding that so we don't have to ship a server. Disabling several places we were taking editor screenshots, none of that code was actually comparing screenshots, it was a hold-over from earlier days.
PhysX - Fixing a problem with Physx FillInlinePxShapeArray. Deprecating it, adding FillInlinePxShapeArray_AssumesLocked, and locking places we were assuming it was already locked in the landscape component.
Change 3319088 on 2017/02/23 by Nick.Darnell
PR #3245: UE-41707: Re-order includes correctly (Contributed by projectgheist)
#jira UE-41914
Change 3319104 on 2017/02/23 by Michael.Dupuis
fix incremental build
Change 3319146 on 2017/02/23 by Matt.Kuhlenschmidt
PR #3292: Git plugin: fix update status on directories broken since UE4.12 (Contributed by SRombauts)
#jira UE-42272
Change 3319252 on 2017/02/23 by Michael.Dupuis
fix warning with missing #undef LOCTEXT_NAMESPACE
Change 3319298 on 2017/02/23 by Alex.Delesky
Removing the Subtitles and SubtitlesEditor modules (it'll eventually be brought back as the Overlay and OverlayEditor modules)
Change 3319388 on 2017/02/23 by Alexis.Matte
Fbx Importer now find collision model under fbx LOD Group
#jira UE-42141
Change 3319528 on 2017/02/23 by Michael.Dupuis
Fixed Undo/Redo to be consistent with other vector modifcation behavior
Change 3319583 on 2017/02/23 by Alexis.Matte
Fix the sample rate to use the least common multiplier of all keys
#jira UE-42012
Change 3319705 on 2017/02/23 by Nick.Darnell
Static Analysis - Fixing sonobjectconverter.cpp(460) : warning C6011: Dereferencing NULL pointer 'ArrayProperty'.
Change 3319711 on 2017/02/23 by Nick.Darnell
Editor - Adding some checks to make sure the struct we're accessing is still a valid handle.
#jira UE-42262
Change 3319736 on 2017/02/23 by Alex.Delesky
Adding Subtitles and SubtitlesEditor to the JunkManifest file.
Change 3319919 on 2017/02/23 by Nick.Darnell
Automation - Fixing an issue with moving a location that doesn't exist.
Change 3319932 on 2017/02/23 by Alexis.Matte
Fbx importer, do not apply more then one time the transform option to the scene node.
#jira UE-42277
Change 3320105 on 2017/02/23 by Nick.Darnell
Editor - Adding some additional checks to the margin customization.
#jira UE-42262
Change 3321577 on 2017/02/24 by Jamie.Dale
Moving Internationalization module from Runtime to Developer
Change 3321625 on 2017/02/24 by Jamie.Dale
Moving InternationalizationSettings module from Developer to Editor
Change 3321642 on 2017/02/24 by Jamie.Dale
Moving SCulturePicker from the Localization module to the InternationalizationSettings module
Change 3321734 on 2017/02/24 by Alexis.Matte
PR #2979: Fix extra root bone for Blender exported FBX. (Contributed by manmohanbishnoi)
We fix the extra root only when the file creator is from blender and the root node is named armature. We cannot simply remove all dummy node, since this is use by the rigid mesh workflow.
#jira UE-39050
Change 3321912 on 2017/02/24 by Jamie.Dale
Split LocalizationCommandletExecution out of the Localization module to remove some editor dependencies
Change 3322274 on 2017/02/24 by Jamie.Dale
Moving Localization module from Editor to Developer, and merging the Internationalization module into it
Removed hard-dependency between Engine and Localization/Internationalization via an interface.
Change 3322774 on 2017/02/25 by Jamie.Dale
Unifying LocRes and LocNat file format between generation and loading
This lets the code in Core be shared by Localization, and allows some code that was proxying via archives (due to the code being logically identical, but different C++ types) to use these new types directly.
#tests Built Debug, Shipping, and Editor. Verified that LocNat and LocRes generation and loading worked as before.
Change 3322795 on 2017/02/25 by Jamie.Dale
Fixing mismatch between SOURCE_CONTROL_WITH_SLATE and its .Build.cs file
The define was set to disable Slate for Linux program targets only, but the .Build.cs disabled Slate for all Linux targets.
Since the define was touched most recently (CL# 2534983), I updated the .Build.cs file to match its logic, and moved the definition of the define to the .Build.cs file so that they stay in sync with one another.
Change 3322853 on 2017/02/25 by Jamie.Dale
Moved the conflict and word count reporting to FLocTextHelper
Change 3323089 on 2017/02/26 by Jamie.Dale
Added functions to get the target name and path from FLocTextHelper
Change 3323391 on 2017/02/27 by Ben.Cosh
This fixes an issue with blueprint config variables having their value destroyed by CDO serialization
#Jira UE-40586 Blueprint variable defaults set from config files value are overwritten by CDO serialization
#Proj Engine, CoreUObject
Change 3323406 on 2017/02/27 by Ben.Cosh
Fixed a problem that caused UK2Node::ExpandSplitPin to destroy pins it didn't own in when expanding a collapsed graph during compilation.
#jira UE-41211 - Crash when splitting a UDS pin on a collapsed graph
#Proj BlueprintGraph
Change 3323572 on 2017/02/27 by Nick.Darnell
Automation - Continued itteration on the style of the automation reports, now with attentional info, like where the log came from.
Automation - Fixing a bug in the functional actor tests, navigating to the actors sometimes opened other objects in the package, now it only opens the map. Also improved the way we focus the actor so that the level editor is also brought to the foreground.
Automation - Fixing a bug in how the automation system was registering for capturing logging. It was swapping out GWarn for its own version, but GWarn isn't called for anything that isn't an error or warning, meaning that none of the Display/Logging or analytics capture attempts were actually working. Suddenly a flood of informations started being captured during tests. For now - only going to capture 'Display' logs instead of 'Log' level.
Automation - Successful comparisons now print more information so that the automation logs do a better job of tracking the flow of the test.
Automation - The screenshot comparison test now prints more information even during successful comparisons.
Editor - The message log no longer emits a SetSelection, just because the selection is updated the categoriry view model. This was causing things like the automation tool, which sets the selection every time (which may itself be an issue) to completely rebuild the message log every time a new automation message was emited. The message log now checks if the selection would actually change the viewstate before it does it.
Domino Test - Adding an arrow to visualize the state of the up vector the test is looking for; playing with idea for test visualizers that may help with debugging in the future.
Change 3323580 on 2017/02/27 by Michael.Trepka
Fixed some Xcode 8.3 compile errors
Change 3323634 on 2017/02/27 by Nick.Darnell
Build - Fix incremental build.
Change 3323740 on 2017/02/27 by Jamie.Dale
Adding #error if the SOURCE_CONTROL_WITH_SLATE define is missing
Change 3323865 on 2017/02/27 by Nick.Darnell
Automation - Disabling the screenshot from the small editor icons test, until the editor screenshot method starts comparing things, and the screenshots we take are better / more scoped.
Change 3324228 on 2017/02/27 by Jamie.Dale
Can no longer name assets or folders with a leading underscore
#jira UE-40541
Change 3324429 on 2017/02/27 by Jamie.Dale
Removing FLocTextTargetPaths
It was added to support something that I'm now going to do a different way.
Change 3324473 on 2017/02/27 by Jamie.Dale
Moved the GatherText SCC utils into the Localization module
Change 3324481 on 2017/02/27 by Jamie.Dale
Moving the localized asset utils out of GatherText base
Change 3324485 on 2017/02/27 by Jamie.Dale
Cleaning up some includes now that the localization SCC is no longer in GatherText
Change 3324910 on 2017/02/28 by Nick.Darnell
Slate - Moving the SlateRotatedRect into its own file, and removing FSlateRotatedClipRectType, since there's no longer a difference and we only use FSlateRotatedRect.
Change 3325329 on 2017/02/28 by Michael.Dupuis
#jira UE-42083: Removed various Modify(true) that would force user to save the levels even if they did'nt really modified them
Replace TMap<TLazyObjectPtr,...> as it would dirty the level at every Find performed
Change 3325410 on 2017/02/28 by Michael.Dupuis
missing include for incremental build
Change 3325415 on 2017/02/28 by Nick.Darnell
UMG - Adding some setters and getters for RedrawTime to the WidgetComponent.
Change 3325418 on 2017/02/28 by Nick.Darnell
Automation - Fixing the warnings on startup about smoke tests taking longer than 2s. Had to add an option to disable capturing the callstack when running smokes, it adds a bit too much overhead during startup.
Change 3325698 on 2017/02/28 by Alexis.Matte
Put back the code to isolate material versus section in the skeletal mesh. The code was override by a temporary hack done in paragon branch
Change 3325790 on 2017/02/28 by Michael.Trepka
Copy of CL 3319588
Fixed address sanitizer support in MacToolChain (Apple changed the name of the env variable Xcode uses to enable it) and added support for thread sanitizer
Change 3326118 on 2017/02/28 by Alexis.Matte
Add LOD settings LOD distances to fbx import dialog option. The option are not supported yet by the scene importer
#jira UE-41291
Change 3326183 on 2017/02/28 by Alexis.Matte
PR #3298: Import SpecularFactor for Roughness and Shininess for Metallic textures (Contributed by VladimirPobedinskiy)
#jira UE-42301
Change 3326196 on 2017/02/28 by Jamie.Dale
Force the correct package localization ID when duplicating a BP for nativization
Change 3327037 on 2017/03/01 by Michael.Dupuis
fixed fortnite mac non editor build
Change 3327483 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327486 on 2017/03/01 by Jamie.Dale
Renaming LocNat to LocMeta
Change 3327541 on 2017/03/01 by Michael.Trepka
Removed Mac OpenGL RHI files and disabled building of OpenGL RHI on Mac
Change 3328000 on 2017/03/01 by Nick.Darnell
Automation - Noisy rendering features are now disabled by default when taking screenshots.
Change 3328323 on 2017/03/01 by Michael.Trepka
Copy of CL 3307526
Fixed mouse position issues in fullscreen mode on Mac
Change 3328410 on 2017/03/01 by Alexis.Matte
Remove unwanted option when importing skeletal mesh
Make the FBX tests uptodate with the new ImportUI options
#jira UE-41291
Change 3329586 on 2017/03/02 by Jamie.Dale
Adding missing includes when running with bUseMallocProfiler enabled
Change 3329999 on 2017/03/02 by Nick.Darnell
UMG - Removing a deprecated 4.8 function to get the label on UWidget.
Change 3330004 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the dependencies of UMGEditor module.
Change 3330021 on 2017/03/02 by Nick.Darnell
UMG - Adding TargetPlatform to the private include path of the UMG module.
Change 3330041 on 2017/03/02 by Nick.Darnell
Engine - Adding a comment to the PreLoadMap call so people know what the string being passed in is.
Change 3330048 on 2017/03/02 by Nick.Darnell
Editor - Don't allow querying the cursor in the editor viewport while saving packages. Depending upon the code that gets triggered, it may cause packages to load, or things to be initialized while saving is occuring.
Change 3330602 on 2017/03/02 by mason.seay
Map for Functional Screenshot Test Bug
Change 3330632 on 2017/03/02 by Alexis.Matte
Fix fbx crash when there is only one UVChannel but using the naming convention to place it further then the first index
Change 3330862 on 2017/03/02 by Jamie.Dale
Adding FPaths::SetExtension
This is like FPaths::ChangeExtension, but also applies the extension if the file doesn't have one.
Change 3331491 on 2017/03/03 by Nick.Darnell
Automation - Fixing a threading issue in the SAsyncImage, it was accessing potentially bogus memory if the Widget had been deleted before the task ran.
Change 3331498 on 2017/03/03 by Nick.Darnell
Build - Fixing a build warning.
Change 3331807 on 2017/03/03 by Nick.Darnell
Automation - Making the Disable Noisy Rendering Features more robust, disabling a few more markers. Adding a better way of rolling back the changes.
Change 3331999 on 2017/03/03 by Michael.Trepka
Fixed a memory leak on texture creation with BulkData in OpenGLTexture.cpp
Change 3332481 on 2017/03/03 by Arciel.Rekman
Fix building lighting in commandlet (UE-42551).
- Process task graph while running as commandlet.
- Also, if for any reason - like the lack of -messaging - local swarm interface fails to initialize or takes too much time to send the message, bail out.
Change 3332606 on 2017/03/04 by Jamie.Dale
Fixing crash reporting loc word counts when the report is starting empty
Change 3332614 on 2017/03/04 by Jamie.Dale
Fixed text namespaces being treated as case-insensitive when export to JSON manifests and archives
Change 3332619 on 2017/03/04 by Jamie.Dale
Fixing CIS error
Change 3333000 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3295: Non-editable FStringAssetReference using VisibleAnywhere (Contributed by projectgheist)
#jira UE-42284
Change 3333039 on 2017/03/06 by Alexis.Matte
Make custom ui for FbxSceneImportData object
#jira UE-37896
Change 3333047 on 2017/03/06 by Nick.Darnell
UMG - Removing an extra assignment in WidgetSwitcher.
Change 3333056 on 2017/03/06 by Alexis.Matte
Build fix
Change 3333073 on 2017/03/06 by Matt.Kuhlenschmidt
Added more logging for when window creation fails due to too many windows.
#jira UE-42478
Change 3333081 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3327: Git Plugin: fix RunDumpToFile() to check git ReturnCode (Contributed by SRombauts)
#jira UE-42535
Change 3333103 on 2017/03/06 by Matt.Kuhlenschmidt
PR #3336: UE-42407: using GetWindowMode instead of switching on IsFullscreenViewport (Contributed by stefanzimecki)
#jira UE-42407, UE-42565
Change 3333142 on 2017/03/06 by Jamie.Dale
Added a way to view/copy a list references (including those that aren't loaded) to the reference viewer
Change 3333443 on 2017/03/06 by Matt.Kuhlenschmidt
Eliminate the usage of SWebBrowser to show viewport controls in level viewports. There is an non-trivial startup cost initializing CEF and is not worth paying that cost on editor startup for one tiny control. The button now opens a web page on click.
#jira UE-42461
PR #3314: Drop UE4Editor -> CEF dependency to 2x speedup Linux UE4Editor startup (Contributed by slonopotamus)
Change 3333914 on 2017/03/06 by Matt.Kuhlenschmidt
Remove double middle mouse click to change to perspective view
#jira UE-42444
Change 3333936 on 2017/03/06 by Matt.Kuhlenschmidt
Fixed excessive fname initialization in these files
Change 3334063 on 2017/03/06 by Alexis.Matte
fix build linux
Change 3334166 on 2017/03/06 by Jamie.Dale
Adding Data Table export/import support for TMap and TSet
#jira UE-42415
Change 3334459 on 2017/03/06 by Alexis.Matte
PR #3334: Respect bForceFrontXAxis option when exporting to FBX (Contributed by rajkosto)
#jira UE-42563
Change 3335132 on 2017/03/07 by Jamie.Dale
Fixing typo
Change 3335140 on 2017/03/07 by Jamie.Dale
Fixing CSV import warnings in GameplayEffects test
Change 3335164 on 2017/03/07 by Alexis.Matte
Avoid selecting skeletal mesh section in the level when high light them in persona editor
#jira UE-20151
Change 3335186 on 2017/03/07 by Jamie.Dale
Fixed CSV parser missing empty cells at the end of the string
Change 3335218 on 2017/03/07 by Arciel.Rekman
SDL2: delete unused project/build files.
Change 3335222 on 2017/03/07 by Arciel.Rekman
SDL2: delete more unused project/build files.
Change 3335230 on 2017/03/07 by Matt.Kuhlenschmidt
Additional fixes for blur and blur slot not propagating padding to each other
#jira UE-42553
Change 3335896 on 2017/03/07 by Jamie.Dale
ToolTips and Engine were double gathering the same meta-data
#jira UE-36480
Change 3336009 on 2017/03/07 by Matt.Kuhlenschmidt
Fix details panels becoming unusable if "Show only Modified Properties" is enabled and there are no modified properties
Change 3336247 on 2017/03/07 by Jamie.Dale
Selection height is now the max of the line height and text height to account for negative line scaling
#jira UE-40673
Change 3336253 on 2017/03/07 by Jamie.Dale
Added a setting to control whether we should use the font metrics or the bounding box when laying out a font
#jira UE-41074
Change 3336303 on 2017/03/07 by Arciel.Rekman
Refactor of OS memory allocation functions.
- Bring PageSize/OSAllocationGranularity in line with the established definitions.
- PageSize is a hardware mapping granularity that is also used for PageProtect() and any other functions that involve setting virtual memory properties.
- OSAllocationGranularity is a virtual address allocation granularity that on some platforms may be applied on top of that (notably VirtualAlloc in Windows only returns addresses that are 16 page aligned).
- BinnedPageSize and BinnedAllocationGranularity are the values expected by Binned and Binned2 for size and the alignment of OS allocations.
- Disable the logic in CachedOSPageAllocator that allowed buffers larger than the requested size to be returned.
- This caused wrong allocation size to be passed in BinnedFreeToOS() from Binned2.
- Make Binned2 work on Linux
- Addresses returned from BinnedAllocFromOS() need to be BinnedPageSize (minimum 64KB) aligned for Binned2 to work. This results in the need to artificially align mmap()'d addresses, at some performance cost.
- The same function can be used on other systems with mmap()/munmap() (Mac, Android, iOS)
- Switch Linux to Binned2 by default.
- Add ability to sanity-check OS memory allocations.
- Debug and Development build will store a descriptor to check that values passed to BinnedFreeToOS() are the same (mmap-based allocation only).
Change 3337098 on 2017/03/08 by Michael.Dupuis
#jira UE-42589: Added a guard if the mesh component is not attached, this can happen when moving a component out of the screen
Change 3337183 on 2017/03/08 by Matt.Kuhlenschmidt
Hide the preview toolbar button, it is not being used
Change 3337801 on 2017/03/08 by Michael.Trepka
Fixed some module dependencies to make sure we don't build OpenGLDrv on Mac
Change 3338373 on 2017/03/08 by Joe.Graf
Fixed external plugin cooking and deployment by remapping plugin directories upon cook & deployment
Tested directory structures:
D:\SomePluginDir
D:\UE4\AnotherPluginDir
D:\UE4\Engine\Plugins
D:\UE4\MyProject\Plugins
Change 3338482 on 2017/03/08 by Alexis.Matte
Remove "BlueprinReadOnly" flag on "WITH_EDITORONLY_DATA" class variable
Change 3338679 on 2017/03/08 by Matt.Kuhlenschmidt
Fixed arrow keys not working to navigate between elements in the details panel
Change 3339086 on 2017/03/09 by Dmitriy.Dyomin
Added: Mobile friendly slate settings
Change 3339366 on 2017/03/09 by Nick.Darnell
Build - Attempting to fix build.
#jira UE-42675
Change 3339506 on 2017/03/09 by Jamie.Dale
Fixing Linux Server build error
#jira UE-42675
Change 3340450 on 2017/03/09 by Cody.Albert
Ensure that the hittest grid is valid before trying to find a focusable widget
Change 3340492 on 2017/03/09 by Arciel.Rekman
Fix IOS compile error (UE-42695).
Change 3340565 on 2017/03/09 by Arciel.Rekman
Fix another compile error (UE-42695).
Change 3341527 on 2017/03/10 by Alexis.Matte
Fix crash when dragging a re-import scene and there is new asset created
#jira UE-42766
[CL 3341914 by Nick Darnell in Main branch]
2017-03-10 15:37:02 -05:00
|
|
|
return (GetSortOrder() == OtherEntry->GetSortOrder()) ? (GetTitleText().CompareTo(OtherEntry->GetTitleText()) < 0) : (GetSortOrder() < OtherEntry->GetSortOrder());
|
2014-09-18 16:43:17 -04:00
|
|
|
}
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
FReply OnClicked(bool bRestart) const
|
|
|
|
|
{
|
|
|
|
|
OnTutorialSelected.ExecuteIfBound(Tutorial, bRestart);
|
|
|
|
|
|
|
|
|
|
return FReply::Handled();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TOptional<float> GetProgress() const
|
|
|
|
|
{
|
2014-10-13 06:46:06 -04:00
|
|
|
CacheProgress();
|
2014-09-18 09:02:51 -04:00
|
|
|
return Progress;
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EVisibility GetProgressVisibility() const
|
|
|
|
|
{
|
|
|
|
|
if(LaunchButton->IsHovered())
|
|
|
|
|
{
|
2014-10-13 06:46:06 -04:00
|
|
|
CacheProgress();
|
2014-08-05 09:04:35 -04:00
|
|
|
return LaunchButton->IsHovered() && bHaveSeenTutorial ? EVisibility::Visible : EVisibility::Hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return EVisibility::Hidden;
|
|
|
|
|
}
|
|
|
|
|
|
2014-10-13 06:46:06 -04:00
|
|
|
EVisibility GetRestartVisibility() const
|
|
|
|
|
{
|
|
|
|
|
if(LaunchButton->IsHovered())
|
|
|
|
|
{
|
|
|
|
|
CacheProgress();
|
|
|
|
|
return LaunchButton->IsHovered() && bHaveSeenTutorial ? EVisibility::Visible : EVisibility::Collapsed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return EVisibility::Collapsed;
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-23 10:08:21 -04:00
|
|
|
EVisibility GetCompletedVisibility() const override
|
2014-09-18 09:02:51 -04:00
|
|
|
{
|
2014-10-13 06:46:06 -04:00
|
|
|
CacheProgress();
|
2014-09-18 09:02:51 -04:00
|
|
|
return bHaveCompletedTutorial ? EVisibility::Visible : EVisibility::Hidden;
|
|
|
|
|
}
|
|
|
|
|
|
2014-10-13 06:46:06 -04:00
|
|
|
void CacheProgress() const
|
|
|
|
|
{
|
|
|
|
|
if(FPlatformTime::Seconds() - LastUpdateTime > TutorialBrowserConstants::ProgressUpdateInterval)
|
|
|
|
|
{
|
|
|
|
|
bHaveCompletedTutorial = GetDefault<UTutorialStateSettings>()->HaveCompletedTutorial(Tutorial);
|
|
|
|
|
bHaveSeenTutorial = false;
|
|
|
|
|
const int32 CurrentStage = GetDefault<UTutorialStateSettings>()->GetProgress(Tutorial, bHaveSeenTutorial);
|
|
|
|
|
Progress = (Tutorial->Stages.Num() > 0) ? (float)(CurrentStage + 1) / (float)Tutorial->Stages.Num() : 0.0f;
|
|
|
|
|
|
|
|
|
|
LastUpdateTime = FPlatformTime::Seconds();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-13 10:13:07 -04:00
|
|
|
/** FGCObject interface */
|
|
|
|
|
virtual void AddReferencedObjects(FReferenceCollector& Collector)
|
|
|
|
|
{
|
|
|
|
|
Collector.AddReferencedObject(Tutorial);
|
|
|
|
|
}
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
public:
|
|
|
|
|
/** Parent category */
|
|
|
|
|
TWeakPtr<ITutorialListEntry> ParentCategory;
|
|
|
|
|
|
|
|
|
|
/** Tutorial that we will launch */
|
|
|
|
|
UEditorTutorial* Tutorial;
|
|
|
|
|
|
|
|
|
|
/** Selection delegate */
|
|
|
|
|
FOnTutorialSelected OnTutorialSelected;
|
|
|
|
|
|
|
|
|
|
/** Text to highlight */
|
|
|
|
|
TAttribute<FText> HighlightText;
|
|
|
|
|
|
|
|
|
|
/** Button clicked to launch tutorial */
|
|
|
|
|
mutable TSharedPtr<SWidget> LaunchButton;
|
|
|
|
|
|
|
|
|
|
/** Documentation page reference to use if we are displaying a UDN doc */
|
|
|
|
|
mutable TSharedPtr<IDocumentationPage> DocumentationPage;
|
2014-09-10 12:30:30 -04:00
|
|
|
|
|
|
|
|
/** Static brush from the editor style */
|
|
|
|
|
const FSlateBrush* SlateBrush;
|
|
|
|
|
|
|
|
|
|
/** Dynamic brush from the texture specified by the user */
|
|
|
|
|
TSharedPtr<FSlateDynamicImageBrush> DynamicBrush;
|
2014-09-18 09:02:51 -04:00
|
|
|
|
|
|
|
|
/** Cached tutorial completion state */
|
|
|
|
|
mutable bool bHaveCompletedTutorial;
|
|
|
|
|
|
|
|
|
|
/** Cached tutorial seen state */
|
|
|
|
|
mutable bool bHaveSeenTutorial;
|
|
|
|
|
|
|
|
|
|
/** Cached tutorial progress */
|
|
|
|
|
mutable float Progress;
|
2014-10-13 06:46:06 -04:00
|
|
|
|
|
|
|
|
/** Last update time */
|
|
|
|
|
mutable float LastUpdateTime;
|
2014-08-05 09:04:35 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::Construct(const FArguments& InArgs)
|
|
|
|
|
{
|
2014-10-13 06:46:06 -04:00
|
|
|
bNeedsRefresh = false;
|
|
|
|
|
RefreshTimer = TutorialBrowserConstants::RefreshTimerInterval;
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
OnClosed = InArgs._OnClosed;
|
|
|
|
|
OnLaunchTutorial = InArgs._OnLaunchTutorial;
|
|
|
|
|
ParentWindow = InArgs._ParentWindow;
|
|
|
|
|
|
2014-10-13 06:46:06 -04:00
|
|
|
FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>(TEXT("AssetRegistry"));
|
|
|
|
|
AssetRegistryModule.Get().OnAssetAdded().AddSP(this, &STutorialsBrowser::HandleAssetAdded);
|
|
|
|
|
|
2014-12-19 17:44:49 -05:00
|
|
|
RegisterActiveTimer( TutorialBrowserConstants::RefreshTimerInterval, FWidgetActiveTimerDelegate::CreateSP( this, &STutorialsBrowser::TriggerReloadTutorials ) );
|
---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.
While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
- Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.
- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
- Examples include animation, async operations that update periodically, progress updates, loading bars, etc.
- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.
- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
- There are THREE ways to unregister an active tick:
1. Return EActiveTickReturnType::StopTicking from the active tick function
2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
3. Destroy the widget responsible for the active tick
- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
- The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)
- The FCurveSequence API has been updated to work with the active tick system
- Playing a curve sequence now requires that you pass the widget being animated by the sequence
- The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
- GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.
[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
ChildSlot
|
|
|
|
|
[
|
|
|
|
|
SNew(SVerticalBox)
|
|
|
|
|
+SVerticalBox::Slot()
|
2014-10-13 06:46:06 -04:00
|
|
|
.AutoHeight()
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
|
|
|
|
SNew(SBorder)
|
2014-10-13 06:46:06 -04:00
|
|
|
.BorderImage(FEditorStyle::Get().GetBrush("ToolPanel.GroupBorder"))
|
|
|
|
|
.Padding(5.0f)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SHorizontalBox)
|
|
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.AutoWidth()
|
|
|
|
|
.VAlign(VAlign_Center)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SButton)
|
|
|
|
|
.OnClicked(this, &STutorialsBrowser::OnBackButtonClicked)
|
|
|
|
|
.IsEnabled(this, &STutorialsBrowser::IsBackButtonEnabled)
|
|
|
|
|
.ButtonStyle(&FEditorStyle::Get().GetWidgetStyle<FButtonStyle>("Tutorials.Browser.BackButton"))
|
|
|
|
|
.ForegroundColor(FSlateColor::UseForeground())
|
|
|
|
|
.Content()
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SImage)
|
|
|
|
|
.Image(FEditorStyle::GetBrush("Tutorials.Browser.BackButton.Image"))
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
2014-10-13 06:46:06 -04:00
|
|
|
+SHorizontalBox::Slot()
|
|
|
|
|
.FillWidth(1.0f)
|
|
|
|
|
.VAlign(VAlign_Center)
|
|
|
|
|
.Padding(2.0f, 0.0f, 0.0f, 0.0f)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SNew(SVerticalBox)
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.AutoHeight()
|
|
|
|
|
.Padding(0.0f, 1.0f)
|
2014-08-05 09:04:35 -04:00
|
|
|
[
|
2014-10-13 06:46:06 -04:00
|
|
|
SAssignNew(BreadcrumbTrail, SBreadcrumbTrail<TSharedPtr<ITutorialListEntry>>)
|
|
|
|
|
.ButtonContentPadding(FMargin(1.0f, 1.0f))
|
|
|
|
|
.DelimiterImage(FEditorStyle::GetBrush("Tutorials.Browser.Breadcrumb"))
|
|
|
|
|
.TextStyle(FEditorStyle::Get(), "Tutorials.Browser.PathText")
|
|
|
|
|
.ShowLeadingDelimiter( true )
|
|
|
|
|
.InvertTextColorOnHover( false )
|
|
|
|
|
.OnCrumbClicked(this, &STutorialsBrowser::OnBreadcrumbClicked)
|
|
|
|
|
]
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.AutoHeight()
|
|
|
|
|
.Padding(0.0f, 1.0f)
|
|
|
|
|
[
|
|
|
|
|
SNew(SSearchBox)
|
|
|
|
|
.OnTextChanged(this, &STutorialsBrowser::OnSearchTextChanged)
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
2014-10-13 06:46:06 -04:00
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.FillHeight(1.0f)
|
|
|
|
|
.Padding(0.0f, 3.0f, 0.0f, 0.0f)
|
|
|
|
|
[
|
|
|
|
|
SNew(SVerticalBox)
|
|
|
|
|
+SVerticalBox::Slot()
|
|
|
|
|
.FillHeight(1.0f)
|
|
|
|
|
[
|
2015-06-01 11:46:50 -04:00
|
|
|
SAssignNew(TutorialList, SListView<TSharedPtr<ITutorialListEntry>>)
|
|
|
|
|
.ItemHeight(128.0f)
|
|
|
|
|
.ListItemsSource(&FilteredEntries)
|
|
|
|
|
.OnGenerateRow(this, &STutorialsBrowser::OnGenerateTutorialRow)
|
|
|
|
|
.SelectionMode(ESelectionMode::None)
|
2014-08-05 09:04:35 -04:00
|
|
|
]
|
|
|
|
|
]
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
ReloadTutorials();
|
2014-09-29 05:28:46 -04:00
|
|
|
|
|
|
|
|
RebuildCrumbs();
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3049602)
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2946506 on 2016/04/18 by Steven.Hutton
Update to Crash Reporter buggs table to add new search fields and inclusion of packages needed for e-mail reports.
Change 3017807 on 2016/06/17 by Chris.Wood
Improved Crash Report Process folder delete code as it could sometimes fail.
[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue
Also added logging to Slack when stop request received instead of just when stop is complete.
Change 3019367 on 2016/06/20 by Chris.Wood
Improve Crash Report Process logging to track bad reads from S3.
Also, better logging when CleanReport fails to delete folders.
Change 3019376 on 2016/06/20 by Steve.Robb
Clarification of assert message and comments which talk about 'null' TFunctions.
Tidy-up of dead code.
Change 3019409 on 2016/06/20 by Steve.Robb
New Find and FindByPredicate algorithms for finding stuff in arbitrary containers.
Change 3022658 on 2016/06/22 by Chris.Wood
Discarding duplicated crash reports earlier in read from Data Router process to avoid clashes in the landing zone (CRP v1.1.11)
[UE-30349] - Crash Report Process is leaving crashes in the landing zone that build up and block the queue
Also improved logging to Slack with better layout, fixed event ordering and counting duplicates.
Change 3022840 on 2016/06/22 by Steve.Robb
Skipped UHT attributes removed.
Change 3022907 on 2016/06/22 by Robert.Manuszewski
Fixing crash when adding a new C++ class to project
#jira UE-32333
Change 3023169 on 2016/06/22 by Steve.Robb
Checks for UTHINGs in skipped preprocessor blocks.
Fixes for skipped UTHINGs and some other parsing accidents.
#jira UE-31627
Change 3023239 on 2016/06/22 by Steve.Robb
Fix for JSON date parsing reported here: https://udn.unrealengine.com/questions/299342/fdatetime-json-serialization-bug.html
Change 3026812 on 2016/06/24 by Mieszko.Zielinski
Marked FEnvQueryInstance::AddItemData UEnvQueryItemType_Point specialization as AIMODULE_API #UE4
Change 3028235 on 2016/06/27 by Robert.Manuszewski
PR #2535: BUGFIX: FPS pop-up updates when loading new stat file (Contributed by projectgheist)
Change 3028282 on 2016/06/27 by Steve.Robb
Fix for missing UFUNCTION check in skipped preprocessor blocks.
#jira UE-31627
Change 3028284 on 2016/06/27 by Steve.Robb
Debuggability improvements and coding standards changes.
Change 3028343 on 2016/06/27 by Steve.Robb
Fix for UHT error in WEX.
#jira UE-32464
Change 3028393 on 2016/06/27 by Steve.Robb
Fix for hot reload of enums finding the old enum.
Fix to stop SPropertyEditorNumeric caching the enum flags.
#jira UE-31658
Change 3030362 on 2016/06/28 by Robert.Manuszewski
Fixing hang when cooking.
Change 3030462 on 2016/06/28 by Steve.Robb
Assert added to PackageTools::GetFilteredPackageList() to help with catching a bug reported in the wild.
#jira UE-32001
Change 3034341 on 2016/06/30 by Robert.Manuszewski
Modified crash handling code (on Windows) to handle two threads crashing at the same time properly. Previously the second crash would force the process to exit before generating the crash report.
Added 'debug twothreadsgpf' command to test the functionality.
Change 3034342 on 2016/06/30 by John.Mahoney
Fix for crash when loading an empty cached asset registry.
#jira UE-32232
Change 3035599 on 2016/07/01 by Chris.Wood
Added support for CrashType string to Crash Report Process. CRP v1.1.12
[UE-30592] - Crash Reporter should determine crash type on client and pass string to server
Also fixes problem with reports falling back on the legacy WER metadata when a crash context exists. They now only read the error message from metadata if available and keep crash context data when possible.
Added in missing crash context parameters that have been added to clients but not known by the server.
Change 3035787 on 2016/07/01 by John.Mahoney
Fix for crash when DuplicateRedirects does not contain the DependentObject when saving dependencies. It will still fall through to the assertion below, but it will now fail with a useful error message instead of a generic 'Pair != nullptr' from Map.h.
#jira UE-30189
Change 3036933 on 2016/07/04 by Steve.Robb
Proper forwarding constructor for FAsyncTask.
Change 3036938 on 2016/07/04 by Steve.Robb
Fix for CDO hot reload corrupting memory when replacing references inside structs.
#jira UE-29335
Change 3036960 on 2016/07/04 by Steve.Robb
Fix for FAnsiAllocator::ResizeAllocation when resizing to zero.
Change 3037423 on 2016/07/05 by Steve.Robb
FModuleManager::UnloadOrAbandonModuleWithCallback split into two instead of switching behavior with a bool.
Change 3037464 on 2016/07/05 by Steve.Robb
HotReload.cpp cleanup:
Deep nesting flattened.
Linear array searches replaced with maps.
FHotReloadModule::GetGameModules made into a non-member function and split into two.
Comment and coding standard fixes.
Change 3037741 on 2016/07/05 by John.Mahoney
Fix for COTF not checking the correct timestamps on startup.
#jira UE-31023
Change 3037846 on 2016/07/05 by Steve.Robb
Fix for compile button disappearing on a bad compile.
#jira UE-31575
Change 3037994 on 2016/07/05 by Steve.Robb
Static analysis fixes:
warning C6308: 'realloc' might return null pointer: assigning null pointer to 'Data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
Change 3039186 on 2016/07/06 by Robert.Manuszewski
Enabling crash callstack logging by default.
Change 3039220 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C28159: Consider using 'InitiateSystemShutdownEx' instead of 'ExitWindowsEx'. Reason: Legacy API. Rearchitect to avoid Reboot
warning C6001: Using uninitialized memory 'UserNameLength'
warning C6001: Using uninitialized memory 'DomainNameLength'
Change 3039230 on 2016/07/06 by Steve.Robb
Fix for VC internal compiler errors.
Change 3039237 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'Path': the readable size is '400' bytes, but 'PathCurrentDepth' bytes may be read.
Change 3039287 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6509: Invalid annotation: 'return' cannot be referenced in some contexts
warning C6101: Returning uninitialized memory '*lpdwExitCode'. A successful path through the function does not set the named _Out_ parameter.
warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToStorage'.
warning C6387: '_Param_(1)' could be '0': this does not adhere to the specification for the function 'IMoniker::BindToObject'.
warning C6031: Return value ignored: 'CoCreateInstance'.
Change 3039359 on 2016/07/06 by Graeme.Thornton
Compile error fix for FAsyncTask, courtesy of SteveR
Change 3039534 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6319: Use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects.
Change 3039545 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value.
Change 3039578 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6263: Using _alloca in a loop: this can quickly overflow stack.
Change 3039623 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'
warning C6308:'realloc' might return null pointer: assigning null pointer to 'X', which is passed as an argument to 'realloc', will cause the original memory block to be leaked.
warning C6385: Reading invalid data from 'X': the readable size is 'Y' bytes, but 'Z' bytes may be read.
warning C6386: Buffer overrun while writing to 'X': the writable size is 'Y' bytes, but 'Z' bytes might be written.
warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.
Change 3039630 on 2016/07/06 by John.Mahoney
Fix for crash when spawning an actor using a template object that has instance components. UActorComponent::PostInitProperties was adding itself to the owner's InstanceComponents array, resulting in a realloc of that array and invalidating the reference that the owner's ObjectInitializer was trying to replace while instantiating that property. The new instance component will be added to the array as part of the owner's initialization anyway, so it is not necessary to do it here.
#jira UE-29123
Change 3039664 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6386: Buffer overrun while writing to 'NewKeys': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
warning C6386: Buffer overrun while writing to 'NewHeapIndexes': the writable size is 'NewIndexSize*4' bytes, but '8' bytes might be written.
Change 3039673 on 2016/07/06 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'v'.
Change 3039690 on 2016/07/06 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'X'.
warning C6246: Local declaration of 'X' hides declaration of the same name in outer scope.
warning C6262: Function uses '121180' bytes of stack: exceeds /analyze:stacksize '81940'. Consider moving some data to heap.
warning C6263: Using _alloca in a loop: this can quickly overflow stack.
Change 3040868 on 2016/07/07 by Graeme.Thornton
Config based class stripping for server builds
Change 3040872 on 2016/07/07 by Graeme.Thornton
Remove "return false" NeedsLoadForServer functions from engine code
Change 3040997 on 2016/07/07 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'Landscape'.
warning C6011: Dereferencing NULL pointer 'rhs.Allocation.LayerInfo'.
warning C6011: Dereferencing NULL pointer 'lhs.Allocation.LayerInfo'.
Change 3041004 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.
Change 3041014 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6287: Redundant code: the left and right sub-expressions are identical.
Change 3041111 on 2016/07/07 by Steve.Robb
Removal of an obsolete error message about INI file case sensitivity.
Change 3041150 on 2016/07/07 by Steve.Robb
Static analysis fix: warning C6289: Incorrect operator: mutual exclusion over || is always a non-zero constant. Did you intend to use && instead?
Change 3041274 on 2016/07/07 by Steve.Robb
Static analysis fixes: warning C6001: Using uninitialized memory 'X'.
Change 3041294 on 2016/07/07 by Chris.Wood
Fixed protocol buffer and decompression errors in Crash Report Process (v.1.1.14)
[UE-32151] - High number of crashes read from S3 by Crash Report Process are failing to unpack
Size of buffer received from S3 is incorrect for some records. Fixed read problems by using size header value instead of stream length.
Increased buffer size for decompression as this was sometimes too small.
Modified S3 reading code to look for multiple records in each downloaded file.
Change 3041472 on 2016/07/07 by Steve.Robb
Static analysis fixes:
warning C6294: Ill-defined for-loop: initial condition does not satisfy test. Loop body not executed.
warning C6201: Index '1' is out of valid index range '0' to '0' for possibly stack allocated buffer 'NewHistory.Nodes'.
Change 3043074 on 2016/07/08 by John.Mahoney
Fix for COTF incorrectly reconstructing the original asset path based on the sandbox path when the game name differs from the game folder name.
Fix for COTF GetFiles not handling absolute GameDir paths properly.
#jira UE-31023
Change 3044461 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6386: Buffer overrun while writing to 'Attributes': the writable size is '16384' bytes, but '-8' bytes might be written.
Change 3044470 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Node.Sequence'.
Change 3044476 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6011: Dereferencing NULL pointer 'Property'.
Change 3044551 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'KeyAreaNode' did.
Change 3044664 on 2016/07/11 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'ToLandscape->SplineComponent'.
warning C28182: Dereferencing NULL pointer. 'SplinesComponent' contains the same NULL value as 'Landscape->SplineComponent' did.
warning C6011: Dereferencing NULL pointer 'Landscape->SplineComponent'.
warning C6385: Reading invalid data from 'out': the readable size is 'sizeof(kiss_fft_cpx)*Dims[0]*Dims[1]' bytes, but '16' bytes may be read.
Change 3044716 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C6385: Reading invalid data from 'this->ScreenSize': the readable size is '32' bytes, but '-4' bytes may be read.
Change 3044717 on 2016/07/11 by Steve.Robb
Static analysis fix: warning C28182: Dereferencing NULL pointer. 'Window' contains the same NULL value as 'ElementType * Window=AllWindows.FindByPredicate((*FStaticMeshEditorTest::RunTest::<lambda_46fd0093f3912289e870263afe1fcb2e>(ExpectedTitle)))' did.
This appears to be a false positive.
Change 3044787 on 2016/07/11 by Steve.Robb
Static analysis fixes:
warning C6011: Dereferencing NULL pointer 'FbxObject'.
warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'RigidMeshNode' did.
warning C28182: Dereferencing NULL pointer. 'Node' contains the same NULL value as 'Result' did.
Change 3045933 on 2016/07/12 by Steve.Robb
Overloading support for TSharedPtr, TSharedRef and TWeakPtr.
Change 3045960 on 2016/07/12 by Robert.Manuszewski
Fixing a crash in Portal (and any other program that uses UObjects and GCs, with the exception of UHT) caused by classes not having their token stream assembled.
Change 3045963 on 2016/07/12 by Steve.Robb
PLATFORM_COMPILER_HAS_EXPLICIT_OPERATORS, FORCEINLINE_EXPLICIT_OPERATOR_BOOL and SAFE_BOOL_OPERATORS macros removed.
THasOperatorEquals and THasOperatorNotEquals traits moved to their own header.
Change 3045967 on 2016/07/12 by Steve.Robb
Initializer list support for TArray and TSet.
Change 3045968 on 2016/07/12 by Robert.Manuszewski
Fixing an ensure after typing 'stat dumphitches' in console.
Change 3045992 on 2016/07/12 by Robert.Manuszewski
Making sure CoreUObject headers are included for programs that don't include the engine (fixing MinidumpDiagnostics CIS failure)
Change 3047870 on 2016/07/13 by Steven.Hutton
Updated CRW to entity framework with repository models. #rb none
Change 3047871 on 2016/07/13 by Steven.Hutton
Add repository models #rb none
Change 3049468 on 2016/07/14 by Steven.Hutton
Fix broken project files. #rb none
#lockdown Nick.Penwarden
[CL 3050320 by Robert Manuszewski in Main branch]
2016-07-14 14:54:00 -04:00
|
|
|
inline void FTutorialListEntry_Category::AddTutorial(TSharedPtr<FTutorialListEntry_Tutorial> InTutorial)
|
|
|
|
|
{
|
|
|
|
|
Tutorials.Add(InTutorial);
|
|
|
|
|
}
|
|
|
|
|
|
2014-12-19 17:44:49 -05:00
|
|
|
EActiveTimerReturnType STutorialsBrowser::TriggerReloadTutorials( double InCurrentTime, float InDeltaTime )
|
2014-10-13 06:46:06 -04:00
|
|
|
{
|
---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.
While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
- Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.
- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
- Examples include animation, async operations that update periodically, progress updates, loading bars, etc.
- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.
- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
- There are THREE ways to unregister an active tick:
1. Return EActiveTickReturnType::StopTicking from the active tick function
2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
3. Destroy the widget responsible for the active tick
- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
- The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)
- The FCurveSequence API has been updated to work with the active tick system
- Playing a curve sequence now requires that you pass the widget being animated by the sequence
- The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
- GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.
[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
|
|
|
if (bNeedsRefresh)
|
2014-10-13 06:46:06 -04:00
|
|
|
{
|
|
|
|
|
bNeedsRefresh = false;
|
---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.
While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
- Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.
- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
- Examples include animation, async operations that update periodically, progress updates, loading bars, etc.
- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.
- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
- There are THREE ways to unregister an active tick:
1. Return EActiveTickReturnType::StopTicking from the active tick function
2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
3. Destroy the widget responsible for the active tick
- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
- The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)
- The FCurveSequence API has been updated to work with the active tick system
- Playing a curve sequence now requires that you pass the widget being animated by the sequence
- The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
- GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.
[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
|
|
|
ReloadTutorials();
|
2014-10-13 06:46:06 -04:00
|
|
|
}
|
---- Merging with SlateDev branch ----
Introduces the concept of "Active Ticking" to allow Slate to go to sleep when there is no need to update the UI.
While asleep, Slate will skip the Tick & Paint pass for that frame entirely.
- There are TWO ways to "wake" Slate and cause a Tick/Paint pass:
1. Provide some sort of input (mouse movement, clicks, and key presses). Slate will always tick when the user is active.
- Therefore, if the logic in a given widget's Tick is only relevant in response to user action, there is no need to register an active tick.
2. Register an Active Tick. Currently this is an all-or-nothing situation, so if a single active tick needs to execute, all of Slate will be ticked.
- The purpose of an Active Tick is to allow a widget to "drive" Slate and guarantee a Tick/Paint pass in the absence of any user action.
- Examples include animation, async operations that update periodically, progress updates, loading bars, etc.
- An empty active tick is registered for viewports when they are real-time, so game project widgets are unaffected by this change and should continue to work as before.
- An Active Tick is registered by creating an FWidgetActiveTickDelegate and passing it to SWidget::RegisterActiveTick()
- There are THREE ways to unregister an active tick:
1. Return EActiveTickReturnType::StopTicking from the active tick function
2. Pass the FActiveTickHandle returned by RegisterActiveTick() to SWidget::UnregisterActiveTick()
3. Destroy the widget responsible for the active tick
- Sleeping is currently disabled, can be enabled with Slate.AllowSlateToSleep cvar
- There is currently a little buffer time during which Slate continues to tick following any input. Long-term, this is planned to be removed.
- The duration of the buffer can be adjusted using Slate.SleepBufferPostInput cvar (defaults to 1.0f)
- The FCurveSequence API has been updated to work with the active tick system
- Playing a curve sequence now requires that you pass the widget being animated by the sequence
- The active tick will automatically be registered on behalf of the widget and unregister when the sequence is complete
- GetLerpLooping() has been removed. Instead, pass true as the second param to Play() to indicate that the animation will loop. This causes the active tick to be registered indefinitely until paused or jumped to the start/end.
[CL 2391669 by Dan Hertzka in Main branch]
2014-12-17 16:07:57 -05:00
|
|
|
|
2014-12-19 17:44:49 -05:00
|
|
|
return EActiveTimerReturnType::Continue;
|
2014-10-13 06:46:06 -04:00
|
|
|
}
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
void STutorialsBrowser::SetFilter(const FString& InFilter)
|
|
|
|
|
{
|
|
|
|
|
CategoryFilter = InFilter;
|
|
|
|
|
ReloadTutorials();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TSharedRef<ITableRow> STutorialsBrowser::OnGenerateTutorialRow(TSharedPtr<ITutorialListEntry> InItem, const TSharedRef<STableViewBase>& OwnerTable) const
|
|
|
|
|
{
|
|
|
|
|
return InItem->OnGenerateTutorialRow(OwnerTable);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> STutorialsBrowser::RebuildCategories()
|
|
|
|
|
{
|
|
|
|
|
TArray<TSharedPtr<FTutorialListEntry_Category>> Categories;
|
|
|
|
|
|
|
|
|
|
// add root category
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> RootCategory = MakeShareable(new FTutorialListEntry_Category(FOnCategorySelected::CreateSP(this, &STutorialsBrowser::OnCategorySelected)));
|
|
|
|
|
Categories.Add(RootCategory);
|
|
|
|
|
|
|
|
|
|
// rebuild categories
|
|
|
|
|
for(const auto& TutorialCategory : GetDefault<UTutorialSettings>()->Categories)
|
|
|
|
|
{
|
|
|
|
|
Categories.Add(MakeShareable(new FTutorialListEntry_Category(TutorialCategory, FOnCategorySelected::CreateSP(this, &STutorialsBrowser::OnCategorySelected), TAttribute<FText>::Create(TAttribute<FText>::FGetter::CreateSP(this, &STutorialsBrowser::GetSearchText)))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(const auto& TutorialCategory : GetDefault<UEditorTutorialSettings>()->Categories)
|
|
|
|
|
{
|
|
|
|
|
Categories.Add(MakeShareable(new FTutorialListEntry_Category(TutorialCategory, FOnCategorySelected::CreateSP(this, &STutorialsBrowser::OnCategorySelected), TAttribute<FText>::Create(TAttribute<FText>::FGetter::CreateSP(this, &STutorialsBrowser::GetSearchText)))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(auto& Category : Categories)
|
|
|
|
|
{
|
|
|
|
|
// Figure out which base category this category belongs in
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> ParentCategory = RootCategory;
|
|
|
|
|
const FString& CategoryPath = Category->Category.Identifier;
|
|
|
|
|
|
|
|
|
|
// We're expecting the category string to be in the "A.B.C" format. We'll split up the string here and form
|
|
|
|
|
// a proper hierarchy in the UI
|
|
|
|
|
TArray< FString > SplitCategories;
|
2015-03-02 15:51:37 -05:00
|
|
|
CategoryPath.ParseIntoArray( SplitCategories, TEXT( "." ), true /* bCullEmpty */ );
|
2014-08-05 09:04:35 -04:00
|
|
|
|
|
|
|
|
FString CurrentCategoryPath;
|
|
|
|
|
|
|
|
|
|
// Make sure all of the categories exist
|
|
|
|
|
for(const auto& SplitCategory : SplitCategories)
|
|
|
|
|
{
|
|
|
|
|
// Locate this category at the level we're at in the hierarchy
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> FoundCategory = NULL;
|
|
|
|
|
TArray< TSharedPtr<ITutorialListEntry> >& TestCategoryList = ParentCategory.IsValid() ? ParentCategory->SubCategories : RootCategory->SubCategories;
|
|
|
|
|
for(auto& TestCategory : TestCategoryList)
|
|
|
|
|
{
|
|
|
|
|
if( StaticCastSharedPtr<FTutorialListEntry_Category>(TestCategory)->CategoryName == SplitCategory )
|
|
|
|
|
{
|
|
|
|
|
// Found it!
|
|
|
|
|
FoundCategory = StaticCastSharedPtr<FTutorialListEntry_Category>(TestCategory);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!CurrentCategoryPath.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
CurrentCategoryPath += TEXT(".");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CurrentCategoryPath += SplitCategory;
|
|
|
|
|
|
|
|
|
|
if( !FoundCategory.IsValid() )
|
|
|
|
|
{
|
|
|
|
|
// OK, this is a new category name for us, so add it now!
|
|
|
|
|
if(CategoryPath == CurrentCategoryPath)
|
|
|
|
|
{
|
|
|
|
|
FoundCategory = Category;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
FTutorialCategory InterveningCategory;
|
|
|
|
|
InterveningCategory.Identifier = CurrentCategoryPath;
|
|
|
|
|
FoundCategory = MakeShareable(new FTutorialListEntry_Category(InterveningCategory, FOnCategorySelected::CreateSP(this, &STutorialsBrowser::OnCategorySelected), TAttribute<FText>::Create(TAttribute<FText>::FGetter::CreateSP(this, &STutorialsBrowser::GetSearchText))));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FoundCategory->ParentCategory = ParentCategory;
|
|
|
|
|
TestCategoryList.Add( FoundCategory );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Descend the hierarchy for the next category
|
|
|
|
|
ParentCategory = FoundCategory;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return RootCategory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::RebuildTutorials(TSharedPtr<FTutorialListEntry_Category> InRootCategory)
|
|
|
|
|
{
|
|
|
|
|
TArray<TSharedPtr<FTutorialListEntry_Tutorial>> Tutorials;
|
|
|
|
|
|
2015-01-24 15:00:16 -05:00
|
|
|
//Ensure that tutorials are loaded into the asset registry before making a list of them.
|
2014-08-20 10:27:41 -04:00
|
|
|
FAssetRegistryModule& AssetRegistry = FModuleManager::LoadModuleChecked<FAssetRegistryModule>(TEXT("AssetRegistry"));
|
2014-08-05 09:04:35 -04:00
|
|
|
|
2015-01-24 15:00:16 -05:00
|
|
|
// rebuild tutorials
|
2014-08-20 10:27:41 -04:00
|
|
|
FARFilter Filter;
|
|
|
|
|
Filter.ClassNames.Add(UBlueprint::StaticClass()->GetFName());
|
|
|
|
|
Filter.bRecursiveClasses = true;
|
2015-07-07 09:52:55 -04:00
|
|
|
Filter.TagsAndValues.Add(TEXT("NativeParentClass"), FString::Printf(TEXT("%s'%s'"), *UClass::StaticClass()->GetName(), *UEditorTutorial::StaticClass()->GetPathName()));
|
2014-08-20 10:27:41 -04:00
|
|
|
Filter.TagsAndValues.Add(TEXT("ParentClass"), FString::Printf(TEXT("%s'%s'"), *UClass::StaticClass()->GetName(), *UEditorTutorial::StaticClass()->GetPathName()));
|
|
|
|
|
|
|
|
|
|
TArray<FAssetData> AssetData;
|
|
|
|
|
AssetRegistry.Get().GetAssets(Filter, AssetData);
|
|
|
|
|
|
|
|
|
|
for (const auto& TutorialAsset : AssetData)
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
2014-08-20 10:27:41 -04:00
|
|
|
UBlueprint* Blueprint = LoadObject<UBlueprint>(nullptr, *TutorialAsset.ObjectPath.ToString());
|
2014-09-22 09:42:03 -04:00
|
|
|
if (Blueprint && Blueprint->GeneratedClass && Blueprint->BlueprintType == BPTYPE_Normal)
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 3497164)
#lockdown Nick.Penwarden
#rb none
=====================================
MAJOR FEATURES + CHANGES
=====================================
Change 3433074 by Matt.Kuhlenschmidt
Fix crash when clicking on certian tutorial blueprints.
#jira UE-44593
Change 3433075 by Matt.Kuhlenschmidt
Remove hittest grid log spam. The underlying problem causing this has been fixed
Change 3433077 by Matt.Kuhlenschmidt
Fix lighting becoming unbuilt when mesh painting
#jira UE-44837
Change 3433081 by Matt.Kuhlenschmidt
PR #3553: Crashfix for static array properties (Contributed by Pierdek)
Change 3433104 by Alexis.Matte
Make sure re-import skeletal mesh follow the import morph option
#jira UE-42846
Change 3434825 by Matt.Kuhlenschmidt
Fix crash when GC happens while the vr editor radial menu is open.
Change 3434831 by Matt.Kuhlenschmidt
Added missing file
Change 3434868 by Shaun.Kime
If you have a reroute node between a Material Function texture input and its usage, the parent material will fail to resolve the reroute node.
#jira ue-44670
Change 3434998 by Alexis.Matte
Meshes editors material/section panel are now fully transactional
- Staticmesh editor: section material slot, section cast shadow, section collision, material slot instance, material slot name
- Skeletal mesh editor: material slot instance, material slot name
Also fix some transaction description
#jira UE-44462
Change 3435195 by Jamie.Dale
Fixed incorrect handling of some LTR scripts that require shaping
These scripts need to go through HarfBuzz, and this also fixes a case where HarfBuzz wasn't applying font scale correctly.
#jira UE-44767
Change 3435199 by Jamie.Dale
Fixed some crashes/artifacts with bidirectional text
It was possible for a line to compute an incorrect range, which could cause crashes or other highlighting issues. The highlighting logic has also been updated as the old code didn't handle all bidirectional cases correctly.
Change 3435200 by Jamie.Dale
Fixed a grapheme cluster metrics issue in the font editor viewport
The viewport also now respects the default shaping method CVar.
Change 3435771 by Alexis.Matte
Fix degenerated bounds calculation for skeletalmesh when the skeleton is remove from a re-import
(PhysicAsset API change, adding 1 function)
#jira UE-44609
Change 3436856 by Jamie.Dale
Added some missing Unicode block ranges
Change 3436914 by Jamie.Dale
Adding some missing combining character ranges to the text shaper
Change 3436923 by Alexis.Matte
PR #3463: Get bounds for all triangles, not just the first one. WedgeIndex was . (Contributed by DaveC79)
#jira UE-43764
Change 3436948 by Jamie.Dale
Updated the Portal to use the predefined Unicode block ranges
Change 3436961 by Max.Chen
Sequencer: Show camera shake/anim track menus even if there aren't any assets.
Change 3437244 by Max.Chen
Sequencer: Clear locked cameras when releasing Sequencer.
#jira UE-44967
Change 3437515 by Arciel.Rekman
UBT: improvements for LocalExecutor.
- Larger number of parallel jobs on 16GB+ machines.
- Use WaitForExit() instead of polling.
- Tested on Linux and Mac.
Change 3437629 by Matt.Kuhlenschmidt
Improve asset import data display in static and skeletal meshes
Change 3438047 by Arciel.Rekman
Fix overlapping ranges being passed to memcpy().
Change 3438822 by Yannick.Lange
ViewportInteraction: Move gizmo handle files to make them private.
Change 3438906 by Matt.Kuhlenschmidt
PR #3556: Git Plugin: fix new option "init Git LFS" that make assets read-only (master/UE4.17) (Contributed by SRombauts)
Change 3438907 by Matt.Kuhlenschmidt
PR #3565: add -quality option to buildlighing commandlet (Contributed by kayama-shift)
Change 3438908 by Matt.Kuhlenschmidt
PR #3558: UE-44862: Always update SColorPicker color on OK button (Contributed by projectgheist)
Change 3439393 by Matt.Kuhlenschmidt
Force highest LOD for highres screenshots
Change 3439819 by Matt.Kuhlenschmidt
Turned FAssetData into a struct for some upcoming script exposure of FAssetData
Change 3439949 by Arciel.Rekman
Fixed selection logic for the UE4_LINUX_USE_LIBCXX environment variable.
- Allows disabling libc++ by setting the variable to 0.
- Pull request #3576 contributed by jared-improbable.
Change 3441078 by Jamie.Dale
The culture/language/locale console commands are now available in all build configs
Change 3441109 by Jamie.Dale
Text containing surrogate pairs now runs through HarfBuzz when shaping in Auto mode
This is needed as the kerning-only shaping code assumes that everything is within the BMP
Change 3441275 by Matt.Kuhlenschmidt
Disable spinning on location and scale. These dont work because we have no notion of infinite spinning
Change 3442748 by Yannick.Lange
ViewportInteraction: Remove unused console variables.
Change 3442775 by James.Golding
Add support for editing MaterialFunctions to MaterialEditingLibrary
Pull Material recompile/update code into UMaterialEditingLibrary::RecompileMaterial
Pull MaterialFunction update code into UMaterialEditingLibrary::UpdateMaterialFunction util
Move RebuildMaterialInstanceEditors to UMaterialEditingLibrary
Added test content for Material/MaterialFunction editing
Add needed BlueprintReadWrite to expressions (constants, function input/output)
Expose UMaterialExpressionMaterialFunctionCall::SetMaterialFunction to BP, rename old func (which takes old function) to SetMaterialFunctionEx, also expose GetInputNameWithType
Change 3442779 by James.Golding
Fix header order
Change 3442817 by Yannick.Lange
ViewportInteraction: Add can execute checks for level editor commands.
Change 3443038 by Michael.Dupuis
#jira UE-43377: When you select a foliage actor we will move all instance contained in it to the new level as we can't move a foliage actor
Only permit moving foliage instance if there is some selected
Change 3443855 by Michael.Dupuis
#jira UE-44885: Unregister from PerModuleDataObjects when the object is destroyed
Change 3446096 by Max.Chen
Sequencer: Add OnFinished() event when a level sequence completes playback
#jira UE-45173
Change 3446097 by Max.Chen
Sequencer: Evaluate one last time before the sequence is torn down and reset
#jira UE-45174
Change 3446242 by Jamie.Dale
Fixed caret not appearing in empty text layouts
Caret selections have no range, and therefore have no width
Change 3446361 by Matt.Kuhlenschmidt
Fix WITH_EDITOR only functions causing generated code compile errors when the all functions on the class are WITH_EDITOR
Change 3446457 by Alexis.Matte
Polish the speed tree import dialog
#jira UE-44963
Change 3446946 by Michael.Trepka
Modified FWindowsWindow::GetRestoredDimensions to return correct window position for normal windows for which GetWindowPlacement returns position in workspace coordinates
#jira UE-37934
Change 3447543 by Arciel.Rekman
Reduce VMAs on Linux.
- Trades off increased address space (VIRT in terms of ps/htop) for smaller number of distinct mappings (VMAs, virtual memory areas).
This decreases possibility to run into vm.max_map_count limit on Linux.
- Tested on Linux and Mac.
Change 3448468 by Arciel.Rekman
Fix race condition during creation of GMalloc.
- On Mac GMalloc can be created on two different thread that are racing with each other - app's main thread and a system thread.
Change 3449012 by Max.Chen
Sequencer: Add time to transform, color and vector key structs so that key times are editable from the key editors.
#jira UE-45089
Change 3449018 by Max.Chen
Sequencer: Add OnCameraCut event that fires when there is a camera cut.
#jira UE-45137
Change 3449195 by Max.Chen
Sequencer: Add setting for limit scrubbing to playback range.
#jira UE-43502
Change 3449198 by Max.Chen
Sequencer: Reorder hierarchical bias so that group priority takes precedence.
Change 3449217 by Max.Chen
Sequencer: Add setting to activate realtime viewports when in sequencer.
Change 3449219 by Max.Chen
Sequencer: Focus on search boxes when opened.
Change 3449238 by Max.Chen
Sequencer: Assign actor should replace the actor itself after it has updated all the components. Also, replace components be fullname rather than by class.
Change 3449239 by Max.Chen
Sequencer: Fix offsets when moving multiple sections. Dragging should be clamped to the bounds that any of the selected sections hits against the unselected sections.
Change 3449241 by Max.Chen
Sequencer: Restore section selection after full tree rebuild.
Change 3449279 by Max.Chen
Sequencer: Set movie scene capture frames only when not using custom frames. This allows the user entered frame numbers to persist in config, rather than overwriting them when doing a "Render Shot"
Change 3449280 by Max.Chen
Sequencer: Spawn in the persistent level. Otherwise, they get spawned into whatever sublevel is current.
#jira UE-44552
Change 3449294 by Max.Chen
Sequencer: Null check for sequencer ed mode crash.
Change 3449297 by Max.Chen
Sequencer: Fix delay in sliding values. Mark changed when sliding values. Mark refresh immediately when committing values since OnValueChanged will be called and needs to have the correct value that was refreshed immediately.
#jira UE-42866
Change 3449542 by Max.Chen
Sequencer: Fix scrubber hit testing so that the time scrubber is really favored over the playback ranges.
#jira UE-44569
Change 3451507 by Matt.Kuhlenschmidt
Fix extra slate uv coords not functioning on ES2
Change 3451510 by Matt.Kuhlenschmidt
PR #3595: Fixed wrong colour for level status (Contributed by ronve)
Change 3451529 by Alexis.Matte
fbx scene importer: Make sure we set INVALID_UNIQUE_ID to node that has no attribute.
#jira UE-34410
Change 3451611 by Yannick.Lange
ViewportInteraction: Dragging gizmo without second pass for snapped calculations.
Change 3452134 by Jamie.Dale
Fixed constant font cache flushing if a widget had no font set
Change 3452239 by Jamie.Dale
Fixed constant font measure flushing if a widget had no font set
Change 3452243 by Jamie.Dale
Removed deprecated code for creating fonts from bulk data
Change 3452277 by Jamie.Dale
The concept of "stale" composite fonts is now editor-only
Change 3452358 by Alexis.Matte
Fbx scene importer: Do not remove existing attribute reference from the blueprint if the reimport of the associate mesh attribute is not tick.
#jira UE-45232
Change 3452678 by Max.Chen
Sequencer: Fix crash on export if there's no shot data.
Change 3453057 by Matt.Kuhlenschmidt
Exposed asset exporting to script
Change 3453782 by Andrew.Rodham
Sequencer: Fixed deterministic cooking issues with movie scene data
- Movie scene signatures are now initialized in PostInitProperties
- A warning is now presented when attempting to cook old data that was never serialized with a signature.
- Removed redundant legacy data upgrade logic that could dirty level sequences on load.
#jira UE-44912
Change 3453788 by Yannick.Lange
ViewportInteraction: Custom scene proxy for gizmo handles.
Change 3453938 by Max.Chen
Sequencer: Hotkeys (shift , and shift .) to step to next/previous shot
#jira UE-45119
Change 3454058 by Michael.Dupuis
Fixed StaticAnalysis
Change 3454077 by Max.Chen
Sequencer: Fix not saving the pre-animated track value when creating a track/key.
On pre object change, broadcast property change so that a track or key can be created. That track/key needs to be evaluated immediately so that the pre-animated state can be saved properly. This is done now with RefreshAllImmediately and is only called when a track has been created. Also, added a return value for OnKeyProperty, so that it's known what changed in particular (ie. track created, track modified, etc)
Also, fixed transform keying so that if a transform track already exists for the object or the scene component, the existing track is used.
#jira UE-45130
Change 3454108 by Nick.Darnell
UMG - Fixing the WIC to properly record cursor delta so that scrollbars work.
Change 3454109 by Jamie.Dale
Cache the text layout source info in non-shipping builds so you can inspect it in the debugger
Change 3454202 by Matt.Kuhlenschmidt
Fix bogus error message about the number of usable texture coordinates on ES2 when compiling a UI domain material
Change 3454390 by Yannick.Lange
Fix creating a plugin in a C++ project opens a second instance of Visual Studio. Use SourceCodeAccessor to open solution when necessary.
#jira UE-45035
Change 3454564 by Matt.Kuhlenschmidt
#rnx Fix deprecation warnings
Change 3455471 by Yannick.Lange
ViewportInteraction: Fix entering and exiting VR Mode disables gizmo in desktop editor viewport.
#jira UE-44965
Change 3456183 by Max.Chen
Sequencer: Auto key, auto track refactor.
Auto key - create a key when the property changes and there's an existing track.
Auto track - create a track when the property changes. This is only exposed in the level sequence editor.
All - create a key and a track when the property changes. This is only exposed in VR Editor.
None - do nothing.
#jira UE-43469
Change 3456349 by Andrew.Rodham
Sequencer: Only perform legacy signature checks on instances, and only where signatures match the CDO
Change 3456678 by Alexis.Matte
Allow to add null level instance override material via the advance material array. But still limit the override material number to the mesh material number.
#jira UE-45306
Change 3456945 by Max.Chen
UMG: Add restore state to 2d transform section.
#jira UE-45372
Change 3457196 by Arciel.Rekman
Linux: serialize allocations from the memory pool.
Change 3458434 by Max.Chen
Sequencer: Remove obsolete set tick prerequites functions.
Change 3458671 by James.Golding
Added MIC editing support to MaterialEditingLibrary
Fix static analysis warning
Change 3458888 by Matt.Kuhlenschmidt
PR #3615: More detailed log messages for debugging warnings/errors (Contributed by projectgheist)
Change 3458893 by Matt.Kuhlenschmidt
PR #3583: UE-44960: Delta value wasn't being used (Contributed by projectgheist)
Change 3458895 by Matt.Kuhlenschmidt
Fix typo
Change 3458902 by Matt.Kuhlenschmidt
PR #3607: Improved InputKeySelector functionality (Contributed by projectgheist)
Change 3458917 by Matt.Kuhlenschmidt
Fix crash with invalid object properties in the class picker
#jira UE-39000
Change 3458939 by Matt.Kuhlenschmidt
Fix compile error
Change 3458984 by andrew.porter
QAGame: Initial check in of sequencer smoke test map
Change 3459510 by Matt.Kuhlenschmidt
Fixed ensure when deleting a map that contains build data which also happens to be the currently loaded map.
#jira UE-45052
Change 3460985 by Max.Chen
Sequencer: Snap play time to keys now allows scrubbing between keys and snaps to key times within a certain screenspace tolerance.
#jira UE-45090
Change 3461698 by Arciel.Rekman
Avoid using ARRAY_COUNT in Vulkan.
- Sometimes those arrays can have no extensions whatsoever, and it is illegal to declare a 0 element C array.
Change 3462053 by Max.Chen
Sequencer: Show sequencer spawnables in the world outliner and add the icon overlay for spawnables.
#jira UE-43470
Change 3462139 by Max.Chen
Property Editor: Add objects to FPropertyAndParent
Change 3462202 by Arciel.Rekman
Fix FSocket::Recv() blocking with Peek when there's no data.
Change 3462253 by Nick.Darnell
Slate - New Clipping System
Clipping is now a stateful choice made during composition of the slate hierarchy. Previously every widget got to respect or modify the clipping rect on an as needed basis. The problem was that clipping was only allowed in the layout space of the widget, and it wasn't possible to properly clip elements with render transforms. The new system permits all kinds of transforms on any widget, and they will all be clipped correctly. It tries to use Scissor Rects as they are much cheaper, but will switch over to stenciling if need be to represent a complicated masking structure with several rotated clipping rects all needed to be combined together.
Here are the new clipping states a widget can have, almost all widgets are set to No. Only change it from No if your widget actually needs to clip, generally speaking most widgets don't need to clip.
/**
* This widget does not clip children, it and all children inherit the clipping area of the last widget that clipped.
*/
Inherit,
/**
* This widget clips content the bounds of this widget. It intersects those bounds with any previous clipping area.
*/
ClipToBounds,
/**
* This widget clips to its bounds. It does NOT intersect with any existing clipping geometry, it pushes a new clipping
* state. Effectively allowing it to render outside the bounds of hierarchy that does clip.
*
* NOTE: This will NOT allow you ignore the clipping zone that is set to [Yes - Always].
*/
ClipToBoundsWithoutIntersecting UMETA(DisplayName = "Yes - Without Intersecting (Advanced)"),
/**
* This widget clips to its bounds. It intersects those bounds with any previous clipping area.
*
* NOTE: This clipping area can NOT be ignored, it will always clip children. Useful for hard barriers
* in the UI where you never want animations or other effects to break this region.
*/
ClipToBoundsAlways UMETA(DisplayName = "Yes - Always (Advanced)"),
/**
* This widget clips to its bounds when it's Desired Size is larger than the allocated geometry
* the widget is given. If that occurs, it behaves like [Yes].
*
* NOTE: This mode was primarily added for Text, which is often placed into containers that eventually
* are resized to not be able to support the length of the text. So rather than needing to tag every
* container that could contain text with [Yes], which would result in almost no batching, this mode
* was added to dynamically adjust the clipping if needed. The reason not every panel is set to OnDemand,
* is because not every panel returns a Desired Size that matches what it plans to render at.
*/
OnDemand UMETA(DisplayName = "On Demand (Advanced)")
- Large API Change -
All FSlateDrawElement::Make_____ calls have been deprecated that involved passing in a clipping rect. You no longer should are passed a Clipping rect via OnPaint. You are still passed a rect, but this rect represents a Culling Rect, which is valuable if you need to just out right not paint things the user can't possibly see.
If you were previously trying to determine if you should cull widgets, by doing something like this,
if ( FSlateRect::DoRectanglesIntersect(MyClippingRect, CurWidget.Geometry.GetRenderBoundingRect()) )
That's no longer a good option since there are ways for widgets to ignore the culling bounds. You should convert anything like above to the one below,
if (!SWidget::IsWidgetCulled(MyCullingRect, CurWidget))
To assist in debugging efforts, there are several new debugging console flags in Slate,
Slate.ShowClipping 1 - Controls whether we should render a clipping zone outline. Yellow = Axis Scissor Rect Clipping (cheap). Red = Stencil Clipping (expensive).
Slate.DebugCulling 1 - Disables pushing clipping or stencil rects to the GPU, but continues to intersect culling rects, so that you can tell if a widget is properly culling children it can't possibly draw.
Slate.ShowTextDebugging 1 - Show debugging painting for text rendering.
I've added a new Experimental Feathering Option, it adds AA geometry around the outside of Box and Image brushes.
Slate.Feathering 1
If you're using RenderDoc or something similar, you can now enable render events for slate, so that you can better grok how we're batching and changing states for each UI render pass.
Slate.EnableDrawEvents 1
#jira UE-4659
#rn
Change 3462714 by Nick.Darnell
Fixing a few more compiler issues with the clipping changes.
Change 3462726 by Max.Chen
Switch OnEditStructChildContentsChanged to use FObjectWriter instead of FMemoryWriter which supports serializeing UObjects. This fixes a crash when adding actor array elements to a user defined event struct.
#jira UE-45431
Change 3462801 by Nick.Darnell
Adding a UMG dependency to EngineTestBuild.
Change 3462914 by Max.Chen
Sequencer: Fix regression where spawnables aren't getting saved. Caused by 3407138
#jira UE-30007
#jira UE-39003
Change 3462946 by Nick.Darnell
Automation - Tweaking the UI automation tests converting them over to use the new UI Screenshot automation test.
Automation - Adding a blur widget test.
Change 3462987 by Matt.Kuhlenschmidt
Back out changelist 3458893
Change 3464774 by Matt.Kuhlenschmidt
PR #3629: Bugfix: Missing small icon in Project Launcher profile editor (Contributed by aarmbruster)
Change 3464785 by Nick.Darnell
Fixing some clipping stuff in the editor.
Change 3464830 by andrew.porter
QAGame: Second pass on sequencer smoke test map
Change 3464902 by Nick.Darnell
Loading - Adding some additional checks to the the loading code to ensure we're on the main thread. Additionally adding a fix from UDN that prevents deadlocks in the rare case a user hits Alt+Tab in a fullscreen game while in a hard loading screen.
Change 3464988 by Max.Chen
Sequencer: Add attenuation settings for attached audio components.
#jira UE-33080
Change 3465024 by Nick.Darnell
MoviePlayer - Impoving the playback mode displaynames.
Change 3465074 by Arciel.Rekman
Fix shadowing issues of GraphicsPSOInit.
Change 3465097 by Matt.Kuhlenschmidt
Some refactoring of the details panel
Exposed new methods of adding a struct on scope to a details panel and have it work properly with customizations. The scruct on scope has a "fake" ustructproperty that allows the details panel to show the whole struct not just an individual property.
Refactored the API for adding rows to details panels to make it more consistent\
AddChildCustomBuilder->AddCustomBuilder
AddChildGroup->AddGroup
AddChildContent->AddCustomRow
AddChildPropert->AddProperty
AddChildStructure->AddExternalStructureProperty
AddStructure->AddAllExternalStructureProperties
AddExternalProperty->AddExternalObjectProperty or AddExternalStructureProperty
Change 3465186 by Max.Chen
Sequencer: Save the BindingID in the pre animated token producer so that it can be destroyed properly. This fixes a bug where the default state of a spawnable isn't saved.
#jira UE-43780
Change 3465315 by Matt.Kuhlenschmidt
Fix Fortnite and Orion details panel customization warnings
Change 3465424 by Nick.Darnell
Automation - Moving the step for setting the link to the automation reports to be set before we start the engine.
Change 3465488 by Nick.Darnell
Automation - Forcing textures to load before taking screenshot, so that the scene gets another opportunity to render before we render with Slate. This should fix the Blur UI Test.
Change 3466277 by Arciel.Rekman
Linux: fix window drift when dragging (UE-40380).
- Change by Cengiz Terzibas.
Change 3466370 by Nick.Darnell
UMG - Fixing the colors for the resize handle in the designer.
Change 3466372 by Nick.Darnell
UMG - Fixing the ruler ticks sometimes not being drawn.
Change 3466374 by Nick.Darnell
UMG - Fixing the designer showing multiple options for sequencer.
Change 3466377 by Nick.Darnell
UMG - Cleaning up some clipping bits.
Change 3467025 by Andrew.Rodham
Re-saving assets that contain legacy (<4.15) movie scene data to remove deterministic cook warning.
If conflicts arise during merging of these assets, please ignore the changes made in dev-editor, and accept game-side changes.
(CIS step 62283298, jobId 7773146)
(CIS step 62283297, jobId 7773146)
Change 3467099 by Max.Chen
Fix GetObjectPropertyClass ensure logic. This was returning UObject::StaticClass when valid.
Change 3467172 by Max.Chen
Sequencer: Evaluation optimizations. Also, fixes subsequences not getting expired, leaving dangling spawnables.
#jira UE-43690
Change 3467192 by Matt.Kuhlenschmidt
Fix transactions getting stuck in the color grading controls. This prevents PIE from working properly and causes shutdown crashes
#jira UE-45527
Change 3467251 by Yannick.Lange
ViewportInteraction: Fix scale and rotation snap while dragging with two lasers.
#jira UE-43489
Change 3467331 by Matt.Kuhlenschmidt
Fix D3D shader compiler hard coding shader path and not giving proper warnings when it cannot find the shaders
Change 3467335 by Matt.Kuhlenschmidt
Remove DarkStyle attribute from SNumericEntryBox and allow a spin box style to be passed to it.
Change 3467558 by Max.Chen
Scene Outliner: Generic support to add default columns to a scene outliner.
Change 3467565 by Jamie.Dale
Removing old screenshot data for test
Change 3467589 by Nick.Darnell
Editor - Random cleanup.
Change 3467596 by Nick.Darnell
Progress Bar - Exposing Border Padding to UMG.
Change 3467600 by Nick.Darnell
Slate - Adjusting the rendering of the splitter, previously it could be off by a pixel or two, which becomes more apparent now with the clipping changes.
Change 3467601 by Max.Chen
Property Editor: Fix static analysis warning
Change 3467662 by Nick.Darnell
Automation - Fixing a bug with the screenshot comparison tool not replacing (removing) the old screenshot data.
Change 3467674 by Max.Chen
Property Editor: Fix static analysis warning
Change 3467737 by Max.Chen
Sequencer: Added OnMovieSceneBindingsChanged delegate
Change 3468053 by tim.gautier
QAGame: Updating Editor Smoke Map
- Updated landscapes into Stations for testing
- Added Foliage Sublevel
Change 3468194 by Arciel.Rekman
Linux: fix problems communicating with various STL-using libs.
- Stop hiding global new/delete signatures.
- Disable CEF3 since this change uncovers the problem with libcef.so not built to use bundled libpng.
Change 3468678 by Max.Chen
Sequencer: Set "Sequencer Actor" tag before setting the actor label so that the outliner refreshes after the actor has the tag.
Change 3469314 by tim.gautier
QAGame: Added Painted Foliage / Spline section to EditorSmoke map
Change 3469377 by Nick.Darnell
Slate - Fixing some warnings in a couple of sample games due to the clipping changes.
#rnx
Change 3469767 by Max.Chen
Sequencer: Outliner column and sequencer binding data
#jira UE-43470
Change 3469974 by Arciel.Rekman
Fix code projects not working in Linux installed build.
Change 3470082 by Nick.Darnell
Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread.
Change 3470174 by Nick.Darnell
Slate - Get the last widget in a widget path utility.
Change 3470176 by Nick.Darnell
UMG - User Widgets now have an easy way to know if they're part of or have been removed from the focused widget path, which is handy for doing effects.
Change 3470261 by Nick.Darnell
Slate - The GetRenderer() call on SlateApplication no longer returns a SharedPtr, rather than convert it to a thread safe ptr, going to just make accessing it a raw ptr return, so it can be safely referenced on the game thread while being used on the slate loading thread.
Change 3470286 by Max.Chen
Sequencer: Scene Component's HiddenInGame now goes through the VisibilityTrack and the visibility template.
Change 3470366 by Nick.Darnell
Slate - We now version focus per user, that way during focus events, we can safely abort focus events and state transitions if someone interrrupts the active focus event with something new.
Change 3470649 by Matt.Kuhlenschmidt
Fix deprecation warnings
Change 3470695 by Matt.Kuhlenschmidt
Fixed typo
#jira UE-45580
Change 3470721 by Matt.Kuhlenschmidt
Fix static analysis
Change 3471254 by Michael.Dupuis
#jira UE-42952: Keep occlusion result per view
Change 3471287 by Nick.Darnell
UMG - Render Focus Rule now defaults to never.
Change 3471291 by Nick.Darnell
Slate - Fixing FSlateRenderer* change fallout.
Change 3471299 by Nick.Darnell
Slate - Fixing FSlateRenderer* change.
Change 3471323 by Nick.Darnell
Automation - Fixing automation and Static Analysis warning.
Change 3471413 by andrew.porter
QAGame: Added test content for anim blending and material parameteres to sequencer smoke level
Change 3471649 by Max.Chen
Sequencer: Modify the track when adding animation
#jira UE-45618
Change 3471659 by Matt.Kuhlenschmidt
Added a way to check if a movie is playing from the engine.
Prevented viewport redraws for canvas loading screens if a slate based loading movie is playing
Change 3471734 by Matt.Kuhlenschmidt
Added basic material hookup to USD. Similar to FBX it will find materials based on rules specified by the user in the import settings
Change 3472176 by Nick.Darnell
UMG - Improving the display of the +Track menu in sequencer for UMG. Renamed it from +Add, which is repetitve to +Track. Additionally, the dropdown now shows the currently selected widgets, as well as a submenu containing all the 'important' widgets, so we no longer populate that list with a ton of irrelevant widgets that are just Buton_1 - N, which is pointless in showing people, they'll never guess which is the right button.
Change 3472740 by Max.Chen
Sequencer: Add GetThisFrameMetaData accessor
Change 3472748 by Max.Chen
Sequencer: Added OnBeginScrubbing and OnEndScrubbing event delegates
Change 3472753 by Max.Chen
Sequencer: Add EMovieSceneDataChangeType parameter to OnMovieSceneDataChanged delegate
Change 3472870 by Nick.Darnell
Clipping - Fixing the deprecated tip for scissor rect boxes to be correct. Removing it's usage from UT.
Change 3473340 by Max.Chen
Scene Outliner: Add ability to register additional filters
Change 3473348 by Max.Chen
Details View: Make ForceRefresh virtual. Added accessors to delegates (ie. GetIsPropertyReadOnlyDelegate)
Change 3473441 by Max.Chen
Sequencer: Autokey Refactor Part 2.
Autokey is now a single toggleable state.
Allow Edits Mode has 3 states:
Allow All Edits - Allow any edits to occur, some of which may produce tracks/keys or modify default properties.
Allow Sequencer Edits Only - All edits will produce either a track or a key.
Allow Level Edits Only - Properties in the details panel will be disabled if they have a track.
#jira UE-45229
Change 3473670 by Nick.Darnell
Modules - The module manager no longer returns sharedptrs to IModuleInterfaces, this was the source of rare hard to track down crashes due to a shared ptr reference leak when GetModule was called on non-main threads. We now store a TUniquePtr internally, and only lease out raw pointers.
#rn
Change 3473711 by Nick.Darnell
Disabling the ensure in the module manager.
Change 3473747 by Max.Chen
Sequencer: Fix tooltip
Change 3474091 by Jamie.Dale
Added a warning when cooking a UFontFace that is outered to a UFont asset
These cause issues with iterative COTF, and should be split off into their own assets (as the UI has been asking people to do for several versions)
Change 3475052 by Yannick.Lange
VR Editor: Fix Crash when quitting the editor with VR Mode enabled. VR Editor was being enabled when saving the map on closing the editor.
#jira UE-45415
Change 3475054 by Yannick.Lange
Fix crash when adding a camera to the world in VR Mode the second time. The slate application did not reset when stop dragging in VR Mode, so the second time when starting to drag a camera out of the UI it would already by in a dragging state.
#jira UE-45574
Change 3475263 by Nick.Darnell
Fixing some additional cases of IModuleInteface SharedPtr usage.
Change 3475268 by Max.Chen
Sequencer: Set jumped state when looping playback. This fixes an issue where audio doesn't stop and restart when looped.
#jira UE-45654
Change 3475269 by Max.Chen
Scene Outliner: Additional filters should only apply to actor browsing mode
Change 3475407 by Nick.Darnell
Fixing some clipping / module shared ptr changes in the launcher code.
Change 3475542 by Max.Chen
Sequencer: Update thumbnail and section highlighting to use new clipping behavior.
#jira UE-45692
#jira UE-45689
Change 3475743 by Michael.Dupuis
#jira UE-45183: When updating phyx region take into account simple collision mip
Change 3475949 by Arciel.Rekman
Remove PhysX deoptimization (no longer needed).
- OR-24947 has been closed three months ago.
Change 3476022 by Michael.Dupuis
#jira UE-45560: Make sure we're not going out of range
Change 3476063 by Michael.Dupuis
#jira UE-45562: Do not try to unregister from static mesh if no static mesh is specified for the component
Change 3476168 by Michael.Trepka
Added handling of directory symlinks to FApplePlatformFile::IterateDirectory
#jira UE-43704
Change 3476172 by Nick.Darnell
Fixing a Imoduleinterface change.
Change 3476183 by Jamie.Dale
Exposing GoTo/ScrollTo to single-line editable text for API parity with multi-line editable text
Change 3476385 by Arciel.Rekman
Linux: handle symlinks when iterating directories.
Change 3476522 by Michael.Trepka
Solved a problem with Mac FMallocTBB::Malloc() returning nullptr for 0 bytes allocations, which is inconsistent with other platforms. On Mac we always scalable_aligned_malloc, which behaves differently than scalable_malloc, so for 0 bytes requests we allocate sizeof(size_t), which is exactly what scalable_malloc does internally in such case.
Change 3476806 by Nick.Darnell
UMG - Focus the designer after dropping a widget onto the surface.
Change 3476809 by Nick.Darnell
Curve Editor - Enable Clipping on the curve editor.
Change 3477475 by Nick.Darnell
Fixing a module interface shared ptr usage in UT.
Change 3477553 by Yannick.Lange
VR Editor: Removed AssetEditorPanelID and replaced it with TabManagerPanelID. A panel for AssetEditorPanelID was never created making it impossible to open an asset editor.
Change 3477734 by Yannick.Lange
VR Editor: Fix Warning: SetRelativeScale3D : Invalid Scale entered (X=inf Y=inf Z=inf). Resetting to 1.f. warning when adding CineCameraActor to World from Modes Panel. Make sure to not divide by zero when there is no boundary scale.
#jira UE-44933
Change 3477761 by Jamie.Dale
Some improvements to avoid loading the native .locres files twice when we don't need to
Change 3477780 by Nick.Darnell
PR #3250: Return correct VirtualUserIndex (Contributed by projectgheist)
Change 3477786 by Nick.Darnell
PR #3650: Changed TestNull to accept const pointers. (Contributed by e-agaubatz)
Change 3477795 by Nick.Darnell
PR #2844: UE-36936: Don't stretch container for Plugin Image (Contributed by projectgheist)
Change 3478092 by Nick.Darnell
PR #2341: Optional Middle Mouse Button panning in Graph Editor (Contributed by flipswitchingmonkey)
Engine Edit - Made some small changes to the enum type, and some naming.
Change 3478450 by Nick.Darnell
Fixing some uninitialized variable errors.
Change 3479827 by Andrew.Rodham
Sequencer: Addressed serialization issues with some struct types
Change 3479874 by Jamie.Dale
Fixed "NativeGameLanguage" not being used correctly during localization initialization
Change 3480012 by Andrew.Rodham
Sequencer: Fixed loading tagged properties as native for track identifiers
#jira UE-45823
Change 3480337 by Alexis.Matte
Fix morph target crash missing some valid index check
Change 3480804 by Alexis.Matte
Fix crash with ColorGradingMode custom detail
#jira UE-45638
Change 3480892 by Andrew.Rodham
Sequencer: Ensure that movie scene sequences know about the editor object version
#jira UE-45842
Change 3481073 by Nick.Darnell
Fix the shader compiler error from main in Slate.
Change 3481303 by Nick.Darnell
UMG - Fixing a bug with the drag handle not working correctly in HDPI mode.
Change 3481308 by Nick.Darnell
Slate - Tweaking the IsWidgetCulled logic to consider both the layout and rendering bounds. If we do this, we get a much more desireable outcome for people that want to animate widgets and such and plan to have temporary animations to move the widget offscreen, but want the layout bounds to anchor that widget in the visible frame so that it animates even when normally it would be culled b/c the render transform and therefore the renderbounds moved it completely outside the culling rect.
Change 3481629 by Max.Chen
Sequencer: Add Level Sequence Actor as an output for CreateLevelSequencePlayer()
#jira UE-45785
Change 3481899 by Yannick.Lange
VR Editor: Added debug modetoggle command with an event that is broadcasted whenever this happens. Currently this is used to show all the floating UIs of the UI system to debug without HMD using VREd.ForceVRMode.
Change 3481984 by Michael.Dupuis
#jira UE-45845: always validate if we have a static mesh before trying to access it as user can decide to not assign one and use the tools
Change 3482047 by Nick.Darnell
Slate - Adding some comments to IsWidgetCulled.
Change 3482110 by Nick.Darnell
Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled.
Change 3482136 by Jamie.Dale
The CamelCase break iterator now treats digits around character tokens as part of the identifier
Change 3482138 by Michael.Dupuis
#jira UE-45854: Properly unregister during undo operation
Change 3482150 by Michael.Dupuis
#jira UE-45845 : Add missing nullcheck for GetStaticMesh
Change 3482153 by Nick.Darnell
Slate - IsWidgetCulled is no longer static and is now called IsChildWidgetCulled.
Change 3482180 by Nick.Darnell
UMG - Widget Components do not need to define a widget class to be rendererd, they can have native slate widgets only. This was a regression from main.
Change 3482273 by Nick.Darnell
UMG - Tweaking some more things about the widget component box outline.
Change 3482308 by Alexis.Matte
Fixing morph target smooth group support. Do not call FillSkeletalMeshImportData more then once on FbxNode since this fonction is doing some conversion and change the FbxNode, applying those conversion twice do not return the same faces smooth group.
#jira UE-45696
Change 3482327 by Nick.Darnell
UMG - More tweaks to the WidgetComponent so both shows the box outline, but works in game and VR editor.
Change 3482705 by Andrew.Rodham
Resaving assets that contain legacy data to suppress CIS warnings.
- If conflicts arise in these assets, please take game-side changes and ignore these.
Change 3484245 by Max.Chen
Sequencer: Evaluate on end scrub. This fixes a bug where audio doesn't evaluate in a stopped position at the end of scrubbing, causing it to not stop all sounds. This fixes a bug introduced from 3365018 where evaluate on end scrub was removed.
#jira UE-45905
Change 3484263 by Max.Chen
Sequencer: Fix crash on forcing refresh of details panel on release.
#jira UE-45911
Change 3484431 by Andrew.Rodham
Resaving assets that contain legacy data to suppress CIS warnings.
- If conflicts arise in these assets, please take game-side changes and ignore these.
Change 3484474 by Alexis.Matte
Fix the morph target animation curve name matching.
#jira UE-20294
Change 3484475 by Alexis.Matte
When removing a LOD, make sure we remove all morph target data associate to the LOD.
Change 3484489 by Nick.Darnell
PR #3668: UE-45908: Cache debug line locations when performing a LineTraceMulti (Contributed by projectgheist)
#jira UE-45908
Change 3484692 by Nick.Darnell
Slate - Reverting a change from a game stream. All Arranged Children don't need to allocated 42 to begin with. Do need to initialize WidgetPaths better.
Change 3484703 by Nick.Darnell
Player Input - Making the input event loop for players obey EKeys::NUM_TOUCH_KEYS, rather than being set to Touch10, as the maximum touch input amount, to make supporting greater than 10 touches easier. Also making the seeding of keys use EKeys::NUM_TOUCH_KEYS.
#jira UE-43213
Change 3484918 by Jamie.Dale
Fixed font measuring regression with RTL text
RTL applies the character count to the next glyph, so it shouldn't process the end of the loop (this was how the older code used to work).
Change 3485718 by Nick.Darnell
Editor - Removing Super Search & User Feedback button.
Change 3485719 by Nick.Darnell
Portal - Removing SuperSearch.
Change 3485751 by Matt.Kuhlenschmidt
Fix crash accessing platformer game menu if the menu is open during a console based load
#jira UE-45950
Change 3486047 by Arciel.Rekman
Linux: add OpenEXR implementation (UE-40270).
#jira UE-40270
Change 3486467 by Max.Chen
Sequencer: Reset max tick rate when destroyed.
#jira UE-45956
Change 3486477 by Max.Chen
Sequencer: Refresh outliner when column is removed.
#jira UE-45891
Change 3486667 by Andrew.Rodham
Added missing include
Change 3486724 by Andrew.Rodham
Sequencer: Fixed curves with no default value, and no keys being evaluated and applied to properties
- Also fixed an edge case where a zero (but non-animated) channel could be applied to a final transform
Change 3486730 by Alexis.Matte
In the Auto-Reimport options, hide the mout point only for the default /Game/ folder
#UE-45684
Change 3486749 by Alexis.Matte
Make sure the parent window of the monitor directory browse folder is set properly
#jira UE-45682
Change 3486805 by Matt.Kuhlenschmidt
Additional safety against invalid objects being accessed by slate
Change 3486848 by Alexis.Matte
Make sure Monitor folder feature support root mount point map folder
During auto import, give priority to asset import factory over the scene import factory
#jira UE-45691
Change 3486879 by Andrew.Rodham
Removing obsolete QA assets
Change 3486950 by Nick.Darnell
PR #2281: Scrollbar missing features and SScrollbar fixes (Contributed by SNikon)
Review - made some adjustments from the original.
Change 3486954 by Nick.Darnell
Slate - Moving the STableViewBase over to the FOverscroll class, rather than it's own clone.
Change 3486967 by Nick.Darnell
Slate - Fixing some HDPI calculations for fitting new windows on screen, it was using the unscaled size of the widgets for fitting, when it needed to scale them up.
Change 3486970 by Andrew.Rodham
Sequencer: Delay mouse capture until drag for sequencer time slider
- Fixes context menus not opening as a result of mouse capture being taken on mouse down
#jira UE-45937
Change 3486984 by Andrew.Rodham
Sequencer: Improved blending type iconography
Change 3486996 by Nick.Darnell
UMG - Adding a way for games to opt-out of the slow widget path, to completely prevent them from being cooked.
UMG - The movie data is no longer cloned for each new instance that inhabits. It now keeps a reference to the now publically accessible movie scene data on the class instead.
Change 3487070 by Andrew.Rodham
Sequencer: Added graphics for key areas that represent empty space
Change 3487195 by Andrew.Rodham
Sequencer: Changed evaluation groups to always flush implicitly
- Due to the latent nature of blended token types, it's no longer safe to rely solely on execution token order between tracks
- This fixes an issue where events set in the PostEvaluation stage were executed before blended token actuation
Change 3487322 by Nick.Darnell
PR #2457: Add .gitdeps.xml-files for plugins support (Contributed by bozaro)
Change 3487363 by Nick.Darnell
PR #2481: Fix for packing of a project with users plugins (Contributed by yatagarasu25)
Change 3487439 by Nick.Darnell
PR #2642: Changed private to protected in SVirtualJoystick.h (Contributed by Skylonxe)
Change 3487500 by Arciel.Rekman
Removed LinuxNativeDialogs.
- No longer used; has been superceded by SlateDialogs since UE 4.8 (2 years ago).
Change 3487630 by Lauren.Ridge
Don't create Landscape Info Maps for Editor Preview Worlds or thumbnail worlds
#jira UE-44885
Change 3487864 by Matt.Kuhlenschmidt
Exposed the asset registry to blueprints and script. Works in editor scripts and runtime scripts
AssetRegistry is now a UInterface object.
Blueprint users can access various asset registry methods using the asset registry interface (via GetAssetRegistry) and various static helpers in the AssetRegistryHelpers object
C++ users should still continue to use IAssetRegistry.
Change 3487879 by Matt.Kuhlenschmidt
Renamed asset tools uobject helper to UAssetToolsHelpers
Change 3487926 by Lauren.Ridge
Fixing reset to default not showing up for custom widgets
#jira UE-44164
Change 3488184 by Matt.Kuhlenschmidt
PR #3656: Make References/Referencers List copyable (Contributed by user37337)
#jira UE-45763
Change 3488240 by Matt.Kuhlenschmidt
Fix compiler issue
Change 3488350 by Lauren.Ridge
Landscape info map transactional state is based on its world's transactional state
#jira UE-44885
#jira UE-46019
Change 3488412 by Matt.Kuhlenschmidt
Fix reset to default showing up in two different places for some customizations
Change 3488413 by Matt.Kuhlenschmidt
Fix slate font customization
Change 3488414 by Matt.Kuhlenschmidt
Fix slate font customization
Change 3488415 by Matt.Kuhlenschmidt
Missed file
Change 3488565 by Arciel.Rekman
Add pretty printers for gdb (UETOOL-1171).
- Committing shelf by Cengiz.Terzibas, with some modifications.
#jira UETOOL-1171
Change 3489094 by Nick.Darnell
Slate - The Slate RHI Renderer now caches the TextureLODGroups so that it can properly lookup the filtering of different texture groups that are set to Default, instead of a particular filter override on a texture.
Engine/Rendering - Simplifying some of the setup logic in TextureLODSettings so that code is shared for setting them up properly after loading from a config file.
Change 3489095 by Nick.Darnell
PR #2699: GameViewportClient - Added a method to allow setting the viewport cur. (Contributed by rfenner)
Review - Fixed spacing.
Change 3489108 by Matt.Kuhlenschmidt
Fix deprecation warning
Change 3489120 by Nick.Darnell
PR #3478: Fix possible UComboBoxString crash (Contributed by nakosung)
Change 3489147 by Andrew.Rodham
Sequencer: Adding return value to function to appease static analysis
- This function is never compiled, and if it is, it won't compile, but static analysis doesn't know that
Change 3489264 by Nick.Darnell
Testing - Finishing the thought behind an enum comment.
Change 3489265 by Nick.Darnell
PR #2750: UE-35164: Button padding (Contributed by projectgheist)
Change 3489267 by Nick.Darnell
PR #3645: UE-45464: Handle SSlider mouse interaction more accurately (Contributed by projectgheist)
Change 3489632 by Arciel.Rekman
Correctness changes to MallocPoisonProxy.
- Missing forwarding functions added. Incorrect comment removed.
- Change by Steve.Robb, doing here so it is in 4.17.
Change 3489689 by Arciel.Rekman
More MallocPoisonProxy changes I missed in previous CL.
Change 3489751 by Matt.Kuhlenschmidt
Moved editor performance settings out of per-project settings so they can be shared across projects
Change 3489837 by Lauren.Ridge
Keyboard shortcut for entering/leaving VR Mode is now Alt+V
Change 3491082 by Arciel.Rekman
Linux: better fix for the crash due to name collision (UE-46040).
- Put classes in Sequencer module into Sequencer namespace instead of SceneOutliner namespace.
- Undid change in the SceneOutliner module.
#jira UE-46040
Change 3491096 by Arciel.Rekman
Fix UAT compilation on the newest mono.
Change 3491240 by Max.Chen
Sequencer: Disable key button when allow level edits only is on.
#jira UE-46060
Change 3491406 by Yannick.Lange
Fix editor crashes when opening a project that includes a plugin with more than two custom Volume classes. This issue was caused because registering show volume commands is based on finding volume classes. Finding these classes at multiple times resulted in a mismatch of the returned array of volume classes because modules/plugins were still being loaded.
#jira UE-45806
Change 3491559 by Alexis.Matte
Make sure we use the good preview mesh when doing a preview
#jira UE-45963
Change 3491563 by Alexis.Matte
Fix crash with staticmesh editor LodLevel selection
Change 3491564 by Nick.Darnell
UMG - Fixing an offset with the grab handles in HDPI mode.
Change 3491595 by Nick.Darnell
Editor - Fixing a clipping artifact in the pin type dropdown in the blueprint editor.
Change 3491604 by Nick.Darnell
Back out changelist 3489265
Change 3491615 by Arciel.Rekman
Added malloc replay proxy (Linux only for now).
- Allows to dump malloc callstream (without regard to threads) and replay later to study the behavior of different mallocs and/or repro problems.
Change 3491684 by Arciel.Rekman
Added FMalloc functions I missed.
- Also moved function bodies into the .cpp file, this does not make a difference in performance in this case.
Change 3491692 by Matt.Kuhlenschmidt
Some minor fixes to the static mesh editor
- Fix UV combo button looking non-standard on the toolbar
- Fix a few combo buttons in the details panel looking too big.
Change 3491702 by Arciel.Rekman
Do not compile replay proxy-specific code when not used.
Change 3491717 by Michael.Dupuis
#jira UE-35083:
The component is now the owner of the PerInstanceRenderData instead of the proxy
Add an Update path to only update specified instances range
Always call BuildTreeIfOutdated so we have a standard code path to make sure static mesh are fully loaded before trying to build the tree
Moved the Instance Buffer aysnc to the base class, as it's not related to UHierarchicalInstancedStaticMeshComponent
Expose a new property to decide if we require dynamic instance buffer
Change 3491758 by Matt.Kuhlenschmidt
Fix crash on static mesh editor shutdown
Change 3491873 by Cody.Albert
Fixed clipping issue in Sequencer curve editor
#rnx
Change 3491956 by Matt.Kuhlenschmidt
Fix crash opening the Previewing sub-menu in the level editor settings menu
#jira UE-46095
Change 3492046 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492076 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492165 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492222 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492274 by Michael.Dupuis
#jira UE-46105: Fixed Clang warning
Change 3492338 by andrew.porter
QAGame: Testing ensure when submitting
Change 3492371 by Nick.Darnell
UMG - Reverting the animation sharing, cossed GLEO regressions in cooking. Will look for a better solution.
Change 3492462 by Matt.Kuhlenschmidt
Fix ensure checking in files through perforce
Change 3492491 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492505 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3492517 by Jamie.Dale
The package localization ID is no longer used at all at runtime, and is now truly editor-only
This should have always been the case, but it was leaked into manifest/archives/PO files in 4.14, and while 4.15 removed it from PO files it was still present in the manifest/archives. This change removes it entirely (unless gathering editor-only data, and even then the PO file will still collapse the entries together for translation), and the deprecated 4.14 export behavior will now produce an error if you attempt to use it.
After taking this change you'll need to run a gather, import, and compile of your LocRes files to update your game localization to use the new localization IDs.
Change 3492630 by Nick.Darnell
UMG - Removing some extra cleanup code that's probably overkill and is causing a crash for uses of "Within" in class meta.
#jira UE-46124
Change 3492692 by Matt.Kuhlenschmidt
Fix drop shadows inheriting the outline color of the font. The outline should still appear but not have a different outline color from fill color
Change 3492714 by Matt.Kuhlenschmidt
Added outline with drop shadow to font automation test
Change 3492737 by Matt.Kuhlenschmidt
Fix linux
Change 3492992 by tim.gautier
Resaving Ocean Widget Blueprints / Sequences to resolve Legacy Sequence Data warnings
#jira UE-46132
Change 3493089 by Jamie.Dale
Ensure that the composite font of a font asset is flushed when the font object is GC'd
Change 3493322 by Jamie.Dale
Fixing null crash
#jira UE-45758
Change 3494467 by Andrew.Rodham
Fix Xbox warning
Change 3494852 by tim.gautier
QAGame: Changed streaming method of QA-EditorSmoke-Landscape to Always Loaded
Change 3494853 by Nick.Darnell
Another attempt at fixing the automation blueprint SA warning.
Change 3494896 by Arciel.Rekman
Fix possible null pointer access during Vulkan init.
- May fix static analysis warnings in UE-46142, although warnings seem to be referring to something else.
#jira UE-46142
Change 3494987 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3495010 by Matt.Kuhlenschmidt
Adding additional logging to track down html5 issue
Change 3495212 by Michael.Dupuis
#jira UE-46143: Properly init the InstanceRenderData during the cooking phase (required by fortnite)
Change 3495536 by Jamie.Dale
Updating UGameEngine to call its Super::PreExit after performing its own teardown
This prevents UEngine cleaning up resources that UGameEngine still needs.
#jira UE-46159
Change 3495551 by Arciel.Rekman
Another attempt to fix analyzer problem (UE-46142).
Change 3495794 by Jamie.Dale
Fixing some font cooking warnings by splitting out font faces from their font assets
#jira UE-45843
Change 3495905 by Matt.Kuhlenschmidt
Fix USD crash when importing a meshwith no material
[CL 3499771 by Matt Kuhlenschmidt in Main branch]
2017-06-19 20:27:30 -04:00
|
|
|
UEditorTutorial* Tutorial = NewObject<UEditorTutorial>(GetTransientPackage(), Blueprint->GeneratedClass);
|
|
|
|
|
//UE-45734 - Loading the default object causes landscape tutorials to crash.
|
|
|
|
|
//UEditorTutorial* Tutorial = Blueprint->GeneratedClass->GetDefaultObject<UEditorTutorial>();
|
2014-09-22 09:42:03 -04:00
|
|
|
if(!Tutorial->bHideInBrowser)
|
|
|
|
|
{
|
|
|
|
|
Tutorials.Add(MakeShareable(new FTutorialListEntry_Tutorial(Tutorial, FOnTutorialSelected::CreateSP(this, &STutorialsBrowser::OnTutorialSelected), TAttribute<FText>::Create(TAttribute<FText>::FGetter::CreateSP(this, &STutorialsBrowser::GetSearchText)))));
|
|
|
|
|
}
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// add tutorials to categories
|
|
|
|
|
for(const auto& Tutorial : Tutorials)
|
|
|
|
|
{
|
|
|
|
|
// Figure out which base category this tutorial belongs in
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> CategoryForTutorial = InRootCategory;
|
|
|
|
|
const FString& CategoryPath = Tutorial->Tutorial->Category;
|
|
|
|
|
|
|
|
|
|
// We're expecting the category string to be in the "A.B.C" format. We'll split up the string here and form
|
|
|
|
|
// a proper hierarchy in the UI
|
|
|
|
|
TArray< FString > SplitCategories;
|
2015-03-02 15:51:37 -05:00
|
|
|
CategoryPath.ParseIntoArray( SplitCategories, TEXT( "." ), true /* bCullEmpty */ );
|
2014-08-05 09:04:35 -04:00
|
|
|
|
|
|
|
|
FString CurrentCategoryPath;
|
|
|
|
|
|
|
|
|
|
// Make sure all of the categories exist
|
|
|
|
|
for(const auto& SplitCategory : SplitCategories)
|
|
|
|
|
{
|
|
|
|
|
// Locate this category at the level we're at in the hierarchy
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> FoundCategory = NULL;
|
|
|
|
|
TArray< TSharedPtr<ITutorialListEntry> >& TestCategoryList = CategoryForTutorial.IsValid() ? CategoryForTutorial->SubCategories : InRootCategory->SubCategories;
|
|
|
|
|
for(auto& TestCategory : TestCategoryList)
|
|
|
|
|
{
|
|
|
|
|
if( StaticCastSharedPtr<FTutorialListEntry_Category>(TestCategory)->CategoryName == SplitCategory )
|
|
|
|
|
{
|
|
|
|
|
// Found it!
|
|
|
|
|
FoundCategory = StaticCastSharedPtr<FTutorialListEntry_Category>(TestCategory);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(!CurrentCategoryPath.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
CurrentCategoryPath += TEXT(".");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CurrentCategoryPath += SplitCategory;
|
|
|
|
|
|
|
|
|
|
if( !FoundCategory.IsValid() )
|
|
|
|
|
{
|
|
|
|
|
// OK, this is a new category name for us, so add it now!
|
|
|
|
|
FTutorialCategory InterveningCategory;
|
|
|
|
|
InterveningCategory.Identifier = CurrentCategoryPath;
|
|
|
|
|
|
|
|
|
|
FoundCategory = MakeShareable(new FTutorialListEntry_Category(InterveningCategory, FOnCategorySelected::CreateSP(this, &STutorialsBrowser::OnCategorySelected), TAttribute<FText>::Create(TAttribute<FText>::FGetter::CreateSP(this, &STutorialsBrowser::GetSearchText))));
|
|
|
|
|
FoundCategory->ParentCategory = CategoryForTutorial;
|
|
|
|
|
TestCategoryList.Add( FoundCategory );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Descend the hierarchy for the next category
|
|
|
|
|
CategoryForTutorial = FoundCategory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Tutorial->ParentCategory = CategoryForTutorial;
|
|
|
|
|
CategoryForTutorial->AddTutorial( Tutorial );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::ReloadTutorials()
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> RootCategory = RebuildCategories();
|
|
|
|
|
RebuildTutorials(RootCategory);
|
|
|
|
|
RootEntry = RootCategory;
|
|
|
|
|
|
|
|
|
|
// now filter & arrange available tutorials
|
|
|
|
|
FilterTutorials();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FReply STutorialsBrowser::OnCloseButtonClicked()
|
|
|
|
|
{
|
|
|
|
|
OnClosed.ExecuteIfBound();
|
|
|
|
|
return FReply::Handled();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FReply STutorialsBrowser::OnBackButtonClicked()
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> CurrentCategory = FindCategory_Recursive(RootEntry);
|
|
|
|
|
if(CurrentCategory.IsValid() && CurrentCategory->ParentCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> PinnedParentCategory = StaticCastSharedPtr<FTutorialListEntry_Category>(CurrentCategory->ParentCategory.Pin());
|
|
|
|
|
if(PinnedParentCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
NavigationFilter = PinnedParentCategory->Category.Identifier;
|
|
|
|
|
FilterTutorials();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-29 05:28:46 -04:00
|
|
|
RebuildCrumbs();
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
return FReply::Handled();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool STutorialsBrowser::IsBackButtonEnabled() const
|
|
|
|
|
{
|
|
|
|
|
if(CurrentCategoryPtr.IsValid())
|
|
|
|
|
{
|
|
|
|
|
return CurrentCategoryPtr.Pin()->ParentCategory.IsValid();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::OnTutorialSelected(UEditorTutorial* InTutorial, bool bRestart)
|
|
|
|
|
{
|
2015-01-28 10:52:33 -05:00
|
|
|
if (InTutorial != nullptr)
|
2014-09-18 08:10:29 -04:00
|
|
|
{
|
2015-01-28 10:52:33 -05:00
|
|
|
if (FEngineAnalytics::IsAvailable())
|
|
|
|
|
{
|
|
|
|
|
TArray<FAnalyticsEventAttribute> EventAttributes;
|
|
|
|
|
EventAttributes.Add(FAnalyticsEventAttribute(TEXT("Restarted"), bRestart));
|
|
|
|
|
EventAttributes.Add(FAnalyticsEventAttribute(TEXT("TutorialAsset"), FIntroTutorials::AnalyticsEventNameFromTutorial(InTutorial)));
|
2014-09-18 08:10:29 -04:00
|
|
|
|
2015-01-28 10:52:33 -05:00
|
|
|
FEngineAnalytics::GetProvider().RecordEvent(TEXT("Rocket.Tutorials.LaunchedFromBrowser"), EventAttributes);
|
|
|
|
|
}
|
|
|
|
|
//Close the tutorial browser so it doesn't get in the way of the actual tutorial.
|
|
|
|
|
if (OnLaunchTutorial.IsBound())
|
|
|
|
|
{
|
|
|
|
|
FIntroTutorials& IntroTutorials = FModuleManager::GetModuleChecked<FIntroTutorials>(TEXT("IntroTutorials"));
|
|
|
|
|
IntroTutorials.DismissTutorialBrowser();
|
|
|
|
|
}
|
2014-09-18 08:10:29 -04:00
|
|
|
}
|
2015-04-02 16:56:18 -04:00
|
|
|
OnLaunchTutorial.ExecuteIfBound(InTutorial, bRestart ? IIntroTutorials::ETutorialStartType::TST_RESTART : IIntroTutorials::ETutorialStartType::TST_CONTINUE, ParentWindow, FSimpleDelegate(), FSimpleDelegate());
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::OnCategorySelected(const FString& InCategory)
|
|
|
|
|
{
|
|
|
|
|
NavigationFilter = InCategory;
|
|
|
|
|
FilterTutorials();
|
2014-09-29 05:28:46 -04:00
|
|
|
|
|
|
|
|
RebuildCrumbs();
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::FilterTutorials()
|
|
|
|
|
{
|
|
|
|
|
FilteredEntries.Empty();
|
|
|
|
|
|
2014-09-29 06:54:17 -04:00
|
|
|
if(SearchFilter.IsEmpty())
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
2014-09-29 06:54:17 -04:00
|
|
|
TSharedPtr<FTutorialListEntry_Category> CurrentCategory = FindCategory_Recursive(RootEntry);
|
2014-08-05 09:04:35 -04:00
|
|
|
|
2014-09-29 06:54:17 -04:00
|
|
|
if(CurrentCategory.IsValid())
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
2014-09-29 06:54:17 -04:00
|
|
|
for(const auto& SubCategory : CurrentCategory->SubCategories)
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
2014-09-29 06:54:17 -04:00
|
|
|
if(SubCategory->PassesFilter(CategoryFilter, SearchFilter.ToString()))
|
|
|
|
|
{
|
|
|
|
|
FilteredEntries.Add(SubCategory);
|
|
|
|
|
}
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
2014-09-29 06:54:17 -04:00
|
|
|
for(const auto& Tutorial : CurrentCategory->Tutorials)
|
|
|
|
|
{
|
|
|
|
|
if(Tutorial->PassesFilter(CategoryFilter, SearchFilter.ToString()))
|
|
|
|
|
{
|
|
|
|
|
FilteredEntries.Add(Tutorial);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CurrentCategoryPtr = CurrentCategory;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
struct Local
|
|
|
|
|
{
|
|
|
|
|
static void AddSubCategory_Recursive(const FString& InCategoryFilter, const FString& InSearchFilter, TSharedPtr<FTutorialListEntry_Category> InCategory, TArray<TSharedPtr<ITutorialListEntry>>& InOutFilteredEntries)
|
|
|
|
|
{
|
|
|
|
|
if(InCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
for(const auto& SubCategory : InCategory->SubCategories)
|
|
|
|
|
{
|
|
|
|
|
if(SubCategory->PassesFilter(InCategoryFilter, InSearchFilter))
|
|
|
|
|
{
|
|
|
|
|
InOutFilteredEntries.Add(SubCategory);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AddSubCategory_Recursive(InCategoryFilter, InSearchFilter, StaticCastSharedPtr<FTutorialListEntry_Category>(SubCategory), InOutFilteredEntries);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(const auto& Tutorial : InCategory->Tutorials)
|
|
|
|
|
{
|
|
|
|
|
if(Tutorial->PassesFilter(InCategoryFilter, InSearchFilter))
|
|
|
|
|
{
|
|
|
|
|
InOutFilteredEntries.Add(Tutorial);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> CurrentCategory = FindCategory_Recursive(RootEntry);
|
|
|
|
|
if(CurrentCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Local::AddSubCategory_Recursive(CategoryFilter, SearchFilter.ToString(), CurrentCategory, FilteredEntries);
|
|
|
|
|
CurrentCategoryPtr = CurrentCategory;
|
|
|
|
|
}
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
|
2014-09-18 16:43:17 -04:00
|
|
|
FilteredEntries.Sort(
|
|
|
|
|
[](TSharedPtr<ITutorialListEntry> EntryA, TSharedPtr<ITutorialListEntry> EntryB)->bool
|
|
|
|
|
{
|
|
|
|
|
if(EntryA.IsValid() && EntryB.IsValid())
|
|
|
|
|
{
|
|
|
|
|
return EntryA->SortAgainst(EntryB.ToSharedRef());
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
|
2014-08-05 09:04:35 -04:00
|
|
|
TutorialList->RequestListRefresh();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> STutorialsBrowser::FindCategory_Recursive(TSharedPtr<FTutorialListEntry_Category> InCategory) const
|
|
|
|
|
{
|
2014-09-29 05:28:46 -04:00
|
|
|
if(InCategory.IsValid())
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
2014-09-29 05:28:46 -04:00
|
|
|
if(InCategory->Category.Identifier == NavigationFilter)
|
2014-08-05 09:04:35 -04:00
|
|
|
{
|
2014-09-29 05:28:46 -04:00
|
|
|
return InCategory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(const auto& Category : InCategory->SubCategories)
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> TestCategory = FindCategory_Recursive(StaticCastSharedPtr<FTutorialListEntry_Category>(Category));
|
|
|
|
|
if(TestCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
return TestCategory;
|
|
|
|
|
}
|
2014-08-05 09:04:35 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return TSharedPtr<FTutorialListEntry_Category>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::OnSearchTextChanged(const FText& InText)
|
|
|
|
|
{
|
|
|
|
|
SearchFilter = InText;
|
|
|
|
|
FilterTutorials();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FText STutorialsBrowser::GetSearchText() const
|
|
|
|
|
{
|
|
|
|
|
return SearchFilter;
|
|
|
|
|
}
|
|
|
|
|
|
2014-09-29 05:28:46 -04:00
|
|
|
void STutorialsBrowser::OnBreadcrumbClicked(const TSharedPtr<ITutorialListEntry>& InEntry)
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<ITutorialListEntry> ClickedEntry = InEntry;
|
|
|
|
|
|
|
|
|
|
if(ClickedEntry.IsValid())
|
|
|
|
|
{
|
|
|
|
|
NavigationFilter = StaticCastSharedPtr<FTutorialListEntry_Category>(ClickedEntry)->Category.Identifier;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
NavigationFilter.Empty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RebuildCrumbs();
|
|
|
|
|
|
|
|
|
|
FilterTutorials();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void STutorialsBrowser::RebuildCrumbs()
|
|
|
|
|
{
|
|
|
|
|
BreadcrumbTrail->ClearCrumbs();
|
|
|
|
|
|
|
|
|
|
// rebuild crumbs to this point
|
|
|
|
|
TArray<TSharedPtr<FTutorialListEntry_Category>> Entries;
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> CurrentCategory = FindCategory_Recursive(RootEntry);
|
|
|
|
|
if(CurrentCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> Category = StaticCastSharedPtr<FTutorialListEntry_Category>(CurrentCategory);
|
|
|
|
|
while(Category.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Entries.Add(Category);
|
|
|
|
|
if(Category->ParentCategory.IsValid())
|
|
|
|
|
{
|
|
|
|
|
Category = StaticCastSharedPtr<FTutorialListEntry_Category>(Category->ParentCategory.Pin());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for(int32 Index = Entries.Num() - 1; Index >= 0; Index--)
|
|
|
|
|
{
|
|
|
|
|
TSharedPtr<FTutorialListEntry_Category> Entry = Entries[Index];
|
|
|
|
|
if(RootEntry == Entry)
|
|
|
|
|
{
|
|
|
|
|
BreadcrumbTrail->PushCrumb(LOCTEXT("PathRoot", "Tutorials"), TSharedPtr<ITutorialListEntry>());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
BreadcrumbTrail->PushCrumb(Entry->GetTitleText(), Entry);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-10-13 06:46:06 -04:00
|
|
|
void STutorialsBrowser::HandleAssetAdded(const FAssetData& InAssetData)
|
|
|
|
|
{
|
|
|
|
|
if(InAssetData.AssetClass == UBlueprint::StaticClass()->GetFName())
|
|
|
|
|
{
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2937390 on 2016/04/07 by Cody.Albert
#jira UE-29211
Fixed slider to properly bubble unhandled OnKeyDown events
Change 2939672 on 2016/04/11 by Richard.TalbotWatkin
Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction.
#jira UE-29193 - "Files need check-out" prompt spams Blueprint users
Change 2939686 on 2016/04/11 by Richard.TalbotWatkin
A number of further improvements to mesh vertex color painting:
* Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine.
* Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0.
* Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds.
* Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors).
#jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected
Change 2939906 on 2016/04/11 by Nick.Darnell
Automation - Adding several enhancements to the automation framework and improving the UI.
* Tests in the UI now have a link to the source and line where they orginate.
* There's now a general purpose latent lambda command you can use to run arbitrary code latently.
* Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code.
* Front end now has better column displays offering more room to the test name
* Changed several events to the automation controller to multicast delegates so that many could hook them.
* The UI now refreshes the selection after tests finish so that the output log updates.
Change 2939908 on 2016/04/11 by Nick.Darnell
Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s)
Change 2940028 on 2016/04/11 by Nick.Darnell
Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests.
Change 2940066 on 2016/04/11 by Nick.Darnell
Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it.
Change 2940092 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940093 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940157 on 2016/04/11 by Jamie.Dale
Fixing FTextTest due to some changes made to how currency is formatted
Change 2940694 on 2016/04/12 by Richard.TalbotWatkin
Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs.
#jira UE-29360 - Override Colors not propagated correctly to generated lower LODs
Change 2942379 on 2016/04/13 by Richard.TalbotWatkin
Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed.
#jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing
Change 2942947 on 2016/04/13 by Richard.TalbotWatkin
Fixed crash when pasting a material function call node from one project to another in which it is not defined.
#jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects
Change 2943452 on 2016/04/14 by Richard.TalbotWatkin
Updated F4 debug key binding to match what's in ShowFlags.cpp
PR #2197 (contributed by mfortin-bhvr)
Change 2943824 on 2016/04/14 by Alexis.Matte
#jira UE-29090
Make sure we cannot open the color picker when a property is edit const
Change 2943841 on 2016/04/14 by Alexis.Matte
#jira UE-28924
tooltip was add for every hierarchy import option
Change 2943927 on 2016/04/14 by Alexis.Matte
#jira UE-29423
Add Obj support for scene importer
Github PR #2272
Change 2943967 on 2016/04/14 by Richard.TalbotWatkin
Added relevant fields from FBodyInstance to the FoliageType customizations.
#jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties
Change 2948397 on 2016/04/19 by Andrew.Rodham
Moved FSlateIcon definition to SlateCore
It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale.
Change 2948805 on 2016/04/19 by Andrew.Rodham
Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used.
- Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name.
- This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic.
#jira UE-26502
Change 2950658 on 2016/04/20 by Alexis.Matte
#jira UE-24333
Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix
Change 2950663 on 2016/04/20 by Alexis.Matte
#jira UE-29582
When exporting to fbx we have to export each material instance as one fbx material
Change 2951240 on 2016/04/21 by Alexis.Matte
#jira UE-28473
Make sure light are render properly after importing a fbx scene
Change 2951421 on 2016/04/21 by Alexis.Matte
#jira UE-29773
fbx skeletalmesh import now support mesh hierarchy
Change 2955873 on 2016/04/26 by Richard.TalbotWatkin
PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist)
Change 2955965 on 2016/04/26 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2956717 on 2016/04/26 by Andrew.Rodham
Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations
#jira UE-26968
Change 2956822 on 2016/04/26 by Andrew.Rodham
Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame
#jira UE-7777
Change 2956931 on 2016/04/26 by Nick.Darnell
New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger.
Change 2956932 on 2016/04/26 by Nick.Darnell
Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress.
Change 2957164 on 2016/04/26 by Nick.Darnell
Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future.
Change 2957165 on 2016/04/26 by Nick.Darnell
Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets.
#jira UE-28456
Change 2957510 on 2016/04/27 by Nick.Darnell
PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts)
#jira UE-28763
Change 2957511 on 2016/04/27 by Andrew.Rodham
Editor: Make favorites button on details panel non-focusable
- This was preventing users being able to tab between value fields on the details panel
Change 2957610 on 2016/04/27 by Nick.Darnell
PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts)
#jira UE-24190
Change 2957667 on 2016/04/27 by Jamie.Dale
Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location
#jira OR-18634
Change 2958035 on 2016/04/27 by Nick.Darnell
Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required.
Change 2958272 on 2016/04/27 by Jamie.Dale
Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way
This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName.
#jira UE-12096
Change 2958348 on 2016/04/27 by Jamie.Dale
PR #2282: Slate font shutdown order fix (Contributed by FineRedMist)
Change 2958352 on 2016/04/27 by Jamie.Dale
Fixed the subtitle manager updating the wrong list of subtitles
#jira UE-29511
Change 2958390 on 2016/04/27 by Jamie.Dale
Removed some old placement-new style array insertions
Change 2959360 on 2016/04/28 by Richard.TalbotWatkin
Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]
Change 2959724 on 2016/04/28 by Cody.Albert
Merging hardware survey gating logic from 4.10
#jira UE-28666
Change 2959807 on 2016/04/28 by Cody.Albert
Removed deprecated function call
#jira UE-28666
Change 2959894 on 2016/04/28 by Cody.Albert
Fix for scroll offset being clamped by content size, not scroll max
#jira UE-20676
Change 2960048 on 2016/04/28 by Jamie.Dale
Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue
#jira UE-12096
Change 2960782 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2960885 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961170 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961171 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961173 on 2016/04/29 by Jamie.Dale
Removed some inline duplication on the specialized template functions
#jira UE-12096
Change 2963124 on 2016/05/02 by Jamie.Dale
FExternalDragOperation can now contain both text and file data at the same time
This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time.
#jira UE-26585
Change 2963175 on 2016/05/02 by Jamie.Dale
Updated some font editor tooltips to be more descriptive
#jira UE-17429
Change 2963290 on 2016/05/02 by Jamie.Dale
The Localise UAT command can now be run with a null localisation provider
Change 2963305 on 2016/05/02 by Jamie.Dale
Fixed minor typo
Change 2963402 on 2016/05/02 by Jamie.Dale
Cleaned up all the current localization key conflicts and warnings from gathering Engine code
#jira UE-25833
Change 2963415 on 2016/05/02 by Jamie.Dale
Rephrased a message that could generate a CIS warning
#jira UE-25833
Change 2964184 on 2016/05/03 by Jamie.Dale
Fixed duplicate "Font" entry in asset picker menu
This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI.
We also now make sure the factories are sorted by display name before being shown in the UI.
#jira UE-24903
Change 2966108 on 2016/05/04 by Nick.Darnell
Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules.
Change 2966113 on 2016/05/04 by Nick.Darnell
[Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now.
Change 2966121 on 2016/05/04 by Jamie.Dale
Config writing improvements when dealing with property values
This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted.
This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it.
FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case.
UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge).
Change 2966122 on 2016/05/04 by Jamie.Dale
Added a setting to control dialogue wave audio filenames
Change 2966481 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2966887 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2967488 on 2016/05/05 by Ben.Marsh
Changes to support packaging plugins from the editor.
* UBT now has an option to explicitly disable hot-reloading in any circumstances.
* When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game).
* When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory.
* An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present.
Change 2967947 on 2016/05/05 by Nick.Darnell
PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic)
#jira UE-30371
Change 2968333 on 2016/05/05 by Jamie.Dale
Fixed MultiLine not working with arrays of string or text properties
- The detail customizations for FString and FText properties now read the meta-data off the correct property.
- The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties.
- Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor.
- Fixed the default values panel in the UDS editor having a title area.
#jira UE-30392
Change 2968999 on 2016/05/06 by Jamie.Dale
Fixed infinite loop in the editor if a directory that is being watched is deleted
#jira UE-30172
Change 2969105 on 2016/05/06 by Richard.TalbotWatkin
Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action.
#jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option
Change 2969440 on 2016/05/06 by Jamie.Dale
Significant performance improvements when pasting a large amount of text
#jira UE-19712
Change 2969619 on 2016/05/06 by Andrew.Rodham
Auto-reimport is now disabled inside an editor running in unattended mode
Change 2969621 on 2016/05/06 by Jamie.Dale
Added the ability to override the subtitle used on a dialogue wave
This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player.
#jira UETOOL-795
Change 2970588 on 2016/05/09 by Chris.Wood
Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic()
[UE-26958] - GitHub 2056 : Fixing typo in the operator
#2056
Change 2971151 on 2016/05/09 by Chris.Wood
Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful.
[UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result.
[UE-26575] - GitHub 2030 : Add error-severity message to log on ensure.
PR #2030
Change 2971267 on 2016/05/09 by Alexis.Matte
Wrong parameter when calling GetImportOptions
#jira UE-30299
Change 2972073 on 2016/05/10 by Richard.TalbotWatkin
Fixed UModel methods which make surfaces as modified.
#jira UE-28831 - Unable to undo material placement on BSP
Change 2972329 on 2016/05/10 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2972887 on 2016/05/10 by Alexis.Matte
#jira UE-30167
We now import the geometric transform also when we uncheck the absolute transform in the vertex.
Change 2973664 on 2016/05/11 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2973717 on 2016/05/11 by Nick.Darnell
Fixing compiler issues from main merge.
#jira UE-30590
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
[CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
|
|
|
const FString ParentClassPath = InAssetData.GetTagValueRef<FString>("ParentClass");
|
|
|
|
|
if(!ParentClassPath.IsEmpty())
|
2014-10-13 06:46:06 -04:00
|
|
|
{
|
Copying //UE4/Dev-Editor to //UE4/Dev-Main (Source: //UE4/Dev-Editor @ 2973866)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2937390 on 2016/04/07 by Cody.Albert
#jira UE-29211
Fixed slider to properly bubble unhandled OnKeyDown events
Change 2939672 on 2016/04/11 by Richard.TalbotWatkin
Made a change to how file check out notifications work. Now the dirty package state is processed at the end of every tick, meaning that packages which are dirtied and then cleaned again are not processed. This fixes an issue where a number of child blueprints were flagged as needing checkout when a parent blueprint was compiled. This also allows multiple packages which are dirtied at the same time to be treated as one transaction.
#jira UE-29193 - "Files need check-out" prompt spams Blueprint users
Change 2939686 on 2016/04/11 by Richard.TalbotWatkin
A number of further improvements to mesh vertex color painting:
* Lower LODs are now automatically fixed up for instances which were created in a previous bugged version of the engine.
* Since lower LODs cannot currently have their vertex colors edited, their vertex colors are always derived from LOD0.
* Fixed a bug when building lower LODs so that vertices in neighboring octree nodes are considered when looking for the nearest vertex from LOD0 which corresponds.
* Fixed issue where static meshes with imported LODs would not have the lower LODs' override colors set when "Copy instance vertex colors to source mesh" was used (static meshes with generated LODs were always getting correct override colors).
#jira UE-28563 - Incorrectly displayed LOD VertexColor until paint mode is selected
Change 2939906 on 2016/04/11 by Nick.Darnell
Automation - Adding several enhancements to the automation framework and improving the UI.
* Tests in the UI now have a link to the source and line where they orginate.
* There's now a general purpose latent lambda command you can use to run arbitrary code latently.
* Added Inlined AddCommand for regular and networked commands to the base automation class, to avoid the use of the macro, which prevents breakpoints from working in lambda code.
* Front end now has better column displays offering more room to the test name
* Changed several events to the automation controller to multicast delegates so that many could hook them.
* The UI now refreshes the selection after tests finish so that the output log updates.
Change 2939908 on 2016/04/11 by Nick.Darnell
Automation - The editor import/export tests are now a complex test and actually sperate out all the tests that can be run, some trickiness was required on the filenames so that they didn't expand into more child tests in the UI. (replacing .'s with _'s)
Change 2940028 on 2016/04/11 by Nick.Darnell
Automation - Removing the search box from the toolbar. It's now inlined above the test tree. Tweaking the padding to make it look more other windows and make everything not look so squished. Recursive expansion now works on tests.
Change 2940066 on 2016/04/11 by Nick.Darnell
Automation - Moving the filter group dropdown out of the toolbar and onto the line with the search box above the treeview - additional tweaks to it.
Change 2940092 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940093 on 2016/04/11 by Jamie.Dale
PR #2248: Datatable select next row (Contributed by FineRedMist)
Change 2940157 on 2016/04/11 by Jamie.Dale
Fixing FTextTest due to some changes made to how currency is formatted
Change 2940694 on 2016/04/12 by Richard.TalbotWatkin
Fixed issue where vertex override colors were not being propagated correctly for generated lower LODs.
#jira UE-29360 - Override Colors not propagated correctly to generated lower LODs
Change 2942379 on 2016/04/13 by Richard.TalbotWatkin
Fixed issue where entering PIE while selecting an actor in Mesh Paint mode could lead to a MeshPaintStaticMeshAdapter holding onto an invalid pointer to an old mesh component, and causing a crash upon leaving the mode. This can happen because, when loading a new streaming level, the proxy actor can be selected when starting PIE, which will subsequently be added to the tool's internal lists. This needs to be added as a GC reference so that it can be NULLed when forcibly destroyed.
#jira UE-29345 - Crash occurs exiting the editor after enabling mesh paint mode and PIEing
Change 2942947 on 2016/04/13 by Richard.TalbotWatkin
Fixed crash when pasting a material function call node from one project to another in which it is not defined.
#jira UE-27087 - Crash when pasting MaterialFunctionCall expressions into the material editor between projects
Change 2943452 on 2016/04/14 by Richard.TalbotWatkin
Updated F4 debug key binding to match what's in ShowFlags.cpp
PR #2197 (contributed by mfortin-bhvr)
Change 2943824 on 2016/04/14 by Alexis.Matte
#jira UE-29090
Make sure we cannot open the color picker when a property is edit const
Change 2943841 on 2016/04/14 by Alexis.Matte
#jira UE-28924
tooltip was add for every hierarchy import option
Change 2943927 on 2016/04/14 by Alexis.Matte
#jira UE-29423
Add Obj support for scene importer
Github PR #2272
Change 2943967 on 2016/04/14 by Richard.TalbotWatkin
Added relevant fields from FBodyInstance to the FoliageType customizations.
#jira UE-20138 - FoliageType has a FBodyInstance but only shows Collision Presets and not other FBodyInstance properties
Change 2948397 on 2016/04/19 by Andrew.Rodham
Moved FSlateIcon definition to SlateCore
It was previously declared as SLATE_API, despite its header residing inside SlateCore. Reviewed by Jamie Dale.
Change 2948805 on 2016/04/19 by Andrew.Rodham
Editor: Deprecated FName UEdGraphNode::GetPaletteIcon(FLinearColor&); in favor of FSlateIcon UEdGraphNode::GetIconAndTint(FLinearColor&); to allow for icons in external style sets to be used.
- Previously, all icons were assumed to reside within FEditorStyle, which is not the case and would create broken icons in the graph editor. All relevant code has been updated to use FSlateIcon structures instead of a simple name.
- This change required a significant overhaul to FClassIconFinder to support FSlateIcons. To keep the API clean, FSlateIconFinder now deals with FSlateIcon class icon finding operations, and FClassIconFinder for the most part just adds actor specific logic.
#jira UE-26502
Change 2950658 on 2016/04/20 by Alexis.Matte
#jira UE-24333
Skinxx workflow, we now output an error if there is mix of material with skinxx and some with no skinxx suffix
Change 2950663 on 2016/04/20 by Alexis.Matte
#jira UE-29582
When exporting to fbx we have to export each material instance as one fbx material
Change 2951240 on 2016/04/21 by Alexis.Matte
#jira UE-28473
Make sure light are render properly after importing a fbx scene
Change 2951421 on 2016/04/21 by Alexis.Matte
#jira UE-29773
fbx skeletalmesh import now support mesh hierarchy
Change 2955873 on 2016/04/26 by Richard.TalbotWatkin
PR #2225: Fix working package directory from the launch profiles (Contributed by projectgheist)
Change 2955965 on 2016/04/26 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2956717 on 2016/04/26 by Andrew.Rodham
Editor: World Outliner now correctly calls ProcessEditDelete on editor modes that have asked to process delete operations
#jira UE-26968
Change 2956822 on 2016/04/26 by Andrew.Rodham
Editor: Fixed actors not being removed from the scene outliner when they are added and removed on the same frame
#jira UE-7777
Change 2956931 on 2016/04/26 by Nick.Darnell
New Module - UATHelper - Moving the UAT launching code from the MainFrame module into a reusable module other modules can trigger.
Change 2956932 on 2016/04/26 by Nick.Darnell
Plugins - Now allowing you to package a plugin from the plugin browsing view. Still work in progress.
Change 2957164 on 2016/04/26 by Nick.Darnell
Hot Reload - Fixing hot reload, it no longer creates a temporary copy of the module manager. Making the copy constructor private on the module manager to prevent this in the future.
Change 2957165 on 2016/04/26 by Nick.Darnell
Fixing the Editor Mode plugin sample, it no longer provides a bad starting example for where to create your widgets.
#jira UE-28456
Change 2957510 on 2016/04/27 by Nick.Darnell
PR #2198: Git Plugin implement the Sync operation to update local files using the git pull --rebase command (Contributed by SRombauts)
#jira UE-28763
Change 2957511 on 2016/04/27 by Andrew.Rodham
Editor: Make favorites button on details panel non-focusable
- This was preventing users being able to tab between value fields on the details panel
Change 2957610 on 2016/04/27 by Nick.Darnell
PR #1836: Git plugin: make initial commit when initializing new project (Contributed by SRombauts)
#jira UE-24190
Change 2957667 on 2016/04/27 by Jamie.Dale
Fixed crash that could happen in FTextLayout::GetLineViewIndexForTextLocation if passed a bad location
#jira OR-18634
Change 2958035 on 2016/04/27 by Nick.Darnell
Fixing the DesignerRebuild flag detection so that we can just refresh the slate widget without recreating the preview UObject, which causes the destruction of the details panel, and the slate widget recreation was the only part that was required.
Change 2958272 on 2016/04/27 by Jamie.Dale
Added FAssetData::GetTagValue to handle getting asset tag values in a type-correct way
This allows type-conversion using LexicalConversion, and also has specializations for FString, FText, and FName.
#jira UE-12096
Change 2958348 on 2016/04/27 by Jamie.Dale
PR #2282: Slate font shutdown order fix (Contributed by FineRedMist)
Change 2958352 on 2016/04/27 by Jamie.Dale
Fixed the subtitle manager updating the wrong list of subtitles
#jira UE-29511
Change 2958390 on 2016/04/27 by Jamie.Dale
Removed some old placement-new style array insertions
Change 2959360 on 2016/04/28 by Richard.TalbotWatkin
Fixed potential crash when mesh painting actors whose geometry adapters are no longer registered.
#jira UE-29615 - [CrashReport] UE4Editor_MeshPaint!FEdModeMeshPaint::DoPaint() [meshpaintedmode.cpp:1127]
Change 2959724 on 2016/04/28 by Cody.Albert
Merging hardware survey gating logic from 4.10
#jira UE-28666
Change 2959807 on 2016/04/28 by Cody.Albert
Removed deprecated function call
#jira UE-28666
Change 2959894 on 2016/04/28 by Cody.Albert
Fix for scroll offset being clamped by content size, not scroll max
#jira UE-20676
Change 2960048 on 2016/04/28 by Jamie.Dale
Added FAssetData::GetTagValueRef to go along with FAssetData::GetTagValue
#jira UE-12096
Change 2960782 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2960885 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961170 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961171 on 2016/04/29 by Jamie.Dale
Updating code to use the new FText aware asset registry tag functions
#jira UE-12096
Change 2961173 on 2016/04/29 by Jamie.Dale
Removed some inline duplication on the specialized template functions
#jira UE-12096
Change 2963124 on 2016/05/02 by Jamie.Dale
FExternalDragOperation can now contain both text and file data at the same time
This better mirrors what the OS level drag-and-drop operations are capable of, and some applications will actually give you both bits of data at the same time.
#jira UE-26585
Change 2963175 on 2016/05/02 by Jamie.Dale
Updated some font editor tooltips to be more descriptive
#jira UE-17429
Change 2963290 on 2016/05/02 by Jamie.Dale
The Localise UAT command can now be run with a null localisation provider
Change 2963305 on 2016/05/02 by Jamie.Dale
Fixed minor typo
Change 2963402 on 2016/05/02 by Jamie.Dale
Cleaned up all the current localization key conflicts and warnings from gathering Engine code
#jira UE-25833
Change 2963415 on 2016/05/02 by Jamie.Dale
Rephrased a message that could generate a CIS warning
#jira UE-25833
Change 2964184 on 2016/05/03 by Jamie.Dale
Fixed duplicate "Font" entry in asset picker menu
This was caused by PropertyCustomizationHelpers::GetNewAssetFactoriesForClasses using CanCreateNew rather than ShouldShowInNewMenu, as UFont has two factories, but one is supposed to be hidden from the UI.
We also now make sure the factories are sorted by display name before being shown in the UI.
#jira UE-24903
Change 2966108 on 2016/05/04 by Nick.Darnell
Engine - Rearranging the order of ELoadingPhase's enums so that they match the loading order of modules.
Change 2966113 on 2016/05/04 by Nick.Darnell
[Engine Loop Change] UEngine now defines a Start() function, that subclasses can use to start game related things after initialization of the engine. This is done so that after the Init() call on UEngine, we can then perform a module load for the ELoadingPhase::PostEngineInit phase of loading, then inform the UEngine that it's time to start the game. Therefore, UGameEngine now tells the GameInstance to Start during this phase now.
Change 2966121 on 2016/05/04 by Jamie.Dale
Config writing improvements when dealing with property values
This updates FConfigFile::ShouldExportQuotedString to make sure that a property value containing any characters that FParse::LineExtended will consume when parsing back in the config file (such as { and }, or a trailing \) cause the string to be quoted.
This also adds FConfigFile::GenerateExportedPropertyLine to generate the INI key->value lines in a consistent and correctly escaped way, and makes sure that everything that writes out lines to a config file uses it.
FConfigCacheIni::SetString and FConfigCacheIni::SetText have been updated to update the value even if it only differs by case.
UObject::SaveConfig and UObject::LoadConfig have had some code whitespace fix-up (from a bad merge).
Change 2966122 on 2016/05/04 by Jamie.Dale
Added a setting to control dialogue wave audio filenames
Change 2966481 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2966887 on 2016/05/04 by Jamie.Dale
PR #2336: BUGFIX: Selection of objects in the Content browser from WorldSettings (Contributed by projectgheist)
Change 2967488 on 2016/05/05 by Ben.Marsh
Changes to support packaging plugins from the editor.
* UBT now has an option to explicitly disable hot-reloading in any circumstances.
* When running with -module arguments for a monolithic target, UBT will no longer try to relink the executable in source builds (so it's possible to compile plugin libs outside of an installed engine build without having already built UE4Game).
* When packaging, a temporary host project is always generated in the output directory to avoid invalidating intermediates in the source directory.
* An empty Config\FilterPlugin.ini file is written out with instructions on how to list additional files to package if it is not already present.
Change 2967947 on 2016/05/05 by Nick.Darnell
PR #2358: Properly display Mip Level Count and Format for UTexture2DDynamic Textures (Contributed by Allegorithmic)
#jira UE-30371
Change 2968333 on 2016/05/05 by Jamie.Dale
Fixed MultiLine not working with arrays of string or text properties
- The detail customizations for FString and FText properties now read the meta-data off the correct property.
- The UDS editor now lets you set the "MultiLine" meta-data on arrays of FString and FText properties.
- Fixed changing the "MultiLine" flag on a UDS property not rebuilding the default value editor.
- Fixed the default values panel in the UDS editor having a title area.
#jira UE-30392
Change 2968999 on 2016/05/06 by Jamie.Dale
Fixed infinite loop in the editor if a directory that is being watched is deleted
#jira UE-30172
Change 2969105 on 2016/05/06 by Richard.TalbotWatkin
Fixed issue where opening a submenu while the parent menu had a text box focused would lead to a crash. The graph node comment text widget now only dismisses all menus if the text commit info implies that it was committed by some user action.
#jira UE-29086 - Crash When Typing a Node Comment and Hovering Over the Alignment Option
Change 2969440 on 2016/05/06 by Jamie.Dale
Significant performance improvements when pasting a large amount of text
#jira UE-19712
Change 2969619 on 2016/05/06 by Andrew.Rodham
Auto-reimport is now disabled inside an editor running in unattended mode
Change 2969621 on 2016/05/06 by Jamie.Dale
Added the ability to override the subtitle used on a dialogue wave
This is useful for effort sounds, plus some other cases, such as characters speaking in a foreign language not known to the player.
#jira UETOOL-795
Change 2970588 on 2016/05/09 by Chris.Wood
Fix typo in operator expression in UEndUserSettings::SetSendAnonymousUsageDataToEpic()
[UE-26958] - GitHub 2056 : Fixing typo in the operator
#2056
Change 2971151 on 2016/05/09 by Chris.Wood
Logging ensure fails as errors. Automated tests with ensure fails will be unsuccessful.
[UE-19579] - If an ensure() fails within an automated test, the test can still show a positive result.
[UE-26575] - GitHub 2030 : Add error-severity message to log on ensure.
PR #2030
Change 2971267 on 2016/05/09 by Alexis.Matte
Wrong parameter when calling GetImportOptions
#jira UE-30299
Change 2972073 on 2016/05/10 by Richard.TalbotWatkin
Fixed UModel methods which make surfaces as modified.
#jira UE-28831 - Unable to undo material placement on BSP
Change 2972329 on 2016/05/10 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2972887 on 2016/05/10 by Alexis.Matte
#jira UE-30167
We now import the geometric transform also when we uncheck the absolute transform in the vertex.
Change 2973664 on 2016/05/11 by Nick.Darnell
Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
Change 2973717 on 2016/05/11 by Nick.Darnell
Fixing compiler issues from main merge.
#jira UE-30590
Change 2973846 on 2016/05/11 by Jamie.Dale
Exposed FConfigValue::ExpandValue and added FConfigValue::CollapseValue
These are both static and can be used to expand or collapse the macros used in our config files (mostly when dealing with paths), in code that has to deal with the config system, but isn't internal to the config system (mostly things that deal with default configs outside of UObjects).
The old non-static version of FConfigValue::ExpandValue is now FConfigValue::ExpandValueInternal, which just calls FConfigValue::ExpandValue on SavedValue and ExpandedValue.
This also changes some code that was using FString.Replace to use FString.ReplaceInline. This reduces allocations, and also allows us to avoid another string comparison to see whether the strings are identical (as ReplaceInline returns the number of replacements that were made).
Change 2973847 on 2016/05/11 by Jamie.Dale
Changing the loading phase in the localization dashboard now writes to the default config
#jira UE-30482
Change 2973866 on 2016/05/11 by Jamie.Dale
Deprecated some functions that were taking an unused position.
These unused parameters caused confusion and lead to UE-30276. The old versions have been deprecated, and new versions without those parameters have been added. Existing code has been updated to call the non-deprecated version.
- FViewportFrame::ResizeFrame
- FSceneViewport::ResizeFrame
- FSceneViewport::ResizeViewport
[CL 2973886 by Nick Darnell in Main branch]
2016-05-11 11:05:13 -04:00
|
|
|
UClass* ParentClass = FindObject<UClass>(NULL, *ParentClassPath);
|
2014-10-13 06:46:06 -04:00
|
|
|
if(ParentClass == UEditorTutorial::StaticClass())
|
|
|
|
|
{
|
|
|
|
|
bNeedsRefresh = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#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]
2016-11-23 15:48:37 -05:00
|
|
|
#undef LOCTEXT_NAMESPACE
|