#rnx
#rb none
#ROBOMERGE-SOURCE: CL 10869241 via CL 10869527 via CL 10869904
#ROBOMERGE-BOT: (v613-10869866)
[CL 10870586 by ryan durand in Main branch]
#lockdown Nick.Penwarden
#rb none
============================
MAJOR FEATURES & CHANGES
============================
Change 3851142 by Robert.Manuszewski
When BP clustering is enabled, make sure to add the template to the BP cluster when replacing it.
Change 3853797 by Ben.Marsh
BuildGraph: Add a <Trace> element, which allows logging messages after the string is parsed (as opposed to the Log task, which logs them at runtime). Useful for debugging macro expansion, etc...
Also add a -showdiagnostics parameter, to have diagnostic messages output even when running with the -listonly option.
Change 3857540 by Graeme.Thornton
Properly process the uexp file for a umap asset when generating a pak patch. Stop those uexp files being included in the patch even when they haven't changed
Change 3860062 by Steve.Robb
Fix for FString::Reset()'s buffer not being an empty null-terminated string (affects FString::ParseIntoArray, for example).
Change 3860138 by Steve.Robb
Fix for FString::ParseIntoArray() for when string memory has been allocated but has no characters.
Change 3860273 by Steve.Robb
Tidy up of FHotReloadClassReinstancer::FCDOWriter to not do stuff in constructors.
Change 3863203 by Steve.Robb
Crash fix for UObjects whose constructors are defined as = default;, which would re-null the UObject state (ClassPrivate, OuterPrivate etc.).
See: https://udn.unrealengine.com/questions/412930/crash-due-to-default-constructor.html
Change 3864588 by Graeme.Thornton
Crypto Keys Improvements
- Removed UAT command line params for encryption. Centrally configured by the editor settings now.
- UAT staging now creates a small json file containing the keys and settings used for encryption and signing and stores it in the build metadata
- Minor refactoring of UAT encryption processing to use the new cryptokeys json file
- UnrealPak can be told to get its encryption settings from a json crypto file with the "-CryptoKeys=<filename>"
- UnrealPak can now accept a "PatchCryptoKeys=<filename" parameter which gives it a filename to a cryptokeys json file that it can use to unpack the patch reference paks
Change 3864691 by Robert.Manuszewski
Don't add objects that are in root set to GC clusters to prevent them from keeping the clusters alive forever.
Change 3864744 by Robert.Manuszewski
Added the ability to get the actual filename of the log file FOutputDeviceFile writes to.
Change 3864816 by Graeme.Thornton
TBA: Minor formatting improvements to textasset commandlet
Change 3868939 by Graeme.Thornton
TBA: If -outputPath isn't supplied to TextAsset commandlet, output converted files to the {ProjectSaved}/TextAssets directory
Change 3869031 by Graeme.Thornton
TBA: Changed timing logs in TextAsset commandlet to be Display so we can see them in the EC log
Change 3871802 by Steve.Robb
Class cast flags and property flags are now visible in the debugger.
Change 3871863 by Robert.Manuszewski
Serializing object will now be passed to GC so that it can be logged in case the referenced objects is garbage.
Change 3874413 by Steve.Robb
Algo::MinElement and Algo::MaxElement, for finding the minimum and maximum element in a range, and *By versions which take projections.
TRangePointerType moved to its own file and used in Algo::MinElement and Algo::MaxElement.
Change 3874457 by Ben.Marsh
When spawning child processes, only allow them to inherit the writable ends of the stderr and stdout pipe. Fixes an issue related to AutomationTool hanging when the editor closes after running automation tests.
The editor launches ADB.EXE (Android Debug Bridge) on editor startup, which forks itself to initialize a server. Even though the child process has its own stdout and stderr pipes, it also inherits the pipes for the editor. When run from C#, as we do for automation tests, Process.WaitForExit() waits for all pipes to be closed before returning. This can't happen if the forked ADB instance still has a reference to the editor's pipes.
Change 3876435 by Robert.Manuszewski
Don't add root set objects to level actor container to prevent situations where clusters are kept alive forever
Change 3878762 by Robert.Manuszewski
Fixing potential LinkerLoad leak when a package that still has a linker associated with it is being destroyed.
Change 3878850 by Robert.Manuszewski
SerializePreloadDependencies will now serialize raw data into the array instead of serializing one element at a time to speed up serialization performance.
Change 3881331 by Graeme.Thornton
TBA: SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter
Change 3886983 by Ben.Marsh
UGS: Fix notification window not expanding to fit long captions.
Change 3887006 by Ben.Marsh
UGS: Change modal dialog to regular window style to avoid weird alignment issues under Windows 10.
Change 3887500 by Ben.Marsh
UGS: Add support for grouping build badges by a prefix. Badges such as "Foo:Bar1", "Foo:Bar2" will be grouped together (with "Foo:" stripped from the displayed badge names).
Also add a separate column showing the type of each change, rather than including it in the CIS column, and change badges to a more angular Windows 10 style.
Change 3887513 by Ben.Marsh
UGS: Fix badge text drawing outside the clipping bounds.
Change 3888010 by Josh.Engebretson
Fix UVS logging to UnrealVersionSelector/Saved/Logs and instead use project's log path
#jira none
Change 3888418 by Ben.Marsh
UGS: Add a cache for computed badge layout information. Improves responsiveness when redrawing.
Change 3889457 by Steve.Robb
GitHub #4457 : Display abbreviations properly when converting FNames to display string
#jira UE-54611
Change 3889547 by Ben.Marsh
UGS: Add an extensible method for adding arbitrary badges to the right of the "description" column, by running a regular expression over the changelist description.
Epic uses a "#tag" style annotations in changelist descriptions and Perforce triggers to verify them. "#jira" is used to link a changelist to an issue tracked in Jira, for example. A matcher to add a badge next to every changelist with a #jira tag, and link to the corresponding issue in Jira, could be set up with an addition to the project's Build/UnrealGameSync.ini file like this:
[Badges]
+DescriptionBadges=(Pattern="(?i)#\\s*jira\\s*:?\\s+([A-Za-z]+-[0-9]+)", Name="$1", Group="Jira", Color="#c0c0c0", HoverColor="#e0e0e0", Url="https://jira.it.epicgames.net/browse/$1")
The "Pattern" attribute specifies the regex to match, and may capture portions of the matched text to be substituted later. "Label" specifies the label to appear on the badge. "Group" specifies an arbitrary identifier used to group related badges together rather than separating them with whitespace. "Color" and "HoverColor" specify hex RGB colors for the badges. "Url" specifies the path to open with a C# Process.Open call if the badge is clicked.
Change 3889726 by Ben.Marsh
UGS: Fix description badges that don't have any associated URL.
Change 3889995 by Ben.Marsh
UGS: Fix issue where popup menus can create top level windows in the taskbar. Seemlingly caused by capturing mouse before the window has been activated - removed capture code, and replaced with handling of OnMouseLeave() event instead.
Change 3890007 by Ben.Marsh
UGS: Add a caption underneath the project logo which shows the current stream, to make it more obvious.
Change 3890057 by Ben.Marsh
UGS: Fix repainting glitch when resizing window; bounds for status panel lines was not being reset correctly.
Change 3891069 by Robert.Manuszewski
Fixing a crash in MallocBinned2 when running with malloc profiler enabled.
Change 3891084 by Steve.Robb
Back out changelist 3881331 because it's causing cook errors.
Change 3891100 by Ben.Marsh
UGS: Add support for a per-branch "message of the day"-style feature. Messages can be specified in a project's config file in Perforce (eg. <ProjectDir>/Build/UnrealGameSync.ini) as follows:
[//UE4/Main/Samples/Games/ShooterGame.uproject]
Message=:alert: Lockdown for fixes is **5pm on Friday**. Only fixes for the 2.0 release should be submitted to this branch. [34 issues](https://jira.it.epicgames.net) are remaining as of 2/15.
A limited subset of Markdown is supported: [web links](http://www.google.com), *italic*, _italic_, **bold**, __bold__. Icons will be supported through :icon: syntax; the only icon currently available is :alert:
Change 3891346 by Steve.Robb
TSharedPtr::operator bool, and some usage of it.
Change 3891787 by Steve.Robb
Fix for buffer overflow in FDebug::LogFormattedMessageWithCallstack().
Change 3892379 by Ben.Marsh
UGS: Fix notification window containing the group fix for each build type.
Change 3892400 by Ben.Marsh
UGS: Shrink the size of the alert panel.
Change 3892496 by Ben.Marsh
UGS: Dim badges for changes which aren't eligable for syncing.
Change 3893932 by Steve.Robb
Re-removal of SetShouldHandleAsWeakRef, which was originally removed in CL# 3437205.
Change 3895872 by Ben.Marsh
UGS: Show the stream name in tab labels by default.
Change 3896366 by Ben.Marsh
UGS: Automatically resize columns when the main window is resized, and allow specifying desired column widths for projects that have a large number of CIS badges.
Columns are now resized proportionally, clamped to a minimum size. Columns will automatically expand up to a desired maximum size, though can be explicitly resized larger if necessary. Columns will not be resized if they are already larger than the window can show, or smaller than the window has space to show.
Change 3896367 by Ben.Marsh
UGS: UI tweaks - change and time columns are now centered, "Unknown" badge is displayed until a change's type has been determined, increase height of status panel.
Change 3896425 by Ben.Marsh
UGS: Speculative fix for race condition on clients displaying "under investigation" state. If the DB event is received before a change where an investigation is cancelled is polled from Perforce, we will exclude the resolve event from the list of active investigations.
Change 3896461 by Ben.Marsh
UGS: Add an option to allow setting a tint color to be applied to the status panel, to allow identifying streams more easily. To use, add a setting similar to the following to a project's Build/UnrealGameSync.ini file:
[//UE4/Main/Samples/Games/ShooterGame/ShooterGame.uproject]
StatusPanelColor=#dcdcf0
Change 3899530 by Ben.Marsh
Add unified syntax for overriding branch specific settings. Checks branch settings first, then [Default] section.
Change 3901164 by Ben.Marsh
UGS: Add a class to store all the resources for the status panel.
Change 3901165 by Graeme.Thornton
TBA: Attempt #2 at submitting the text asset saving code. SavePackage rejigged to write all header information in terms of FStructuredArchive, with all exports written through an FArchive adapter. Minimal amount of structured archive serialization functions added to allow this data to be written
Change 3901301 by Ben.Marsh
UGS: Add support for reading the latest version of the project config file from Perforce. Some settings should be read depending on the CL you are synced to (eg. build steps), whereas others (MOTD, branch status) should always use the latest version. Will read the local version if checked out, to allow testing local changes.
Change 3902454 by Ben.Marsh
UGS: Fix logo not being redrawn in the correct position when starting to sync.
Change 3903416 by Ben.Marsh
UGS: Group badges explicitly through INI file rather than by expecting name to contain ':'.
Change 3904154 by Josh.Engebretson
Adding Breakpad to ThirdParty sources (Git Commit: 49907e1c3457570f56d959ae26dec6c3a5edd417 https://chromium.googlesource.com/breakpad/breakpad)
#jira UE-55442
Change 3904648 by Ben.Marsh
UGS: Remove files from the workspace that are excluded by the sync filter.
The user's config file stores a hash of the last sync filter. During syncing, if this hash doesn not match the previous value, we enumerate all the files in the #have list and remove anything masked out by the filter.
#jira UE-47335
Change 3905442 by Steve.Robb
Change of the ConvertFromType() multi-bool return value to a more descriptive enum.
Some return values here do not make sense - this is because the existing logic is being preserved and will be fixed in a separate change.
Change 3905629 by Ben.Marsh
UGS: Fix race condition between two child processes starting on different threads, and inheriting the other's intended stdout/stderr pipes. This prevents pipes being closed when one of the child processes shuts down, and causes waits on the read ends of those pipes to continue indefinitely.
Change 3906447 by Steve.Robb
Rename EConvertFromTypeResult enumerators.
Change 3906574 by Steve.Robb
Crash fix for container conversion failure during tagged property import.
Change 3909255 by Daniel.Lamb
Fixed issue with DLCpackaging crashing on windows
#jira UE-42880
#test EngineTest windows
Change 3909270 by Steve.Robb
Seek instead of skipping bad properties byte-by-byte.
Change 3909324 by Steve.Robb
Use switch statement instead of repeated if/else.
Change 3909525 by Ben.Marsh
UGS: Use the StudioEditor target when syncing content-only Enterprise projects.
Change 3911754 by Daniel.Lamb
Fix for building pak patches.
#jira UE-55340
Change 3911942 by Robert.Manuszewski
Fixing an ensure when MediaPlayer is being constructed from any thread other than the main one.
Change 3913067 by Ben.Marsh
UGS: Allow workspace sync filter categories to re-enable categories that are disabled by the global filter.
Change 3913209 by Ben.Marsh
UGS: Fix incorrect target name when compiling Enterprise projects.
Change 3917358 by Steve.Robb
Fix for GetLen(FString).
Change 3919610 by Ben.Marsh
Put data for CrashReportClient in a PAK file of its own (under Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak). There are a large number of small files required for it to run with loose files, which takes a lot of space on disk (due to cluster sizes), and is unweildy to move around.
CrashReporter UFS files are tracked in a separate dictionary to regular UFS files to allow construction of the additional PAK file.
Change 3921002 by Ben.Marsh
UGS: Add option for syncing all projects in a branch. Off by default. Also add support for masking in additional paths to be synced (eg. one or two extra projects).
Change 3921008 by Ben.Marsh
UGS: Prevent pause waiting for mutual exclusivity when syncing precompiled binaries. We don't need to generate project files or build, so there's no need to wait in line.
Change 3921906 by Steve.Robb
New interpolation functions for quaternions.
https://udn.unrealengine.com/questions/419028/quaternion-interp-to-functions.html
Change 3921978 by Graeme.Thornton
TBA: Make "Loader" member of FLinkerLoad private to prevent use outside of FLinkerLoad. This archive could be something unexpected if the linker is for a text asset package, so we need to stop people accessing it.
Change 3924520 by Graeme.Thornton
UnrealPak: Improve encryption summary log messages
Change 3924522 by Graeme.Thornton
UAT: Add *Encryption.ini to the list of auto-blacklisted config filenames
Change 3924604 by Graeme.Thornton
UnrealPak: If encryption keys are parsed and fail the encrypt/decrypt test, throw a fatal error. The exectutable will have those same keys embedded so there is no point allowing the paks to be created with broken keys.
Change 3924638 by Graeme.Thornton
Crypto: Improvements to parsing of old fashioned encryption.ini settings:
- AES keys that are too long or short (need to be 32 bytes) will now emit a warning when being parsed, and be truncated or expanded before adding to the crypto settings.
- Signing keys will emit an error when they are too long (>64bytes)
- Unrealpak will still assert when invalid settings are passed via the other mechanisms (command line or -encryptionini mode). Settings via the crypto json file should now be sanitized and not cause issues
#jira UE-55080
Change 3924747 by Steve.Robb
Fix for degrees.
Change 3925459 by Chad.Garyet
Adding check to not to attempt to delete autosdk workspace if it doesn't already exist.
Change 3926703 by Ben.Marsh
BuildGraph: Include the path to the XML file when displaying an XML parse error.
Change 3926917 by Ben.Marsh
UBT: Allow overriding the name of the UE4 solution on a branch-specific basis. Useful for switching between multiple UE4 workspaces. Also add support to the editor and UGS for opening the correct solution (determined via a text file saved to Engine/Intermediate/ProjectFiles).
Set the solution name using an entry in BuildConfiguration.xml as follows:
<ProjectFileGenerator>
<MasterProjectName>UE4_Main</MasterProjectName>
</ProjectFileGenerator>
Change 3927683 by Graeme.Thornton
UAT: When building with chunk installs enabled, don't generate the master manifest from each pak creation thread. Just do it once after all pak files have been created. Avoids intermittent crash with multiple threads trying to write the same json file.
Change 3928111 by Ben.Marsh
UBT: Add an option <bMasterProjectNameFromFolder> which allows setting the solution name based on the folder that it's in.
Change 3928926 by Ben.Marsh
BuildGraph: Add support for enumerating content copied by the <CsCompile> task. Also add support for invoking methods on string properties.
Change 3931041 by Graeme.Thornton
TBA: Add option to textasset commandlet to also include engine content in a resave
Change 3931043 by Graeme.Thornton
TBA: Redirect some more FArchive members in FArchiveProxy
Change 3931913 by Ben.Marsh
UGS: Do not create a modal dialog if a scheduled sync is unable to run because the editor is open, and do not run the editor after a scheduled sync.
#jira UE-47368
Change 3932419 by Ben.Marsh
UGS: Allow selecting which projects to sync on schedule. Any projects not already opened at the time the schedule is triggered will be opened first.
#jira UE-33541
Change 3932483 by Ben.Marsh
PR #3949: UnrealGameSync: Add environment path field to custom BuildStep (Contributed by frankie-dipietro-epic)
Change 3932624 by Ben.Marsh
UGS: Add an error dialog when trying to clean the workspace before closing the editor.
#jira UE-42308
Change 3932679 by Ben.Marsh
UGS: Add the date/time to the end of the sync log.
#jira UE-33540
Change 3932705 by Ben.Marsh
UGS: Prompt to close the editor before allowing the user to enter a changelist to sync to, when syncing to a specific changelist.
#jira UE-53182
Change 3933318 by Ben.Marsh
UGS: Detect more programs running before allowing a sync to start, show a dialog listing them, and add an option to ignore if necessary.
#jira UE-33535, UE-53914
Change 3933840 by Graeme.Thornton
TBA: When loading assets, only use structured archive adapters for exports when loading text files.
Change 3936040 by Ben.Marsh
UGS: Rewrite application lifecycle to fix issues with scheduled syncs on background windows not activating, and window jumping to the front after auto-update.
Now uses a custom application context to allow creating separate 'main' windows (first the "opening projects" form, then the regular form), and does not require any forms to be shown in order to be updating in the background.
#jira UE-52870
Change 3940230 by Robert.Manuszewski
Fixes for FilenameToLongPackageName crashes when runnign commandlets
Change 3940240 by Graeme.Thornton
Automated cycling of encryption and signing keys
Change 3940243 by Graeme.Thornton
UAT: CryptoKeys automation script
Change 3940321 by Ben.Marsh
UGS: Add a "Bisect" mode for regressing bugs between a certain range of changes. To use, select a range of changes by holding down the shift key or individual changes by holidng the control key, then right click and select "Bisect these changes". Individual changes in the list can be marked as "Bisect: Pass" or "Bisect: Fail" from the context menu, and syncing will find the next change in the center of the range.
Change 3940538 by Ben.Marsh
UBT: Always determine whether a project is a foreign project or not from the valid .uprojectdirs entries, rather than relying on the user passing -game on the command line.
Change 3941285 by Gil.Gribb
UE4 - Removed PRAGMA_DISABLE_OPTIMIZATION from PlatformFileCommon.h. It was an oversight.
#jira none
Change 3942404 by Graeme.Thornton
Pak Signing:
- Unify naming of pak precacher and signedarchivereader signature check functions to make it easier to search for them in crash reporter
- Format the signedarchivereader output to match the pak precacher
- When signedarchivereader detects a signature check, do the same master signature hash check that the pak precacher does to confirm that the .sig file contents haven't been corrupted since load.
- Add PAK_SIGNATURE_CHECK_FAILS_ARE_FATAL guarded exit to signedarchivereader signature failure
- Optimization for pakprecacher signature checks. Instead of locking the cached files mutex for every decoded signature, take a local copy in blocks of 16. Only re-lock if we need more. Grab the initial batch when setting up. In most cases, reduces the number of locks to 1 per signature check call.
Change 3942825 by Ben.Marsh
UAT: Allow passing -Project<N>=Foo.uproject arguments to the MegaXGE commandlet (eg. -Target1="ShooterGame Win64 Development" -Project1="D:\ShooterGame\ShooterGame.uproject") so it can be used from an installed engine build.
Change 3942839 by Ben.Marsh
UBT: Explicitly query the number of logical processors in the system, to fix Environment.ProcessorCount just returning the number available to the .NET framework. For machines with > 64 cores, processors in a different processor group will not be included in this number.
Change 3943153 by Ben.Marsh
Use the correct logical processor count in ParallelExecutor.
Change 3943210 by Ben.Marsh
UGS: Add an option to the editor arguments window that allows prompting before launching the editor.
Change 3943329 by Ben.Marsh
UGS: Tweak appearance of bisect mode; now shows slightly transparent version of pass/fail icons, and includes remaining CL range in status panel.
Change 3944294 by Ben.Marsh
UGS: Prompt for confirmation before removing any files from the workspace.
Change 3945283 by Ben.Marsh
UGS: Add support for project-specific connection settings, and detection of Perforce login tickets expiring.
Change 3945325 by Ben.Marsh
PR #4558: Changed incorrect obsolete message for ReceiptPropertyList in Modules.cs (Contributed by ryanjon2040)
Change 3947359 by Graeme.Thornton
TBA: Fixes to loading code to allow bulk data to get a pointer from its loader archive to an archive that it can load from at a later date. For binary archives, this is just a pointer back to the same archive, but for text assets it is a pointer to a "child reader" which maintains its own structured archive that is scoped to the current location in the file.
Change 3947360 by Graeme.Thornton
TBA: Added RoundTrip mode to text asset commandlet. Performs determinism tests in project assets to see whether they save deterministically to binary and text files, and also when they are ping-ponged between the two formats.
Change 3949431 by Graeme.Thornton
TBA: Refactored string escaping code in json output formatter FString serializer into a common function which is now used by FName and UObject path serialization too. Fixes some odd cases where an FName contained quotation marks
Change 3950843 by Ben.Marsh
UBT: Add a better error if an XML config file is corrupt.
Change 3952504 by Steve.Robb
GitHub #4545 : UE-55924: CaseSensitive token recognition
#jira UE-55961
#jira UE-55924
Change 3952707 by Graeme.Thornton
Make RandInit(...) log message verbose
Change 3954694 by Ben.Marsh
BuildGraph: Add support for user-defined macros, which can contain a list of buildgraph commands and be expanded within a node. Example script in Engine/Build/Graph/Examples/Macros.xml.
To define a Macro, use the syntax:
<Macro Name="MyTestMacro" Arguments="PrintFirstMessage;PrintSecondMessage" OptionalArguments="PrintThirdMessage">
<Log Message="First message" If="$(PrintFirstMessage)"/>
<Log Message="Second message" If="$(PrintSecondMessage)"/>
<Log Message="Third message" If="'$(PrintThirdMessage)' == 'true'"/>
</Macro>
To expand a macro, use the syntax:
<Expand Name="MyTestMacro" PrintFirstMessage="true" PrintSecondMessage="true"/>
An error will be thrown if any required arguments are missing. Optional arguments default to empty if not specified.
Tasks within a macro are validated by the schema at the point of definition using the same rules as apply to a <Node> element, but properties are not evaluated until the macro is expanded. This allows macros to get and set properties in scope at the point that it is expanded. Local properties that are introduced within a macro do not otherwise leak to the scope that they are expanded.
Change 3954695 by Ben.Marsh
PR #4582: Fixed incorrect condition in StagedFileSystemReference.cs (Contributed by moadib)
#jira UE-56283
Change 3954961 by Ben.Marsh
UBT: Fix issues caused by toolchain assuming that the editor target will be the name of the project with an "Editor" suffix. This is not necessarily the case; the launcher will allow you to instantiate a project with any name, and it will not rename the target files.
#jira UE-56040
Change 3955785 by Steve.Robb
GitHub #4546 : Don't discard errors from zlib inflate
#jira UE-55969
Change 3955940 by Steve.Robb
Redundant and confusing macro check removed.
Change 3956809 by Ben.Marsh
Guard against project paths passed on the command line to UBT being treated as project names. Previous code used to just take the first, which would mask this problem.
Change 3959590 by Steve.Robb
Useless IsIntrinsic constant and COMPILED_IN_INTRINSIC macro removed.
Change 3959864 by Robert.Manuszewski
Increasing the size of permanent object pool to fix warnings in cooked ShooterGame
#jira UE-56001
Change 3960956 by Steve.Robb
New ToCStr function which generically gets a TCHAR* from a 'string-like' argument.
Change 3963628 by Ben.Marsh
UBT: Fix intellisense issues caused by _API macros being defined as DLLIMPORT (imported symbols cause an error if they are defined). Generate intellisense macros with the -Monolithic argument to work around it.
Change 3964349 by Ben.Marsh
Move support for reading .modules files into FModuleManager, and always use it in modular builds. Pathway which discovers modules by filename only is no longer supported for simplicity, and due to platform-specific version checks being unreliable on any platforms other than Windows.
Change 3964821 by Ben.Marsh
Use a custom tool for deleting directories on Windows, to handle paths longer than MAX_PATH correctly.
Change 3965269 by Ben.Marsh
Add more [RequiresUniqueBuildEnvironment] attributes to target settings that modify the global environment.
Change 3966554 by James.Hopkin
#core Removed redundant cast
Change 3966558 by James.Hopkin
#core Removed redundant casts and changed some MakeShareables to MakeShared
#robomerge #fortnite
Change 3966754 by Ben.Marsh
Always use the compiled-in app name when looking for a module manifest. Fixes issues with XGEControlWorker.exe being a renamed copy of ShaderCompileWorker.exe.
Change 3967397 by Ben.Marsh
Fix "copy local" files not being included in build products enumerated from C# projects. Remove files with "Embed Interop Types" from the output list.
Change 3967664 by Ben.Marsh
Update UGS solution to use Visual Studio 2017.
Change 3967838 by Ben.Marsh
Couple of fixes to conform scripts.
Change 3968767 by Ben.Marsh
Compile the name of the module manifest into the executable via a define explicitly set by UBT, rather than guessing at runtime.
Change 3968771 by Ben.Marsh
Fix compiled-in engine path being subject to macro expansion.
#jira UE-56504
Change 3968886 by Robert.Manuszewski
Merging 3914301:
Remove any references we had added to the GGCObjectReferencer during Init
Change 3968978 by Steve.Robb
FString->FName fixes for module names in HotReload.
Change 3969019 by Steve.Robb
Minor refactor of property skipping logic in SerializeTaggedProperties().
Change 3969041 by Steve.Robb
Simplification of Build.version filename construction.
Change 3969049 by Steve.Robb
Always do rolling names when recompiling in editor, because an unloaded module may still actually by loaded-but-abandoned by the executable.
This also removes HotReload's dependence on FModuleManager::GetCleanModuleFilename().
#jira UE-52405
Change 3969120 by Ben.Marsh
Enable errors for using undefined identifiers in conditional expressions by default.
Change 3969161 by Ben.Marsh
Remove log line that should only be included in the log.
Change 3969216 by Steve.Robb
Dump a list of module names - rather than DLL filenames - when the editor detects modules which need recompiling.
This removes the only remaining use of FModuleManager::GetCleanModuleFilename(), which is also now removed.
#jira UE-52405
Change 3969346 by Steve.Robb
Missed some bad FScript(Map/Set)Helper usage from CL# 3698969.
Change 3969598 by Ben.Marsh
Fix warning from VS2017.
Change 3971101 by Graeme.Thornton
TBA: Added RoundTrip mode to TextAsset commandlet which does a sequence of saves and checks for determinism. It will do 3 binary saves, 3 text saves, then 3 alternate binary->text saves.
Change 3971407 by Ben.Marsh
UBT: Fix exception when enumerating toolchains if the directory does not exist yet.
Change 3971523 by Graeme.Thornton
Make compressed block offsets in a pak file store offsets relative to the file header, rather than absolute. Reduces the amount of entropy when data changes in the pak file, making it play nicely with patching
Change 3971613 by Ben.Marsh
Fix Lightmass non-unity compile errors.
Change 3971649 by Ben.Marsh
Disable optimization around FTickerObjectBase constructor on Win32 due to ICE.
Change 3971829 by Ben.Marsh
Fix deprecated header warning from PVS Studio.
Change 3972503 by Ben.Marsh
Changes to build failure notifications:
* Only people that submitted between builds with different error messages will be included on emails by default.
* Email subject line will be different for each failing build step, but will include the CL of the first failing step. This will result in one thread for each build failure (a success email is sent with the same subject line).
* Anyone that starts a build will be included on all failure emails.
Change 3972732 by Ben.Marsh
Changes to ensure notification messages are stable.
Change 3972810 by Ben.Marsh
Write debug information about the digest computed for a change, to assist with debugging it if it's not stable.
Change 3973331 by Ben.Marsh
Fix missing dependency on linker response file. Prevents target being relinked when build environment changes.
Change 3973343 by Ben.Marsh
PR #4612: Adding support for PVS-Studio settings file to PVS-Studio Unreal Build Tool toolchain. (Contributed by PaulEremeeff)
Change 3973820 by Ben.Marsh
Fix incorrect error message when unable to find Visual C++ install directory.
Change 3974295 by Robert.Manuszewski
Made sure that lazy object pointers are only fixed up for PIE in actual PIE worlds.
Change 3975336 by Robert.Manuszewski
CIS fix after the last merge from main
Change 3976999 by Ben.Marsh
Move the Windows stack size settings onto the WindowsTargetRules object, and add the [RequiresUniqueBuildEnvironment] attribute to ensure it's not overwritten incorrectly.
This should cause CIS to better errors for compiling Odin editor.
Change 3977934 by Ben.Marsh
UBT: Allow setting additional compiler/linker arguments through properties on the TargetRules object.
Change 3977953 by Ben.Marsh
UBT: Enumerate all Visual Studio 2017 install locations using the Visual Studio Setup interop SDK. Multiple simultaneous Visual Studio installations are now supported, and using registry keys to determine installation directories has been deprecated. Allows choosing toolchains from preview versions as well as full versions.
Change 3978544 by Ben.Marsh
UBT: Include verbose timing information from compiler frontend if using VS2017 15.7 preview 2 or later.
Change 3978780 by Ben.Marsh
Add Visual C++ 2017 redist files to AppLocalDependencies, and update the prereq installer to include 2017 support DLLs.
Change 3979313 by Ben.Marsh
UBT: Add the EngineDirectory property to ModuleRules. Makes it easier to find paths to files under the engine folder.
Change 3980499 by Ben.Marsh
UBT: Automatically enable /DEBUG:FASTLINK if we're using the VS2017 15.7 toolchain or newer and not doing a formal build. This contains fixes for debugger OOM issues present in older versions.
Change 3980890 by Ben.Marsh
UBT: Update project file generator to support VS2017 solution options file; fixes C# projects being opened by default when generating new project files.
Change 3981495 by Ben.Marsh
Do not include embedded interop assemblies in the list of references required by a C# project; they are not required build products.
#jira UE-54343
Change 3982157 by Ben.Marsh
Only output a warning message if BuildConfiguration.xml schema validation fails; we may have settings that only apply to code in another branch.
Change 3982239 by Ben.Marsh
Update tooltip directing users to install Visual Studio 2017 instead of 2015.
Change 3983395 by Graeme.Thornton
Fix reference to BUILD_VERSION in BootstrapPackagedGame RC file
Change 3983523 by Graeme.Thornton
Backwards compatibility for pak files with compressed chunk offsets
Change 3983769 by Ben.Marsh
UAT: Allow using PDBCOPY.EXE installed as part of the Windows 10 SDK to strip symbols, and add a better message if it can't be found.
Change 3984529 by Ben.Marsh
BuildGraph: When run with the -Preprocess=... argument, no steps will be executed.
Change 3984557 by Ben.Marsh
BuildGraph: Return the updated patterns from FilePattern.CreateMapping(), so we can print accurate messages when displaying the source and target directories for a copy or move task.
Change 3986520 by Ben.Marsh
Remove hacks to uniquify response file name on Android and Linux.
Change 3987166 by Steve.Robb
Allow overloading of functions which take TFunctions or TFunctionRefs with mutually exclusive signatures.
Change 3989061 by Graeme.Thornton
TBA: Text asset loading/saving work
- Start using FStructuredArchive flavours of UObject Serialize functions when loading and saving exports.
- Only use FStructuredArchive interface for text assets, and for classes that have the CLASS_MatchingSerializers which tells us that the class can serialize to both FStructuredArchives and FArchives.
- Add GetCacheableArchive to FArchive, which allows transient archives to return a pointer to another archive that will outlive it. Used by bulk data to get a pointer to an archive that can be held and used at a later time to lazy load things. For text assets where the bulk data might be held inside a base64 encoded FArchiveFromStructuredArchive block, we can't dynamically seek back to that location after the on-stack wrapper has been destroyed after the original serialize, so this will return null. For binary assets, we just return a pointer to the same binary archive which can be used freely.
Change 3989109 by Graeme.Thornton
TBA: TextAsset commandlet emits a warning when binary package determinism fails
Change 3990823 by Ben.Marsh
UGS: Allow project settings to specify a client path rather than a filesystem path. Not currently usable through UI.
Change 3990832 by Ben.Marsh
UGS: Make the schedule window resizable.
Change 3991569 by Steve.Robb
GitHub #4636 : Fixed typo in HeaderParser.cpp for "missed WithValidation keyword" error message
Change 3991970 by Steve.Robb
Fix for 4096 char limit on FParse::Value.
Change 3992222 by Steve.Robb
Advice added to the coding standard for using default member initializers.
Change 3993675 by Ben.Marsh
UGS: Add UI to allow creating new workspaces and selecting projects from existing workspaces that are not currently synced.
Change 3994199 by Ben.Marsh
UGS: Fix child processes being unable to spawn other child processes with the CREATE_BREAKAWAY_FROM_JOB flag, to add them to their own job objects.
In Windows 7 or earlier job objects cannot be nested, so child processes have to create separate job objects and spawn processes with CREATE_BREAKAWAY_FROM_JOB to be able to add them. This fails unless parent process' job object was created with JOB_OBJECT_LIMIT_BREAKAWAY_OK.
Discussed here: https://msdn.microsoft.com/en-us/library/windows/desktop/hh448388(v=vs.85).aspx
Change 3994243 by Ben.Marsh
UGS: Use the select stream dialog instead of displaying a drop list unless there's a stream filter specified. We have way too many streams for this to be useful in a menu unless it's filtered.
Change 3994260 by Ben.Marsh
UGS: Tweak the stream filter dialog to only use the previous selected node if the filter terms match. It may be a parent node of something that matches, even though it doesn't match itself.
Change 3994350 by Ben.Marsh
UGS: Automatically guess the correct root path for new workspaces based on the most common existing workspaces for the current user.
Change 3995159 by Ben.Marsh
UGS: Do not delete files which are outside the sync filter. People expect to be able to sync different projects within a stream without having to update sync filters.
Indend to re-introduce this functionality through the manual 'clean workspace' operation.
Change 3995169 by Ben.Marsh
UGS: Show options as dimmed in the open project dialog, if the radio button for those controls is not checked. Automatically set the radio button if the focus is given to one of those controls.
Change 3995228 by Ben.Marsh
UGS: Update recently opened projects list when editing project for an existing tab.
Change 3995312 by Ben.Marsh
UGS: Stop showing all dialogs in the taskbar.
Change 3995929 by Robert.Manuszewski
Completely rewritten FReferenceChainSearch class used by 'obj refs' command.
- 3+ times faster
- Uses the same code as GC to track all the references down
- Actually reports all reference chains properly
- Less code that is more readable than the previous version
Change 3995981 by Ben.Marsh
UGS: Clean workspace window will now force-sync files that have been deleted or which are writable.
Change 3996113 by Ben.Marsh
UGS: Fix crash upgrading config files from older versions.
Change 3997990 by Ben.Marsh
UGS: Prevent error when syncing an empty workspace.
Change 3998095 by Ben.Marsh
UGS: Change logic for dealing with job objects: rather than creating breakaway jobs (requires co-operation with spawning process), always try to use nested job objects (requires Windows 8.1+). If it fails, ignore the error if we're already part of a job.
Also forcibly terminate the process on dispose to handle cases where the job object wasn't created.
Change 3998264 by Ben.Marsh
UGS: Fix exception when switching projects in-place.
Change 3998643 by Ben.Marsh
Fix shared DDC not being used for installed engine builds.
#jira UE-57631
Change 4000266 by Ben.Marsh
UnrealPak: Add an option that allows rebuilding a set of PAK files with different settings. Usage is:
UnrealPak [PakFile] -Repack [-Output=FileOrDirectory] [Options]
The input pak file may be a single file or wildcard, and is overwritten unless the -Output parameter is specified.
Change 4000293 by Ben.Marsh
Add a compression flag that allows selecting compressor without using the default platform implementation.
Change 4000315 by Ben.Marsh
Add support for custom compressors implemented via modular features. Specify -compressor=<PathToDll> on the command line to UnrealPak to load a compressor from an external DLL.
Change 4000610 by Ben.Marsh
UnrealPak: Add a parameter for compression block size (-compressionblocksize=XXX). Accepts arguments with MB/KB suffixes, as well as byte counts.
Change 4000627 by Ben.Marsh
UBT: Include enabled plugin info in the UBT log.
Change 4000793 by Ben.Marsh
UBT: Remove some member variables from VCEnvironment that don't need to be stored.
Change 4000909 by Ben.Marsh
UBT: Add VS2017 installations to the list of paths checked for MSBuild installations.
Change 4001923 by Ben.Marsh
UBT: Allow any plugins which are enabled by default to be included in the enabled list, even if they don't have any modules for the current platform. This changes the build-time logic to match the runtime logic.
At some point in the future we may add a separate SupportedHostPlatforms list to each plugin to do this explicitly, rather than guessing via the per-module whitelist.
Change 4001927 by Ben.Marsh
Fixes for compiling against the Windows 10 SDK.
Change 4002439 by Robert.Manuszewski
Added TDefaultReferenceCollector and FSimpleReferenceProcessorBase to extract common code for clients of TFastReferenceCollector
Change 4003508 by Ben.Marsh
UGS: Fix new workspaces not having the correct owner and host set.
Change 4003622 by Ben.Marsh
UGS: Add support for "skipped" as a build result.
Change 4004049 by Robert.Manuszewski
Significantly improved performance of Reference Chain Search for objects that are nested deep in the object hierarchy
Change 4005077 by Ben.Marsh
UGS: Update version number.
Change 4005112 by Ben.Marsh
UBT: Reduce number of times a target has to be constructed while generating project files.
Change 4005513 by Ben.Marsh
UBT: Reduce number of checks for directories existing when adding include paths to a module. Accounted for 40% of runtime time when generating project files.
Change 4005516 by Ben.Marsh
UBT: Add warnings whenever a module adds an include path or library path that doesn't exist
Change 4006168 by Ben.Marsh
CIS fixes.
Change 4006236 by Ben.Marsh
UGS: Populate the workspace name/root directory text box with the cue banner when focus moves to the control.
Change 4006266 by Ben.Marsh
UGS: Swap around the new workspace/existing file boxes on the open project dialog.
Change 4006552 by Ben.Marsh
If staging fails because a restricted folder name is found, include a list of them in the error message.
Change 4007397 by Steve.Robb
Comments added to make it clear that GetAllocatedSize() only counts direct allocations made by the container.
Change 4007458 by Ben.Marsh
UBT: Change RPC utility to abort early, rather than continue to try to build even though SSH init failed.
Change 4009343 by Ben.Marsh
UGS: Set the rmdir option on new workspaces by default.
Change 4009501 by Ben.Marsh
UBT: Add Windows include paths to the compiler command line, rather than setting through environment variables. This ensures that incremental builds work correctly when SDK versions change.
Change 4009509 by Ben.Marsh
UBT: Check in a non-versioned directory under the Windows 10 SDK for the resource compiler.
Change 4010543 by Ben.Marsh
Remove the "Device" and "Simulator" platform groups, because they're unused and overly generic for folder names. Also remove source code for the HTML5 simulator (which is no longer supported).
Change 4010553 by Ben.Marsh
UAT: Include platform groups in restricted folder names when staging.
Change 4012030 by Ben.Marsh
UGS: Increase the size of the main window, and set the current stream as the default when creating a new workspace.
Change 4012204 by Chad.Garyet
- Cleanup to get the POSTs returning 400s the same way the GETs would (now no longer returns the exception text)
- Create directory for sqlite db if it doesn't exist
#jira none
Change 4014209 by Brandon.Schaefer
New changes in breakpad dump_syms to allow for producing a symbol file for elf files on windows
#review-3998840 @Arciel.Rekman, @Ben.Marsh, @Josh.Engebreston, @Anthony.Bills
Change 4015606 by Brandon.Schaefer
Missed a code project that needed updating for new Breakpad changes for Mac
Change 4017795 by Robert.Manuszewski
GC assumption verification should now be 3-4x faster.
- Refactored Disregard For GC to use TFastReferenceCollector
- Move both Disregard For GC and Cluster verification code to separate source files
Change 4020381 by Ben.Marsh
Add link to the new official doc page for UnrealGameSync.
Change 4020665 by Ben.Marsh
UBT: Prevent plugins being precompiled if they don't support the current target platform.
Change 4021829 by Ben.Marsh
Update message about downloading a new version of Visual Studio.
Change 4022063 by Ben.Marsh
UBT: Suppress toolchain output when generating project files.
Change 4023248 by Ben.Marsh
Install an unhandled exception filter to ensure we get crash reports from threads that are not spawned by the engine. At the moment, we only receive crashes that are routed through ReportCrash() via our structured exception handlers in WinMain() and FRunnableThreadWin::Run().
(Also fix an exception within the exception handler, if GError has not been created yet)
Change 4025759 by Ben.Marsh
Fix universal CRT include paths not being added to compile environment for VS2015.
Change 4026002 by Ben.Marsh
UBT: Check the old registry locations for the Windows SDK installation directory.
Change 4026068 by Ben.Marsh
UBT: Use the correct compiler version in the error message for not having the UCRT.
Change 4026181 by Ben.Marsh
Fix DebugGame editor configurations not enumerating modules correctly.
#jira UE-58153
Change 4026285 by Ben.Marsh
UBT: Add additional logging for enumerating Windows SDKs.
Change 4026708 by Ben.Marsh
UBT: Keep a separate list of installed Universal CRT versions to the list of Windows 10 SDK versions. It's possible to install C++ support without the Windows 10 SDK, which still includes UCRT files in Windows 10 SDK folders.
Change 4029404 by Ben.Marsh
Remove incorrect include paths to fix CIS warnings.
Change 4031517 by Steve.Robb
Fix for UHT errors not being clickable in the Message Log.
#jira UE-58173
Change 4031544 by Ben.Marsh
Fix errors building asset catalog for IOS due to modifying shared build environment.
#jira UE-58240
Change 4032227 by Ben.Marsh
BuildGraph: Print out a warning message when trying to submit without the -Submit argument in BuildGraph.
Change 4032262 by Ben.Marsh
BuildGraph: Remove the need to copy files to the staging directory in BuildEditorAndTools.xml.
Change 4032288 by Ben.Marsh
Remove UFE from the BuildEditorAndTools script.
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 3838569 by Steve.Robb
Algo moved up a folder.
Change 3848581 by Robert.Manuszewski
Changing the UObjectArray to not be allocated up front but in 64K-FUObjectItem chunks. This is to fix strange OOM reports on editor startup where it's trying to allocate space for 1M+ FUObjectItems.
#jira UE-49446
Change 3864743 by Steve.Robb
Fix for buffer overrun when copying a context string.
Fix for being unable to link to MallocLeakDetection.
Fix to prefix for FMallocLeakDetection::ContextString.
New MALLOCLEAK_SCOPED_CONTEXT macro to push/pop a context string.
Overload for const TCHAR* added to FMallocLeakDetection::PushContext to save on redundant memory allocations.
#jira UE-54612
Change 3865020 by Graeme.Thornton
TBA: Changed FIELD_NAME macro to FIELD_NAME_TEXT so that FIELD_NAME can be used for non-literal name definitions
Change 3869550 by Josh.Engebretson
New SymGen and SymUpload tasks (ShooterGame usage example)
Example C# symbolicator (using saved crash and data router formats)
Updates for stack walking and crash runtime xml on Windows/Mac
Change 3905453 by Steve.Robb
USE_TUPLE_AUTO_RETURN_TYPES moved to PLATFORM_COMPILER_HAS_DECLTYPE_AUTO.
Change 3910012 by Ben.Marsh
UGS: Show an error window and allow setting default P4 server settings if syncing UGS fails.
Change 3920044 by Graeme.Thornton
TBA: Text asset loading
* Added a structured archive layer to FLinkerLoad
* Wrapped export loading in a ArchiveUObjectFromStructuredArchive
* Updated TextAssetCommandlet to have a "loadtext" mode which will try to load every text asset in the project content
* Changed text asset extensions to .utextasset and .utextmap. Couldn't go with the favourite .uasset.json because our various path functions (FPaths::GetCleanFilename etc.) will only strip one layer of extension, so leave a bogus filename.
* Relaxed a few checks in structured archive where it was checking for field reentrance, which isn't a problem for loading.
* Changed FArchiveFromStructuredArchive to not load all referenced objects at construction time. This introduced some changes to load order which don't work in the engine. Object names are resolved at the point that a reference to them is serialized from the main data block, same as with legacy archives.
Change 3921587 by Steve.Robb
Static asserts inside ensureMsgf() macros to prevent them being passed invalid arguments or non-literal formatting strings.
Fixes for various misuses.
#jira UE-55681
Change 3942873 by Ben.Marsh
UBT: Allow link time code generation on any configurations where bAllowLTCG is set to true. Microsoft platforms were previously only allowing this option in shipping; the target can decide when to enable it or not.
Change 3944629 by Graeme.Thornton
Merging back a couple of fixes from Fortnite
- Extra parenthesis around some calculations in the pakprecacher
- Changed FChunkCacheWorker::DoSignatureCheck() back to ::CheckSignature()
- Added documentation for build script crypto options
Change 3945381 by Ben.Marsh
Disable warning C4770 on Windows (partially validated enum 'xxx' used as index), which occurs when enabling LTCG. Can't find a reference online for this warning, but I suspect it's due to LTCG allowing the compiler to trace code paths where we don't validate that an enum is a known value.
Change 3968969 by Steve.Robb
Fixes to incorrect uses of FScriptMapHelper and FScriptSetHelper, which weren't accounting for gaps in the sparse array.
Change 3969417 by Ben.Marsh
Make Visual Studio 2017 the default compiler for UE4 projects, and add support using Visual C++ toolchains from an AutoSDKs.
Also add support for selecting a specific toolchain version to use through the WindowsPlatform.CompilerVersion property, which can be configured via a Target.cs files or BuildConfiguration.xml (eg. <WindowsPlatform><CompilerVersion>14.13.26128</CompilerVersion></WindowsPlatform). As well as allowing a specific version number, you can always use the latest toolchain by setting it to "Latest".
Change 3972443 by Ben.Marsh
Change build scripts to allow running any steps on non-compile workspaces. Setup Dev-Core to just use a non-compile Win64 workspace for everything.
Change 3977198 by Ben.Marsh
Remove INI file override for editor stack size on Windows. This is rarely valid since editor targets share build products with other games by deafult. Fix to add linker response file as prerequisite exposed targets overriding this as a bug.
Change 3979632 by Ben.Marsh
Consolidate codepaths for embedding versioning information in the engine. Engine/Build/Build.version is now the authoritative place to read version information; Engine/Source/Runtime/Launch/Resources/Version.h no longer includes macros for the current branch and changelist.
* Settings from Build.version are compiled into the (tiny) BuildSettings module via macros set in BuildSettings.build.cs, which is used to initialize version information inside the engine at runtime.
* The IsPromotedBuild value is now set to zero by default (but set to 1 by the UpdateLocalVersion UAT command).
* The -Licensee argument to the UpdateLocalVersion UAT command, and the IsLicenseeVersion setting for UnrealGameSync, is determined automatically by looking for the Engine/Build/NotForLicensees/EpicInternal.txt file. This path is not visible to licensees.
Change 3981738 by Ben.Marsh
Move utility classes for filtering files and matching wildcards into DotNETUtilities.
Change 3983888 by Steve.Robb
Warning C4868 disabled, about evaluation order of braced initializer lists.
https://udn.unrealengine.com/questions/426081/help-with-error-c4868-braced-initializers.html
Change 3984019 by Steve.Robb
FString::Printf formatting argument checking added.
Vararg support for FText::Format.
All remaining usage fixed.
Change 3985502 by Steve.Robb
Change to TFunction debugger visualization to allow right-clicking on the [Lambda] and selecting 'Go To Source Code'.
Change 3985999 by Graeme.Thornton
TBA: Serialize function generation for FArchive and FStructuredArchive overloads on a UObject, using UHT.
- Adds a restriction that UObject::Serialize() functions MUST be declared outside of any conditional compilation directives, except for WITH_EDITORONLY_DATA
Change 3986461 by Ben.Marsh
Fixup lots of platforms not adding response files as a prerequisite.
This can cause incremental builds to fail if input files/compile arguments change, because the action graph does not know that the response file being updated invalidates the build artifacts.
Change 3990081 by Ben.Marsh
Remove custom output formatters for errors and warnings. These are not well supported by different executors, and cause fences between actions with the same formatter with external executors like XGE.
Clang supports -fdiagnostics-format=msvc for all platforms, which should do a better job than our crude attempts at regexing errors (causing botched output in some cases).
Change 3996714 by Chad.Garyet
UGSRestAPI, conversion of UGS to use it.
#jira none
Change 4008287 by Ben.Marsh
UBT: Change the engine to use the Windows 10 SDK by default.
Also add support for switching between specific Windows SDK versions. The WindowsPlatform.WindowsSdkVersion property in the target rules can be used to select a desired version, which can also be configured by the <WindowsPlatform><WindowsSdkVersion>Foo</WindowsSdkVersion></WindowsPlatform> parameter in the BuildConfiguration.xml file.
The version of Windows to target (ie. the WINVER macro) can be modified by setting WindowsPlatform.TargetWindowsVersion. The default is 0x0601 (Windows 7).
Change 4008516 by Chad.Garyet
- Adding support for both SQLite and MsSql
- API now reads from only MsSql, but writes to both
- Added support for POST to CIS for badges
- PostBadgeStatus now writes out via API Url rather than a direct connection to the DB
#jira none
Change 4010296 by Chad.Garyet
Moving SQLite db initilization into Application_Start. An exception thrown creating or seeding the db will unload the entire AppDomain and all pages will return a 404.
#jira none
Change 4024045 by Ben.Marsh
Set the list of supported target platforms for OnlineSubsystemGameCircle.
#jira UE-57887
Change 4031014 by Ben.Marsh
UAT: Add a WhitelistDirectories list in DefaultEngine.ini, which allows specifying folders that can be staged despite having restricted folder names.
[CL 4034515 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
#rnx
============================
MAJOR FEATURES & CHANGES
============================
Change 3794434 by Marc.Audy
Correctly call PostPlacedNewNode before AllocateDefaultPins in 2 places that had the order wrong
Change 3796912 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3781456 by Dan.Oconnor
Disable net flags related assert when linking reflection data that is being loaded
#jira UE-52852
Change 3781725 by mason.seay
Moved test blueprints to subfolder
Change 3781828 by mason.seay
Removed some unnecessary blueprint logic
Change 3783304 by Phillip.Kavan
More descriptive log output after an attempt to break execution on a missing function/interface.
#4238
#jira UE-52549
Change 3783678 by Phillip.Kavan
Fix for a serialization oversight in UEdGraphPin that could lead to a compile error during Blueprint nativization.
#jira UE-52528
Change 3783708 by Ben.Zeigler
#jira UE-52487 Better fix for calling OnAssetLoaded on async loaded assets in the editor. The previous fix only worked for specifically loaded packages, this one works for those plus dependencies
Change 3783922 by Ben.Zeigler
#jira UE-51408 Fix it so objects returned by CreateWidget and CreateDragDropOperation are not marked as always hard referenced by the blueprint event graph. This would cause those objects to get leaked and was redundant because these objects already handle their own life cycle
If a game was depending on this functionality to keep things loaded, change your blueprint to set the return value into a variable, that will keep it hard referenced normally
Change 3784604 by Ben.Zeigler
#jira UE-40033 Fix issue where changing the default value of a nested user struct would break all outer structs in an unrecoverable way. We do not want to do the first half of reinstancing if we're going to skip the second half
Change 3785039 by Ben.Zeigler
Fix it so empty pins do not display "None" as their label
Change 3785794 by Phillip.Kavan
Guard against a reported crash when setting bIsEditorOnly flag on attached scene components.
Change summary:
- Modified SetDescendantIsEditorOnly() to add a NULL check around an iteration (consistent with other places that iterate the attachment list).
#jira UE-52923
Change 3785842 by Phillip.Kavan
Guard against a reported crash when deleting one or more Actor components.
Change summary:
- Modified FComponentEditorUtils::DeleteComponents() to add a NULL check when iterating through child attachments.
#jira UE-52916
Change 3785851 by Phillip.Kavan
Guard against a reported crash when deleting a non-root scene component with no parent attachment.
Change summary:
- Modified USceneComponent::DestroyComponent() to use an ensure() instead of a check() to allow the deletion to proceed but still provide a warning to potentially help catch this later.
#jira UE-52921
Change 3785852 by Phillip.Kavan
CIS fix.
Change 3786141 by Phillip.Kavan
Removed an invalid comment emitted to codegen during nativization of a BlueprintNativeEvent override signature.
Was intended to be submitted along with CL# 3783678.
Change 3788496 by Ben.Zeigler
#jira UE-32061 Large change to UserDefinedStructs where the default struct instance is now stored on the struct itself and accessible at runtime
User structs now work identically to native structs when it comes to default values, it is set at struct initialization time instead of at tagged property serialization time
Remove many editor-time UDS hacks now that they work like native. The only special code left is that it forces delta serialization on in the editor, to deal with the defaults changing
Change 3789308 by Marc.Audy
Don't unregister/register components and ticks for an Actor just testing a rename
Change 3789644 by Ben.Zeigler
Static analysis fix
Change 3789777 by Ben.Zeigler
#jira UE-42586 Fix it so using ImportText on user structs will look for fields using the human readable display name if not found using GUID lookup. This makes it so you can use the format displayed in the data table editor
Change 3789908 by mason.seay
Test struct using containers
Change 3790475 by Ben.Zeigler
Fix user structs to work properly with circular reference checking. When we copy the values out of the default we may need to register the newly created structs with the circular reference system.
I'm using raw pointers here as after investigation the fixup happens before any relevant freeing could occur
Change 3790777 by Ben.Zeigler
#jira UE-53081 Fix map/set properties inside user structs by having them pass the defaults for both load and save, as maps expect both sides have defaults set
Partially address UE-53086, it now correctly updates map properties when they are removed, but readding them can add extra entries in some case because it loses the "deleted" information
Change 3790919 by Ben.Zeigler
Add start of User Structs functional test
Change 3792050 by Fred.Kimberley
Added several transform related functions to the HIDE_ACTOR_TRANSFORM_FUNCTIONS macro and fixed the signatures on some that were already there.
#jira UE-52837
Change 3793542 by Michael.Noland
Back out changelist 3792050
Change 3794193 by Marc.Audy
Never reset loaders when renaming the child actor to avoid cases where IsLoading returns false but flushing loading will still cause issues due to async loading
#jira UE-52950
Change 3794211 by Marc.Audy
Don't include redirectors or otherwise invalid .umap files as sub levels for world composition
#jira UE-52925
Change 3794564 by Marc.Audy
Make it safe to call RecombinePin on the top level split pin
Change 3794851 by Marc.Audy
Fix split pins on macro instances for resolved wildcard pins not resetting when disconnected
#jira UE-44922
Change 3795017 by Marc.Audy
Properly enforce all actor subclasses not ticking when tick type is viewports only unless ShouldTickIfViewportsOnly returns true
#jira UE-36929
Change 3795143 by Marc.Audy
After copying properties clear the actor label so that the child actor template's display name is not misleading
#jira UE-50472
Change 3795241 by Dan.Oconnor
Fix subsequent navigation operations after navigating to a window that is already open
#jira UE-53203
Change 3795255 by Dan.Oconnor
Harden pin serialization logic, specifically to prevent crash due to bad 'conform' routines when renaming functions
#jira UE-52847
Change 3795660 by Dan.Oconnor
Blueprints that have no parent class can now be reparented when using the compilation manager
#jira UE-53218
Change 3796496 by Marc.Audy
Fix without editor compile errors
Change 3797316 by Dan.Oconnor
Downgrade ensure to warning as we have known ways of triggering
#jira UE-53237
Change 3797619 by Phillip.Kavan
Reinstate a faster lookup mechanism for tunnel instance source nodes during marching ants draw calls when stopped at a breakpoint, and fix issues with missing marching ants when stopped at a breakpoint in a tunnel instance graph.
Change summary:
- Removed FindMatchingTunnelInstanceNode() utility method in BlueprintConnectionDrawingPolicy.cpp (no longer needed).
- Restored/renamed FDebuggingInfoForSingleFunction::LineNumberToTunnellInstanceSourceNodeMap.
- Modified FBlueprintDebugData::RegisterNodeToCodeAssociation() to restore the parameter for the tunnel instance node chain and map it to the current code offset if not empty.
- Modified FScriptBytecodeWriter::EmitInstrumentation() to construct the tunnel instance node chain that will be mapped to the current code offset if not empty.
- Modified FKismetConnectionDrawingPolicy::BuildExecutionRoadmap() to more efficiently find tunnel instance nodes through the table that now maps tunnel instance node chains to the current script code offset.
- Modified the tunnel node case in FKismetCompilerContext::ExpandTunnelsAndMacros() to better handle nested tunnel instance expansions (which may expand to include internal tunnel nodes in different orders).
- Modified FKismetCompilerContext::MapExpansionPathToTunnelInstance() to avoid incorrectly remapping nested composite tunnel expansions to the outermost intermediate tunnel instance node.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to map intermediate tunnel boundary nodes back to the outer intermediate tunnel instance node from which they were expanded.
- Modified FKismetCompilerContext::ProcessIntermediateTunnelBoundary() to better position the boundary nodes in the intermediate graph.
- Added a few verbose comment blocks in order to hopefully help visualize how tunnel expansion debugging is currently implemented and also to remind myself later.
#jira UE-52747
Change 3801237 by Ben.Zeigler
#jira UE-53305 Fix it so split struct pins respect AllowedClasses metadata, which fixes crash with passing invalid objects into things like set font info
Change 3801768 by Ben.Zeigler
Add more tests to UserStructs functional test
Change 3801794 by Dan.Oconnor
Mirror 3794923/3794318, make sure replication data is initialized correctly across editor/EDL/compilation manager/no compilation manager load flows
#jira UE-53112
Change 3803091 by Ben.Zeigler
Fix issue where nativized user structs had the wrong defaults, by correctly diffing the struct defaults and placing them in the constructor instead of a static GetDefaultValue function
I had to override struct constructors to not call LoadObject for object properties, FindObject works because the dependencies have already been queued for loading by the referencing blueprint in EDL
Change 3803659 by Marc.Audy
Fix static analysis warning
#jira UE-53337
Change 3803685 by Marc.Audy
Fix extra )
[CL 3804136 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3252833 on 2017/01/10 by Ori.Cohen
Refactor constraint so that it can be used for external solvers. (Copying //Tasks/UE4/Dev-ImmediateModePhysics to Dev-Framework (//UE4/Dev-Framework))
Change 3256288 on 2017/01/12 by Ori.Cohen
Undo constraint refactor as we found a way around it and it made the code much harder to read/debug
Change 3373195 on 2017/03/30 by Mike.Beach
For nativization, changing it so we key off of the target platform-info struct instead of the platform (in preparation for defining the nativized plugin's platform whitelist).
Change 3381178 on 2017/04/05 by Dan.Oconnor
Make sure we don't inherit the NATIVE func flag when generating skeleton functions, also make sure all bojects outer'd to the skeleton class are marked transient
#jira UE-43616
Change 3381532 on 2017/04/05 by Marc.Audy
(4.16) Fix various cases where built lighting on child actors could be lost when loading a level
#jira UE-43553
Change 3381586 on 2017/04/05 by Mike.Beach
Now generating TArrayCaster conversions for nativized UClass arrays that need it (to handle different TSubclassOf arrays).
#jira UE-42676, UE-43257
Change 3381682 on 2017/04/05 by mason.seay
Some more changes to test map
Change 3381844 on 2017/04/05 by Dan.Oconnor
Match existing logic for CPF_ReturnParm/CPF_OutParm. Fixes compilation error in BP_TurbineBlades when using compilation manager
Change 3382054 on 2017/04/05 by Zak.Middleton
#ue4 - Optimize CharacterMovementComponent::GetPredictionData_Client_Character() and GetPredictionData_Server_Character() to remove virtual calls.
#jira UE-30998
Change 3382703 on 2017/04/06 by Lukasz.Furman
fixed missing links between navmesh polys when there are more than 4 neighbor connections
#jira UE-43524
Change 3383357 on 2017/04/06 by Marc.Audy
(4.16) Make SetHiddenInGame propagate consistently with SetVisibility
#jira UE-43709
Change 3383359 on 2017/04/06 by Dan.Oconnor
Fix last errant SKEL reference when cooking Odin
Change 3383591 on 2017/04/06 by Mike.Beach
Prevent users from setting object variables as 'config' properties (disallowed by UHT). This prevents some errors that could happen later when users nativize the Blueprint.
#jira UE-42085
Change 3384762 on 2017/04/07 by Zak.Middleton
#ue4 - Fix SpringArmComponent not restoring relative transform when bUsePawnControlRotation is turned off. Fixes the editor interaction ignoring transform of the component in the viewport after bUsePawnControlRotation is toggled on then off, since by then the world transform had been overwritten (from tick in editor) and nothing would drive transform changes from the editable value.
Toggling bUsePawnControlRotation off at runtime now restores the rotation to the initial relative rotation, not stomping it with the current pawn rotation, allowing toggling between the editable/desired base rotation and the control rotation.
#jira UE-24850
Change 3384948 on 2017/04/07 by Dan.Oconnor
Prevent GForceDisableBlueprintCompileOnLoad from causing all sorts of badness when dependencies are loaded as part of a Diff operation. Instead of setting a global flag we flag the package as LOAD_DisableCompileOnLoad
Change 3385267 on 2017/04/07 by Michael.Noland
Graph Editing: Pushed some node diffing code down from UAIGraphNode into UEdGraphNode so nodes with details panel properties will diff correctly (e.g., various animation nodes and BP switch nodes)
#jira UE-21724
Change 3385473 on 2017/04/07 by Phillip.Kavan
#jira UE-43067 - Fix broken pin wires after an Expand Node operation, along with some misc. cleanup.
Change summary:
- Fixed to use correct string for "Expand Node" transaction name.
- Modified FBlueprintEditor::OnExpandNodes() to consolidate some redundant code.
- Fixed to generate a unique node GUID for cases where the source graph is not removed after expansion.
Change 3385583 on 2017/04/07 by Dan.Oconnor
Handle CreatePropertyOnScope nullptr return values (happens for structs missing a struct property)
#jira UE-43746
Change 3386581 on 2017/04/10 by Michael.Noland
Blueprints: Further hardening FBlueprintActionInfo::GetOwnerClass()
#jira UE-43824
Change 3386615 on 2017/04/10 by Marc.Audy
Instanced properties can now properly be set on a per-instance basis in blueprint added components.
#jira UE-42066
Change 3387000 on 2017/04/10 by Marc.Audy
Fix includes for CIS
Change 3387229 on 2017/04/10 by mason.seay
More changes to TM-Gameplay
Added Save Game test (with blueprint)
Tick Interval test (with blueprint)
BP logic cleanup
Level organization
Change 3388437 on 2017/04/11 by Mike.Beach
Adding support for map/set literals in the backend (so you can use set nodes for structs containing sets/maps, without having to connect a RHS input - resets to struct defaults).
#jira UE-42617
Change 3388532 on 2017/04/11 by mason.seay
Submitting latest changes for crash repro
Change 3389026 on 2017/04/11 by Ben.Zeigler
Performance and bug fixes for incremetal cooking with asset registry, duplicate of several changes made on //Fortnite/Main
Fix it so AssetRegistry.ScanPathsAndFilesSynchronous won't scan subdirectories inside already scanned directories, this cuts down on the number of cache files
Fix 2 second stall when shutting down AssetSourceFilenameCache if it had never been previously created
Change 3389163 on 2017/04/11 by Ben.Zeigler
#jira UE-42922 Fix it so connecting function input node output pins does not clear default value, we only want to clear the value when connecting an input pin. Properly testing this fix depends on UE-43883
Change 3389205 on 2017/04/11 by Marc.Audy
Protect against a handful of GEditor usages that can now be hit in standalone
Change 3389220 on 2017/04/11 by Marc.Audy
Don't borrow ClassWithin to masquerade as ParentClass during compilation and instead just set the super struct immediately
Change 3389222 on 2017/04/11 by Michael.Noland
Framework: Adding a cvar (t.TickComponentLatentActionsWithTheComponent) to allow users to revert to the old behavior on when component latent actions tick
- Non-zero values behave the same way as actors do, ticking pending latent action when the component ticks, instead of later on in the frame (default behavior in 4.16 and beyond)
- Prior to 4.16, components behaved as if the value were 0, which meant their latent actions behaved differently to actors
This CVar will be removed in a future version, defaulting to on
#jira UE-43661
Change 3389276 on 2017/04/11 by Marc.Audy
Spelling fix and NULL to nullptr
Change 3389303 on 2017/04/11 by Mieszko.Zielinski
Made sure AIController::Posses doesn't get called when compiling Pawn BP #UE4
#jira UE-43873
Change 3390215 on 2017/04/12 by mason.seay
Removed some tests, will need further review
Change 3390638 on 2017/04/12 by Mike.Beach
Generalizing the omission of the CoerceProperty (in EmitTerm) - previously we were only omitting properties for our custom array lib. For wildcards, a coerce property should not be used as its type will not match.
NOTE: There is a slight behavior change in UEdGraphSchema_K2::ConvertPropertyToPinType(), as it will return 'wildcard' for params marked as 'ArrayTypeDependentParams' (previously would have returned 'int').
#jira UE-42747
Change 3390774 on 2017/04/12 by Ben.Zeigler
#jira UE-43911 Fix several issues with saving a runtime asset registry containing redirectors that caused crashes in cook on the fly. Don't resolve redirectors on incoming links because it will make a circular link, and fix an issue where chained redirectors would break the for loop iteration and return a bad dependency
Fix it so the asset registry written out at the beginning of CookOnTheFly uses the registry generator, otherwise it will include all of the stripped editor only tags
Change 3390778 on 2017/04/12 by Ben.Zeigler
Fix UCookOnTheFlyServer::CollectFilesToCook to check for initial unsolicited packages up front. This is required in iterative mode because it may skip cooking all explicit packages and thus miss a new startup loaded package
Change 3390782 on 2017/04/12 by Ben.Zeigler
Change RunProjectCommand to not imply -nomcp, and allow reading -clientcmdline to override setting the map parameter to 127.0.0.1 by default
Fix RunProjectCommand to remove ios-specific checks to not pass weird platform parameters, and instead never pass them
Fix PS4Platform to pass along command line when calling build cook run, args needs to be the last parameter so explicitly set -target=
Change 3390859 on 2017/04/12 by Mike.Beach
T3D class fields now export with the class's fully qualified path name (to avoid abiguity). Since we can have multiple classes with the same name (Blueprints in different folders), we have to use the class's fully qualified object path.
#jira UE-28048
Change 3390914 on 2017/04/12 by Lukasz.Furman
fixed missing navlink component's transform in exported navigation data
#jira UE-43688
Change 3391122 on 2017/04/12 by Ben.Zeigler
Add new PreloadPrimaryAssets call to AssetManager that stream the desired assets without modifying the official load/unload state. This is useful if you want to preload things in case the might be used in the future, and it also supports recursion
Fix crash calling GetAssetDataForPath with null path
Change 3391494 on 2017/04/12 by Dan.Oconnor
Fix bad references in deep object (widget) hierarchies
#jira UE-43802
Change 3391529 on 2017/04/12 by Dan.Oconnor
Fix log spam, accidently submitted
#rnx
Change 3391756 on 2017/04/12 by Dan.Oconnor
LinkExternalDependencies needs to be performed before we RefreshVariables
#jira UE-43843
Change 3392542 on 2017/04/13 by Marc.Audy
Ensure that initialized actors get cleaned up when removed from world even if that world hasn't begun play.
#jira UE-43879
Change 3392746 on 2017/04/13 by Marc.Audy
(4.16) When duplicating a blueprint node, correctly make the new node a sibling of the duplicated node, not a child of it (unless duplicating the root component).
Also resets scale of a duplicated root component to 1 to avoid a squaring of the scale for that component.
#jira UE-40218
#jira UE-42086
Change 3393253 on 2017/04/13 by Dan.Oconnor
Make sure calculated meta data is correctly set on functions generated by the compilation manager (SKEL_ class functions)
#jira UE-43883
Change 3393509 on 2017/04/13 by Mike.Beach
Removing hack'ish ResetLoaders() call that was causing undesired side-effects (resetting of a loaded package that other objects were relying on). This was originally intended to release file handles so separate editor processes could make updates and save the file (from CL 1712376). Using ResetLoaders() for this is bad though, as it has too many side effects. Instead we have to wait for GC to run. This also makes sure that GC should run as intended as the CookOnTheFly sever is idling.
#jira UE-37284
Change 3394350 on 2017/04/14 by Michael.Noland
Core: Making FDateTime and FTimespan actually reflected, so they get duplicated properly in CopyPropertiesForUnrelatedObjects, etc...
#jira UE-39921
Change 3395985 on 2017/04/17 by Phillip.Kavan
#jira UE-38280 - Fix invalid custom type selections on member fields in the User-Defined Structure Editor after a reload.
Change summary:
- Ensure that the 'SubCategoryObject' member in a UDS variable descriptor has been loaded when converting to an FEdGraphPinType.
Change 3396152 on 2017/04/17 by Marc.Audy
TickableGameObjects that have IsTickableInEditor false should not tick in the editor
#jira UE-40421
Change 3396279 on 2017/04/17 by Phillip.Kavan
#jira UE-43968 - Fix failed validation of bitmask enum types when serializing bitmask literal nodes.
Change 3396299 on 2017/04/17 by Dan.Oconnor
Fix resintancing issues exposed by running TM-Gameplay with -game. We cannot reinstance actors in levels on load because the scene is not created.
#jira UE-43859
Change 3396712 on 2017/04/17 by Marc.Audy
Call PostLoad on subobjects before copying for unrelated properties to avoid cases where an out of date object patched over in the linker has not been brought up to date
#jira UE-38234
Change 3396718 on 2017/04/17 by Mike.Beach
Adding a search bar to the components tree for Blueprints.
#epicfriday
#jira UE-17620
Change 3396999 on 2017/04/17 by Mike.Beach
In generated code, call event '_Implementation' functions directly for interface functions being invoked on self (avoids a UHT runtime error).
#jira UE-44018
Change 3397700 on 2017/04/18 by Marc.Audy
UT struct BlueprintType fixups
Change 3397701 on 2017/04/18 by Marc.Audy
Odin struct BlueprintType fixups
Change 3397703 on 2017/04/18 by Marc.Audy
Ocean struct BlueprintType fixups
Change 3397704 on 2017/04/18 by Marc.Audy
WEX struct BlueprintType fixups
Change 3397705 on 2017/04/18 by Marc.Audy
Additional UT blueprint type struct fixups
Change 3397706 on 2017/04/18 by Marc.Audy
Fortnite struct BlueprintType fixups
Change 3397708 on 2017/04/18 by Marc.Audy
Fixup Engine BlueprintType markup of structs
Change 3397709 on 2017/04/18 by Marc.Audy
Sample Game struct BlueprintType fixups
Change 3397711 on 2017/04/18 by Marc.Audy
Mark AnimNodes as BlueprintType and BlueprintInternalUseOnly
Change 3397712 on 2017/04/18 by Marc.Audy
Paragon struct BlueprintType fixups
Change 3397735 on 2017/04/18 by Marc.Audy
Definition pieces of BlueprintInternalUseOnly to fix UHT errors with structs already marked to use it
Change 3397912 on 2017/04/18 by Mike.Beach
Fix for CIS warnings about shadowed variables (fallout from CL 3396718).
Change 3398455 on 2017/04/18 by Marc.Audy
Make less critical errors log an error rather than immediately throwing allowing multiple errors to be reported in the same compile
Change 3398491 on 2017/04/18 by Marc.Audy
BPRW/BPRO in a non-BlueprintType is now a UHT error
Change 3398539 on 2017/04/18 by Marc.Audy
Fixup live link struct markups
Change 3399412 on 2017/04/19 by Marc.Audy
Fix Match3 blueprint type struct markups
Change 3399509 on 2017/04/19 by Phillip.Kavan
#jira UE-38574 - Fix AnimBlueprint function graphs marked as 'const' to treat 'self' as read-only when compiling.
Change summary:
- Modified FKismetCompilerContext::ProcessOneFunctionGraph() to use the function graph schema rather than the compiler context schema for both the function context's schema as well as testing the function for 'const'-ness. For AnimBPs, the compiler context and the function graph context can differ, so we need to make sure we are using the right one when making queries for a specific function context during compilation.
- Minor cleanup: changed the function context schema to be 'const' in order to be consistent with the function graph GetSchema() API's result. Added a few 'const' qualifiers where needed to match.
- Added a new object version in order to avoid breaking compilation of existing AnimBP function graphs that may already be violating the 'const' rule (this is the same thing that was done when 'const' was first added to "normal" BP function graphs). Just as with normal function graphs in place before the addition, a warning will be generated for existing AnimBP function graphs if they violate 'const' correctness, and an error will be generated for all new ones.
Change 3399749 on 2017/04/19 by Mike.Beach
Hiding the Nativized Blueprints plugin from the in-editor browser (prevent users from disabling it).
Change 3399774 on 2017/04/19 by Marc.Audy
ConditionalPostLoad is already called on StaticMesh earlier in the function
#rnx
Change 3400313 on 2017/04/19 by Mike.Beach
Mirroring CL 3398673 from 4.16
Now, with ICWYU, making sure that the coresponding header gets included first in nativized Blueprint files (else we get a UHT error). Had to fixup some ShooterGame specific files as a result (they had missing includes and forward declarations).
#jira UE-44124
Change 3400328 on 2017/04/19 by Mike.Beach
Missing file from mirrored change (CL 3400313 - mirroring CL 3398673 from 4.16)
#jira UE-44124
Change 3400415 on 2017/04/19 by Chad.Garyet
adding physx switch build to framework
Change 3400514 on 2017/04/19 by Mike.Beach
Back out changelist 3400313 / 3400328 (mirrored from CL 3398673 in 4.16), as it was producing "include PCH first" errors. Likely, CL 3398673 was a fix for a 4.16 specific change, altering the expected include order. We'll have to wait for this one to be integrated back.
Change 3400552 on 2017/04/19 by Marc.Audy
Undo the calling of post load prior to the CPFUO as dependent objects may not yet be loaded. Instead copy the need load flag to the new CDO subobject, similarly to how the top level CDO object copies its flags over.
#jira UE-44150
Change 3400815 on 2017/04/19 by Marc.Audy
Spelling fix (part of PR #3490)
#rnx
Change 3400918 on 2017/04/19 by Marc.Audy
Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
This portion brings in the exposure of the bindings to blueprint
#jira UE-44122
Change 3401550 on 2017/04/20 by Marc.Audy
fix kitedemo blueprint type markup
#rnx
Change 3401702 on 2017/04/20 by Mike.Beach
Make it so plugins added to a project through the .uproject's 'AdditionalPluginDirectories' list get folded into the generated code project (for visual studio, etc.).
Change 3401720 on 2017/04/20 by Mike.Beach
Add white and black lists for target type (game, client, server, etc.) to plugin module descriptors.
Change 3401725 on 2017/04/20 by Mike.Beach
Whitelisting the nativized Blueprint plugin for only the targets it was built for (game, server, or client).
Change 3401800 on 2017/04/20 by Ben.Zeigler
Add Algo::BinarySearch, LowerBound, and UpperBound. These are setup to allow binary searching a presorted array, and allow for specifying projection and sort predicates. Convert some engine code to use it
Add TSortedMap, which is a map data structure that has the same API as TMap, but is backed by a sorted array. It uses half the memory and performance is faster below n=10
Add FName::CompareIndexes so a SortedMap with FNames can be used without doing very slow string compares, and FNameSortIndexes predicate to sort by it
Add code to Algo and Container tests. Split up container tests so the new ones aren't run in smoketest as they are a bit slow
Add RemoveCurrent and SetToEnd to ArrayIterator
Change 3401849 on 2017/04/20 by Marc.Audy
Partial pull of PR #3490: Improved remapping game controls support (Contributed by projectgheist)
This portion brings bug fixes and improvements to InputKeySelector UMG widgets.
#jira UE-44122
Change 3402088 on 2017/04/20 by Marc.Audy
Focus the search box when expanding the map value type
#jira UE-44211
Change 3402251 on 2017/04/20 by Ben.Zeigler
Fix issue where SortedMap needs to be resorted after serialization, because the sorting may have changed from when it was saved out
Change 3402335 on 2017/04/20 by Ben.Zeigler
Significant changes to FAssetData serialization and memory, cuts memory significantly but will break code that was using some of the internal API that was not properly hidden before
Both Editor and Runtime cache now use the same FAssetRegistryVersion, which is now registered as a custom version
Rename FAssetData and FAssetPackage operator<< to SerializeForCache to make it clear that it isn't safe to use for general serialization
Remove GroupNames from FAssetData, it has not been useful since the UE4 package structure changed around 4.0
Rename generic-sounding but not actually generic SharedMapView class to AssetDataTagMapSharedView to indicate what it is actually used for
Change TagsAndValues to use a new array-backed TSortedMap as the base structure instead of a hash map. Also, it only allocates the map on demand, which saves significant memory at runtime as many packages have no tags
Add bFilterAssetDataWithNoTags to [AssetRegistry] ini section, if set it will only save cooked asset data if it has tags, off by default but saves significant memory if your whitelist is set up properly
Fix issue where asset registry tags updated by loading assets during cook were not being reflected in the cooked registry
Add AssetRegistry::GetAllocatedSize and add to MemReport output
Change 3402457 on 2017/04/20 by Ben.Zeigler
Enable asset registry iteration and stripping unused asset data in Fortnite. Registry iteration is already on in //Fortnite/Main, stripping is a new feature I want to test
Change 3402498 on 2017/04/20 by Ben.Zeigler
CIS fix. Why did this compile locally?
Change 3402537 on 2017/04/20 by Ben.Zeigler
Remove ensure for making AssetData for subobjects, the editor does this for thumbnail creation in some cases
Change 3402600 on 2017/04/20 by Ben.Zeigler
Add bShouldGuessTypeAndNameInEditor to manager settings, can be set false for games where type cannot be safely implied and content must be resaved
Fix up some bool setting code inside asset manager, and fix const correctness and for iterator issues
AssetManager can now discover any BlueprintCore type when bHasBlueprintClasses=true
Add AssetManager.DumpAssetRegistryInfo to output detailed asset registry usage stats
Add Primary Name to asset audit window by default
Change 3403556 on 2017/04/21 by Marc.Audy
Fix Orion input key selector override class
#rnx
Change 3404090 on 2017/04/21 by mason.seay
Applying Forcefeedback to test map
Change 3404093 on 2017/04/21 by mason.seay
Changing text in level
Change 3404139 on 2017/04/21 by mason.seay
Added Force Feedback test and made some tweaks.
Change 3404146 on 2017/04/21 by mason.seay
Added source reference to Instanced Variable test
Change 3404154 on 2017/04/21 by mason.seay
More minor tweaks
Change 3404155 on 2017/04/21 by Marc.Audy
Remove auto
#rnx
Change 3404188 on 2017/04/21 by Marc.Audy
Fixed crash changing variable type when any type other than map
#jira UE-44249
#rnx
Change 3404463 on 2017/04/21 by Ben.Zeigler
Fix asset data code to not ensure when loading an object with invalid exports, and instead print warning with name of package that needs to be resaved
Resave a map that had a redirector from a DIFFERENT package saved in it's exports. I do not understand how this happened, but it appears to be related to the lightmap BuiltData transition when old maps are opened
Change 3404465 on 2017/04/21 by Ben.Zeigler
Fix issue with trying to load editor-only asset classes in a cooked build
Fix issues with renaming or changing template Ids of assets from the editor
Always print the Duplicate Asset ID error, as if you have more than one the ensuremsg only goes off once
Change 3404481 on 2017/04/21 by Dan.Oconnor
Remove unneeded walk up hierarchy - prevent stale entries in action database if we compile a BP but don't compile its children
Change 3404510 on 2017/04/21 by Phillip.Kavan
#jira UE-35727 - Collapsed graphs containing a local variable node will no longer cause a compile error when the parent graph is renamed.
Change 3404590 on 2017/04/21 by Michael.Noland
Editor: Fixed incorrect filtering of abstract/deprecated UDeveloperSettings and UContentBrowserFrontEndFilterExtension classes caused by a typo (HasAnyCastFlags versus HasAnyClassFlags)
Change 3404593 on 2017/04/21 by Marc.Audy
Fixed another crash to do with input pin secondary combo box
#jira UE-44269
#rnx
Change 3404600 on 2017/04/21 by Michael.Noland
Core: Allow UE_GC_TRACK_OBJ_AVAILABLE to be set externally
#rnx
Change 3404602 on 2017/04/21 by Michael.Noland
Engine: Switched from an include to a forward declaration of SWidget in UDeveloperSettings to keep it slim
#rnx
Change 3404608 on 2017/04/21 by Michael.Noland
Core: Marked TNumericLimits as constexpr so they can be used in static asserts
Change 3404659 on 2017/04/21 by Michael.Noland
Engine: Adding includes back to two UDeveloperSettings subclasses
Change 3405289 on 2017/04/24 by Marc.Audy
Remove auto
#rnx
Change 3405446 on 2017/04/24 by Marc.Audy
Fix Win32 unsigned compile issue
Change 3405512 on 2017/04/24 by Mike.Beach
Piping through NativizationOptions to filename generation (so we're able to gen different files names per target: client vs. server).
Change 3406080 on 2017/04/24 by Ben.Zeigler
Deprecate UEngine::OnPostEngineInit and move to FCoreDelegates, clean up comments for the initialization delegates
Call OnPostEngineInit from commandlet initialization as well as normal execution. I thought about making a wrapper function, but the commandlet calls EditorInit directly so it wouldn't work
Bind delegate to refresh the AssetRegistry native class hierarchy after engine init so it picks up game/plugin classes. Undo ini change that was required to hack around this
Change 3406381 on 2017/04/24 by Ben.Zeigler
#jira UE-23768 Enable Run Physics With No Controller for montage test pawn. The montage pawn has no controller so wasn't correctly running physics when the root motion stopped. This flag needs to be set to allow it to correctly stop after the montage is over
Change 3406438 on 2017/04/24 by Ben.Zeigler
Fix deprecation warning
Change 3406519 on 2017/04/24 by Phillip.Kavan
#jira UE-43612 - Suppress array "Get" node fixup notifications on load when the BP Compilation Manager is enabled.
Change summary:
- Wrapped BPCM calls to FBlueprintEditorUtils::ReconstructAllNodes() and ReplaceDeprecatedNodes() duirng compile-on-load with bIsRegeneratingOnLoad = true. This matches the BP's state during compile-on-load when the BPCM is not enabled.
Change 3406565 on 2017/04/24 by Dan.Oconnor
Make sure all interface functions are added to skeleton
#jira UE-44152
Change 3407489 on 2017/04/25 by Ben.Zeigler
#jira UE-44317 Fix game-only TickableGameObjects to correctly tick in PIE
Change 3407558 on 2017/04/25 by Ben.Zeigler
Fix Fortnite cook warnings, issue had to do with the CDO being registered as a Primary Asset in conflict with the Class being registered
Fix issue with renaming a BP primary asset not finding the old name
Change 3407701 on 2017/04/25 by Dan.Oconnor
Remove unneeded null check, static analysis doen't like the inconsistency
Change 3407995 on 2017/04/25 by Marc.Audy
Fixed maps and sets not working correctly with split pin.
#jira UE-43857
Change 3408124 on 2017/04/25 by Ben.Zeigler
#jira UE-39586 Change it so the blueprint String/Name/Object to Text node creates culture invariant text, and also have them show as an expanded node with a comment explaining this
Fix Transform to actually return in the format specified in the comment, and fix comments on many text conversions
Change 3408134 on 2017/04/25 by Marc.Audy
Graph pin container type now represented by an enumeration (EPinContainerType) rather than 3 "independent" booleans.
FEdGraphPinType constructor, UEdGraphNode::CreatePin, and FKismetCompilerContext::SpawnInternalVariable that took 3 booleans deprecated and replaced with a version that takes EPinContainerType.
UEdGraphNode::CreatePin parameters reorganized so that PinName is before ContainerType and bIsReference, which default to None and false respectively
Change 3408256 on 2017/04/25 by Michael.Noland
Core: Changed UClass::ClassFlags to be of type EClassFlags for improved type safety
Change 3408282 on 2017/04/25 by Marc.Audy
(4.16) Fix incorrect positioning of instance components after duplication
#jira UE-44314
Change 3408404 on 2017/04/25 by Mike.Beach
Adding and removing the nativized plugin to/from the project when we alter the packaging nativization setting (so it gets picked up by project generation).
Change 3408445 on 2017/04/25 by Marc.Audy
Fix up missed deprecation cases
#rnx
Change 3409354 on 2017/04/26 by Marc.Audy
Fix Linux CIS failure
#rnx
Change 3409487 on 2017/04/26 by Marc.Audy
When dragging assets in to the SCS create them as siblings, not nested
#jira UE-43041
Change 3409776 on 2017/04/26 by Ben.Zeigler
#jira UE-44401 Fix issue with cooking a map containing a reparented component. In that case the child component may think it's not editor only, but it's archetype is editor only. This is not allowed in EDL, so now the child is marked as editor only as well
Change 3410168 on 2017/04/26 by Dan.Oconnor
Avoid calling virtual functions in the middle of compile
#jira UE-44243
Change 3410252 on 2017/04/26 by Lukasz.Furman
adjusted WITH_GAMEPLAY_DEBUGGER checks after IWYU changes
#ue4
Change 3410385 on 2017/04/26 by Marc.Audy
ChildActorComponent SetClass no longer fails when setting at runtime.
#jira UE-43356
Change 3410466 on 2017/04/26 by Michael.Noland
Core: Ensuring EClassFlags is 32 bit in a different way (underlying type of the enum is coming out signed even though all members are unsigned, long term fix is probably to move it to an enum class)
#rnx
Change 3410476 on 2017/04/26 by Michael.Noland
Automation: Deleting some commented out methods
#rnx
Change 3411070 on 2017/04/27 by Marc.Audy
Properly complete deprecation of old attachment API
Change 3411338 on 2017/04/27 by mason.seay
Map for Latent Action Tick Bug
Change 3411637 on 2017/04/27 by Ben.Zeigler
Back out CL #3381532 as it was causing crashes when adding new variables to blueprints, as the transaction array was being recursively modified while it was being added to
Change 3412052 on 2017/04/27 by mason.seay
Updated jump test map and pawn
Change 3412231 on 2017/04/27 by Ben.Zeigler
Fix issue where running SearchAllAssets multiple times after mounting new paths would throw away the asset registry cache, which slowed down incremental cooking substantially because the cooker mounts the autosave folder
Duplicate of CL #3411860
Change 3412233 on 2017/04/27 by Ben.Zeigler
Made FStreamableHandle::GetLoadedCount much faster by taking advantage of existing progress counter
Duplicate of CL #3411778
Change 3412235 on 2017/04/27 by Ben.Zeigler
Add code to FStringAssetReferenceThreadContext and FStringAssetReferenceSerializationScope which allows setting package name and collect options for string asset references serialized via something other than linker load
Make RedirectCollector threadsafe to avoid issues with async loading asset references
Fix it so ProcessStringAssetReferencePackageList will remove entries from the string asset array like resolve did, and rename function to indicate that
Fix it so string asset references created by asset labels do not automatically get cooked, and significantly improve the speed of labels with lots of assets
Add code to cooker and asset manager to explicitly mark non-cookable assets as NeverVook, this stops labels from ending up in the build if set that way
Added option to not recurse package dependency changes more than one level when hashes change. This ended up not being significantly faster in a realistic case so left disabled
Duplicate of CL #3412080
Change 3412352 on 2017/04/27 by Marc.Audy
Refix lighting getting wrong position when getting component instance data
Change 3412426 on 2017/04/27 by Marc.Audy
Take first steps to making ComponentToWorld private and force use of accessor
Make bWorldToComponentUpdated private
Make ComponentToWorld and bWorldToComponentUpdated mutable
Add a SetComponentToWorld function for the (likely ill-advised) places that were setting it directly.
Change 3412468 on 2017/04/27 by Marc.Audy
Remove last remnants of deprecated (4.11) custom location system
Change 3413398 on 2017/04/28 by Marc.Audy
Fix up missed deprecated attachment API uses
Change 3413403 on 2017/04/28 by Marc.Audy
Fix Orion compile error
#rnx
Change 3413448 on 2017/04/28 by Marc.Audy
Fix up kite demo component to world privataization warnings
#rnx
Change 3413792 on 2017/04/28 by Ben.Zeigler
Fix many bugs with blueprint pin default values, and add "Reset to Default Value" option to pin context menu
Deprecate and rename SetPinDefaultValue because it actually sets the Autogenerated default. This was being called in bad places and destroying the stored autogenerated defaults
#jira UE-40101 Fix expose on spawn pins to correctly update when the spawned object's defaults change
#jira UE-21642 Fix struct pin default values to properly update when the struct is changed
#jira UE-39418 Fix changed function/macro default values to properly update in already placed call nodes
Change 3413839 on 2017/04/28 by samuel.proctor
Added some Blueprint focused tests for TM-Gameplay
Change 3414030 on 2017/04/28 by Ben.Zeigler
Enable use of AssetPtr variables with Config, for native and blueprint
This incorporates CL #3302487 but also enables for blueprint usage as that code is new to framework branch
Change 3414229 on 2017/04/28 by Marc.Audy
Fixup virtuals not calling their Super
Remove some autos
#rnx
Change 3414451 on 2017/04/28 by Lukasz.Furman
static analysis fix for gameplay debugger
Change 3414482 on 2017/04/28 by Ben.Zeigler
Fix crash found where changing pin type on ConvertAsset accessed an array while deleting it
Change 3414609 on 2017/04/28 by Ben.Zeigler
#jira UE-18146 Refresh graph when disconnecting a resolve asset id node
Change 3415852 on 2017/05/01 by Marc.Audy
Remove unused code
#rnx
Change 3415856 on 2017/05/01 by Marc.Audy
auto removal
#rnx
Change 3415858 on 2017/05/01 by Marc.Audy
Fix function taking an input as reference when unneeded and causing (still unclear why it suddenly started showing up) error in cooking
#rnx
Change 3415946 on 2017/05/01 by Marc.Audy
Have K2Node_StructOperation skip the K2Node_Variable validation as it doesn't need a property (per CL# 1756451)
#rnx
Change 3415988 on 2017/05/01 by Lukasz.Furman
renamed WorldContext param in AI related static blueprint functions to remove load/cook warnings
#jira UE-44544
Change 3416030 on 2017/05/01 by Ben.Zeigler
Fix issue with WorldContext pins being broken by my pin value refactor, partial paths like "WorldContext" need to be stored as strings and not as broken object references.
Change 3416230 on 2017/05/01 by Marc.Audy
Fix spelling error
#rnx
Change 3416419 on 2017/05/01 by Phillip.Kavan
#jira UE-44213 - Nativizing a Blueprint class with a non-nativized Blueprint class subobject dependency will no longer lead to a crash at load time.
Change summary:
- Modified the FFakeImportTableHelper ctor to inject subobject CDOs into the 'SerializeBeforeCreateCDODependencies' array. This in turn ensures that EDL will serialize those subobject CDOs (if necessary) before we create the subobject's nativized owner's CDO at load time.
- Modified FEmitDefaultValueHelper::GenerateCustomDynamicClassInitialization() to emit MiscConvertedSubobject instantiations AFTER we emit the FillUsedAssetsInDynamicClass() call. This is now consistent with the code emitted for other subobjects (all of which assumes that the UsedAssets array has been initialized).
- Modified FFindAssetsToInclude::HandleObjectReference() to add UField owner CDOs in addition to the owner class to the asset dependency list. This ensures that owner CDOs will be emitted alongside the class to both the nativized asset dependency table as well as to the fake import table associated with the UDynamicClass linker for the nativized BP asset.
Change 3416425 on 2017/05/01 by Phillip.Kavan
#jira UE-44219 - Nativizing a Blueprint class with a nativized DOBP class dependency will no longer lead to a compile error at cook/nativization time.
- Modified the FGatherConvertedClassDependencies ctor to properly handle DOBPs in exclusive mode that have been explicitly enabled for nativization. Previously, this code wasn't taking that possibility into account, and as a result could lead to a missing header file in a dependent nativized class body's include set.
- Modified FGatherConvertedClassDependencies::GetFirstNativeOrConvertedClass() to remove the 'bExcludeBPDataOnly' parameter, as it was primarily just being used for a redundant exclusion check when called from the FGatherConvertedClassDependencies ctor. That call site has now been modified to start searching from the super class instead. Additionally, any DOBPs will already fail the preceding WillClassBeConverted() check if they have not been explicitly enabled for nativization in exclusive mode, and will always fail if nativizing in inclusive mode. The extra check was breaking the explicitly-enabled case, so it was removed to allow explicitly-enabled DOBPs to pass.
Notes:
- Allowing for explicitly-enabled DOBPs in exclusive mode may be removed in a future change, but since it is currently supported, the changes noted above will at least ensure that the generated code will compile properly for now.
Change 3416570 on 2017/05/01 by mason.seay
Added UMG test to map. Tweaked force feedback test
Change 3416580 on 2017/05/01 by mason.seay
Resubmitting sub levels
Change 3416597 on 2017/05/01 by Dan.Oconnor
Compilation manager iteration, adds machinery for individual blueprint compilation, adds comments, cleans up duplicated code
Change 3416636 on 2017/05/01 by Phillip.Kavan
#jira UE-44505 - Potential fix for a low-repro crash tied to the Blueprint graph context menu.
Change summary:
- Switched FBlueprintActionInfo::ActionOwner to be a weak object reference.
Change 3416960 on 2017/05/01 by Dan.Oconnor
Use compilation manager when clicking the compile button, PIE'ing, etc
Change 3417207 on 2017/05/01 by Ben.Zeigler
Fix issue with None strings causing default value parsing failures
Add SetPinDefaultValueAtConstruction needed by some other changes
Change 3417519 on 2017/05/01 by Ben.Zeigler
Fix BP compile errors caused by local variables with invalid default values. There's no reason to set autogenerated here because the nodes are transient and invisible in the UI.
There is still a problem here, local variables are not getting their default values validated when type is changed, so you end up with an integer that has the default value of a struct.
Change 3418659 on 2017/05/02 by Ben.Zeigler
#jira UE-44534 Fix it so animation node pins get properly created autogenerated default values that are based on the node struct defaults. This fixes issues when they are reset to other defaults
#jira UE-44532 Fix it so connecting an animation asset pin on a node player resets the pin value to the autogenerated default instead of the cached asset. This was causing old unused assets to get unnecessarily cooked
Fix it so any animation node with an exposed pin that is an object property will reset that object propery when the pin is exposed. This fixes UE-31015 in a generic way
Change the OptionalPinManager to take a Defaults address as well as a current address, to allow setting autogenerated defaults properly
Remove Import/ExportKismetDefaultValueToProperty as they were redundant with PropertyValueFromString and were using the wrong pin setting functions, replaced with PropertyValueFromString_Direct and calling the schema pin set functions
I need to write some backward compatibility code to fix existing nodes, I'll do that in a later checkin
Change 3418700 on 2017/05/02 by Ben.Zeigler
Actually fix None object paths for real this time. I did not test sufficiently before
Change 3418811 on 2017/05/02 by Ben.Zeigler
Fix existing animation blueprint nodes with dead asset references duplicated by pins. This code can be applied independent of the other change to fix specific games
Change 3419165 on 2017/05/02 by Dan.Oconnor
Add misc. functionality from FKismetEditorUtilities::CompileBlueprint
Change 3419202 on 2017/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3417825
#rnx
Change 3419236 on 2017/05/02 by mason.seay
Removed OnPressed event from Widget BP
Change 3419314 on 2017/05/02 by Marc.Audy
Fix bad auto-resolve
#rnx
Change 3419524 on 2017/05/02 by Marc.Audy
PR #3528: Improved Input BP library node display names (Contributed by projectgheist)
#jira UE-44587
#rn Improved Input BP library node display names
Change 3419570 on 2017/05/02 by Zak.Middleton
#ue4 - Fix typo in TFunctionRef comment/example.
Change 3419709 on 2017/05/02 by Dan.Oconnor
Fix missing category metadata on SkeletonGeneratedClass when using compilation manager
Change 3419756 on 2017/05/02 by Dan.Oconnor
Remove unintentional verbosity increase
Change 3420875 on 2017/05/03 by Marc.Audy
Make IsExecPin static
Minor optimization to IsMetaPin
#rnx
Change 3420981 on 2017/05/03 by Marc.Audy
Change tagging temporarily until other changes are done so that we don't have warnings in the meantime
#rnx
Change 3421367 on 2017/05/03 by Marc.Audy
Manually introduce changes from CL# 3398673 in 4.16 that failed to make it to Dev-Framework as a result of the integration submitted as CL# 3401725.
#rnx
Change 3421685 on 2017/05/03 by Ben.Zeigler
#jira UE-23001 Convert literal Asset ID/Class ID pins to store path as string instead of as hard object reference. Old pins are fixed on load, after resaving the hard references will go away
Refactor the way that FStringAssetReference and FAssetPtr are serialized, it now does the various fixups in FStringAssetReference::SerializePath, which is called from archivers
Change it so the asset registry reads in a list of all scanned redirectors and adds them to GRedirectCollector, this means that saving a string asset reference will automatically fix it up to point to the redirector destination
Change the default behavior of FAssetPtr serialize on ArchiveUObject to match what most of it's children want, and remove several special case hacks. It now serializes as asset reference when saving/loading, and as object for other cases
Deprecate StringAssetReferenceLoaded/StringAssetReferenceSaving delegates, replace with PreSavePath and PostLoadPath on FStringAssetReference
Make AssetLongPathname private on FStringAssetReference, it was deprecated in 4.9
Change 3421728 on 2017/05/03 by Phillip.Kavan
Mirror CL 3408285 from //UE4/Release-4.16.
#jira UE-44124
#rnx
Change 3422370 on 2017/05/03 by Dan.Oconnor
Mirror 3422359
Implement UBlueprintGeneratedClass::NeedsLoadForEditorGame to match UBlueprint, also tag a class's CDO as NeedsLoadForEditorGame.
This prevents us from failing to load a UBlueprint's GeneratedClass when running the editor with -server.
#jira UE-44659
Change 3423192 on 2017/05/04 by Ben.Zeigler
CIS Fix
Change 3423305 on 2017/05/04 by Ben.Zeigler
Fix "Missing opening parenthesis" warnings for Vector and Rotator the same way they were fixed for Transform
Change 3423358 on 2017/05/04 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3422809
#rnx
Change 3423766 on 2017/05/04 by Ben.Zeigler
#jira UE-44680 Delete some corrupted redirectors that are no longer in use
Change 3423804 on 2017/05/04 by Dan.Oconnor
Honor SaveIntermediateCompilerResults when using compilation manager
Change 3424010 on 2017/05/04 by Marc.Audy
Validate that switch string cases are unique
Change 3424011 on 2017/05/04 by Marc.Audy
Re-fix switch node default pin not appearing as an exec output
Remove unused boolean
Change 3424071 on 2017/05/04 by Ben.Zeigler
Delete FixupRedirects commandlet, replace with -FixupRedirects/FixupRedirectors option on ResavePackages. This new method is much faster than the old commandlet as it uses the asset registry vs loading all packages, fixing up all redirectors in Fortnite only took about an hour vs 12+ hours the old way
Removed some hacky bits in Core that only existed to support FixupRedirects
Change it so the AssetRegistry listens to DirectoryWatcher callbacks in commandlets now that commandlets use the asset registry properly. This won't do anything unless you tick directory watcher the way that ResavePackages does
Change 3424313 on 2017/05/04 by Dan.Oconnor
Address missing property flags on SkeletonGeneratedClass when using compilation manager
#jira UE-44705
Change 3424325 on 2017/05/04 by Phillip.Kavan
#jira UE-44222 - Move nativized UDS implementation details into its own .cpp file in order to avoid circular dependencies.
Change summary:
- Modified IKismetCompilerInterface::GenerateCppCodeForStruct() to include an output parameter for CPP source and modified FKismet2CompilerModule to match the updated API.
- Modified IBlueprintCompilerCppBackend::GenerateCodeFromStruct() to include an output parameter for CPP source and modified FBlueprintCompilerCppBackendBase to match the updated API.
- Modified FBlueprintNativeCodeGenUtils::GenerateCppCode() to adjust the call to GenerateCppCodeForStruct() to include CPP source output.
- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to switch UDS property dependencies to be forward declarations rather than includes (for default value init code).
- Modified FEmitDefaultValueHelper::GenerateGetDefaultValue() to emit implementation details to the 'Body' container, and adjust the header content to be a declaration only.
- Modified FIncludeHeaderHelper::EmitInner() to exclude a potentially-redundant line for the module's .h file, for the case when the caller has included the base filename in the 'AlreadyIncluded' set.
- Modified FEmitterLocalContext::FindGloballyMappedObject() to limit the 'TryUsedAssetsList' path to UClass conversions only (since that requires a UDynamicClass target to work).
- Modified FGatherConvertedClassDependencies::DependenciesForHeader() to only include BPGC fields if they are also being converted. Eliminates an issue with missing header files in generated code.
Change 3424359 on 2017/05/04 by Ben.Zeigler
Fix issue where StreamableManager would break when requesting an async load that failed the first time. Because our game supports downloading assets during gameplay it's not safe to assume it will never load again.
Port of CL #3424159
Change 3424367 on 2017/05/04 by Ben.Zeigler
Fix some asset manager warnings to not go off in invalid cases
Change 3425270 on 2017/05/05 by Marc.Audy
Pack booleans/enums in UEdGraphNode and FOptionalPinFromProperty
#rnx
Change 3425696 on 2017/05/05 by Ben.Zeigler
#jira UE-44672 Fix it so select node option pins get populated with default values properly
#jira UE-43927 Fix it so select node opion pin type is correctly maintained accross node recreation, as opposed to deriving from the attached pins
#jira UE-44675 Fix it to correctly refresh select node when switching from bool to integer index
Change 3425833 on 2017/05/05 by Ben.Zeigler
#jira UE-31749 Fix it so Undo works properly when modifying a local variable
#jira UE-44736 Fix it so changing the type of a local variable correctly resets the default value
Change 3425890 on 2017/05/05 by Marc.Audy
Fix Copy/Paste of child actor components losing the template
#jira UE-44566
Change 3425947 on 2017/05/05 by Ben.Zeigler
This was meant to be part of last checkin
Change 3425959 on 2017/05/05 by Ben.Zeigler
#jira UE-44692 Fix it so only the sequentially last node can be removed from a Switch On Int, and for Switch On Name stop it from removing an exec pin if it's the only non-default one
Change 3425979 on 2017/05/05 by Dan.Oconnor
PVS fix
Change 3425985 on 2017/05/05 by Phillip.Kavan
Fix an uninitialized variable.
#rnx
Change 3426043 on 2017/05/05 by Ben.Zeigler
#jira UE-35583 Correctly refresh array node UI when connecting pins that change it away from wildcard
Change 3426174 on 2017/05/05 by Zak.Middleton
#ue4 - Avoid call to virtual getSimulationFilterData() to only use it when needed in PreFilter if we actually have items in the IgnoreComponents list (which is rare). The sim filter data 'word2' stores the component ID.
Change 3426621 on 2017/05/05 by Phillip.Kavan
#jira UE-44708 - Fix an issue that re-introduced component data loss in a non-nativized child Blueprint class with a nativized parent Blueprint class.
Change summary:
- Removed an unnecessary additional check I had for the presence of "-NativizeAssets" switch on the command line in UBlueprint::BeginCacheForCookedPlatformData(). This check was failing because the usage was recently changed to include an optional value. It was not needed anyway so I just removed it.
#rnx
Change 3426906 on 2017/05/05 by Ben.Zeigler
#jira UE-11189 Fix function/macro input default values to show as a pin customization instead of as a broken text box that doesn't work correctly for most types. This fixes enums and provide validation for other types
Types that don't have a customization (most structs) will now show any more, they did not work before either
#jira UE-21754 Hide function default values if pass by reference is set
Fix it so changing input parameter will also reset default value, to avoid having the wrong type value set and to work the same as local variables
Change 3426941 on 2017/05/05 by Dan.Oconnor
Fix determinstic cooking of LoadAssetClass nodes in macros
Change 3427021 on 2017/05/05 by Dan.Oconnor
Build fix, make initialization order in source match artifact
#rnx
Change 3427135 on 2017/05/05 by Phillip.Kavan
#jira UE-44702 - Restore code-based interface classes to Blueprint editor UI.
Change summary:
- Partially backed out CL# 3348513 to return to previous behavior for 4.16. The UI is no longer filtering on the __is_abstract() type trait for interface classes.
- Modified FNativeClassHeaderGenerator::ExportClassFromSourceFileInner() to emit the _getUObject() declaration for native interface types as a default implementation that returns NULL rather than as a pure virtual declaration.
#rnx
Change 3427144 on 2017/05/06 by Marc.Audy
Fix init order
#rnx
Change 3427146 on 2017/05/06 by Marc.Audy
remove stray semicolon
#rnx
Change 3427242 on 2017/05/06 by Phillip.Kavan
#jira UE-44744 - Fix a regression in which a UMG Widget Blueprint property not explicitly marked as a variable would cause Blueprint nativization to fail at package time.
Change summary:
- Modified FWidgetBlueprintCompiler::CreateClassVariablesFromBlueprint() to only add 'Category' metadata when we set the 'CPF_BlueprintVisible' flag on the UProperty, which in is now tied to whether or not the property has been explcitly marked as a variable. This avoids a UHT warning when compiling the nativized codegen that would cause packaging to fail.
#rnx
Change 3427720 on 2017/05/08 by Dan.Oconnor
Backing out 3419202
#rnx
Change 3427725 on 2017/05/08 by Dan.Oconnor
SA fix
#rnx
Change 3427734 on 2017/05/08 by Dan.Oconnor
More exhaustive GEditor null checks, to appease SA
#rnx
Change 3427882 on 2017/05/08 by Marc.Audy
Properly order all booleans in intialization
#rnx
Change 3428049 on 2017/05/08 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 3427804
#rnx
Change 3428523 on 2017/05/08 by Ben.Zeigler
#jira UE-44781 Refresh function input UI when blueprint graph refreshes, needed as pins may have gone away
Change 3428563 on 2017/05/08 by Ben.Zeigler
#jira UE-44783 If setting a hard reference pin type from a string, load the referenced object.
Change 3428595 on 2017/05/08 by Dan.Oconnor
Avoid node reconstruction when we're compiling a blueprint with no linker (e.g., a duplicated blueprint)
#jira UE-44777
Change 3428599 on 2017/05/08 by Ben.Zeigler
#jira UE-44789 Fix string asset renamer to not mark IsPersistent becuase that crashes in lightmap code, change it so the path fixup doesn't require the persistent flag
Change 3428609 on 2017/05/08 by Dan.Oconnor
Improved fix for UE-44777
#jira UE-44777
#rnx
Change 3429176 on 2017/05/08 by Phillip.Kavan
#jira UE-44755 - Fix nativization build errors when packaging a game project that is not IWYU-compliant for a build target that disables PCH files.
- Mirrored from //UE4/Release-4.16 (CL# 3429030).
#rnx
Change 3429198 on 2017/05/08 by Phillip.Kavan
CIS fix.
#rnx
Change 3429583 on 2017/05/08 by Ben.Zeigler
Fix SGraphPinClass to work properly after my changes to allow unloaded assets. For Class pins we need to store separate Runtime and Editor asset data objects, as one has _C and refers to the class, and the other doesn't and refers to the blueprint. The content browser wants the editor path, the pin defaults want the runtime path.
Change default value widgets to look more like properties widgets by forcing them to act as highlighted and disabling black background
Change 3429640 on 2017/05/08 by Marc.Audy
Fix issues with select nodes in macros connected to wildcard pins.
#jira UE-44799
#rnx
Change 3429890 on 2017/05/08 by Ben.Zeigler
Fix function/macro defaults to properly propagate when changed using the new edit UI
Refactor some code out of the details customization into the k2 schema
Disable defaults UI for object/class/interface hard references as it is disabled in KismetCompiler
Change 3429947 on 2017/05/08 by Michael.Noland
Core: Backing out CL# 3394352 (marking FDateTime and FTimespan nonexport member Tick with UPROPERTY()), which will re-break UE-39921 but fix UE-44418
There appears to be a more serious underlying issue with how the CDO is instanced which needs to be addressed
#jira UE-44418
#reimplementing 3411681 from Release 4.16
Change 3429987 on 2017/05/08 by Ben.Zeigler
#jira UE-44798 Do a better job of validating object paths saved as default values, due to an old bug with local variables some object paths are saved as struct exportext
At load time clear invalid default value for local variables
Add IsValidObjectPath to FPackageName that validates the passed in path would be valid to load with LoadObject
Change 3430392 on 2017/05/09 by Marc.Audy
Fix SA CIS error
#rnx
Change 3430747 on 2017/05/09 by Ben.Zeigler
#jira UE-44836 Don't reconstruct node during callback for param value changing, this can happen during a reconstruction and recursive reconstruction is unsafe
Don't call ModifyUserDefinedPinDefaultValue unless the default value has actually changed
Change 3431027 on 2017/05/09 by Marc.Audy
Fix BPRW mark up causing Ocean warnings
#rnx
Change 3431353 on 2017/05/09 by Marc.Audy
Fix UHT error due to exposing FJsonObjectWrapper to blueprints
#rnx
[CL 3431398 by Marc Audy in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3342222 on 2017/03/10 by Nick.Darnell
UMG - Adding a GetContent to the UContentWidget.
Change 3342228 on 2017/03/10 by Nick.Darnell
Project Launcher - Always consume mouse wheel vertically so it stops scrolling to the right.
Change 3342310 on 2017/03/10 by Nick.Darnell
UMG - Cleaning up some extra class references.
Change 3343382 on 2017/03/13 by Jamie.Dale
Applying optimization to FChunkManifestGenerator::ContainsMap
Change 3343523 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing"
- Enabling this allows you to see every property on selected objects that belong to a simulating world, even non-visible and non-editable properties. Very useful for inspection and debugging.
- Remember to change World Outliner to show you actors in the "Play World" if you want to select and inspect those objects first!
- This setting is saved for your entire project, similar to "Show All Advanced"
Change 3343573 on 2017/03/13 by Mike.Fricker
New details view option: "Show Hidden Properties while Playing" (part 2)
- Fixed missing include / unity issue
Change 3343709 on 2017/03/13 by Jamie.Dale
Some fixes for gathering cached dependency data
- We no longer load dependency data that doesn't have the correct package name.
- We no longer populate the dependency results when bGatherDependsData is false.
Change 3343900 on 2017/03/13 by Alexis.Matte
fix crash when creating too much LOD at import
#jira UE-42785
Change 3344104 on 2017/03/13 by Alexis.Matte
Add a boolean to the static mesh socket so we know if the socket was imported or created in UE4. This allow us to not impact editor socket when we re-import a fbx
#jira UE-42736
Change 3344802 on 2017/03/14 by Michael.Dupuis
#jira UE-42244 : added missing nullptr so render thread wont try to access global var when we're no longer in landscape mode
Changed the sync method between graphic resource from render thread and game thread to prevent desync
Change 3346061 on 2017/03/14 by Jamie.Dale
Adding const& and && overloads of FText::Format
Change 3346192 on 2017/03/14 by Arciel.Rekman
Linux: fix VHACD to retain bincompat with the baseline (UE-42895).
- It is now compiled against libc++ instead of libstdc++ in the toolchain.
Change 3347083 on 2017/03/15 by Andrew.Rodham
Fixed crash when changing anchors on a background blur widget
Change 3347359 on 2017/03/15 by Michael.Dupuis
#jira UE-38193:
Added Rename, Delete, New Folder, Size Map, Show In Explorer for folder and asset in the path view and asset view
Change 3347382 on 2017/03/15 by Michael.Dupuis
missing include incremental
Change 3347500 on 2017/03/15 by Alex.Delesky
#jira UE-41231 - Selecting multiple text widgets in UMG will now allow you to set their value correctly, and the "Multiple Values" text will no longer be set in the widgets instead.
Change 3347920 on 2017/03/15 by Jamie.Dale
Fixing some places passing tooltips as FString rather than FText
#jira UE-42603
Change 3347925 on 2017/03/15 by Jamie.Dale
Re-saving some assets so their tooltips can be gathered
#jira UE-42603
Change 3348788 on 2017/03/15 by Jamie.Dale
Updated the Windows platform to use the newer Vista+ style browser dialogs, rather than the older XP style dialogs
Change 3349187 on 2017/03/16 by Andrew.Rodham
Sequencer: Added the ability to specify additional event receivers for level sequence actors
- Such actors will receive events from event tracks
Change 3349194 on 2017/03/16 by Andrew.Rodham
Sequencer: Reset compiled templates on load in the editor, and ensure correct serialization of generation ledger
- Resetting on load means that we guarantee up-to-date templates, even if underlying compilation logic changes.
#jira UE-42198
#jira UE-40969
Change 3349210 on 2017/03/16 by Andrew.Rodham
Sequencer: Event tracks can now be defined to trigger events at the start of evaluation, after objects are spawned, or at the end of evaluation
Change 3349211 on 2017/03/16 by Andrew.Rodham
Sequencer: Add ability to retrieve bound objects from blueprint
Change 3349398 on 2017/03/16 by Nick.Darnell
UMG - Fixing a flashing hierarchy view. Looks like assets continuing to stream in causing the object change notification to continue to fire, and the widget designer refreshed any time it happened. Now limit to only if widgets are changing.
Change 3349420 on 2017/03/16 by Alex.Delesky
#jira UE-40720 - Multiline editable text boxes can now be set to Read-Only.
Change 3349548 on 2017/03/16 by Alexis.Matte
Fbx importer, when importing a staticmesh with combine mesh option check and the fbx file contain some "MultiSub Material" the materialinstance are now always hook properly.
Change 3349818 on 2017/03/16 by Cody.Albert
Fixed constructor for FNavigationMetaData
Change 3350047 on 2017/03/16 by Cody.Albert
Removed unneeded check so that children actors are never orphaned when their parent is moved into a newly created folder in the world outliner
Change 3350072 on 2017/03/16 by Arciel.Rekman
ShaderCompiler: make sure strings are at least 4-byte aligned.
- Can crash wcscpy() under Linux otherwise (reported by a licensee).
Change 3350146 on 2017/03/16 by Arciel.Rekman
Fix CodeLite project generation (UE-42921).
- Reportedly causes a crash in CodeLite 10.x
Change 3350235 on 2017/03/16 by Arciel.Rekman
Fix memory leak in address symbolication on Linux.
- Makes MallocProfiler work again.
- Also add progress update in MallocProfiler since symbolication is still slow.
Merging CL 3338764 from Fortnite to Dev-Editor.
Change 3350382 on 2017/03/16 by Arciel.Rekman
Linux: fix incorrect cast of rlimit in i686.
Change 3350471 on 2017/03/16 by Jamie.Dale
Enabling loc dashboard by default for new projects
Change 3350516 on 2017/03/16 by Jamie.Dale
Enabling content hot-reloading by default
Change 3350582 on 2017/03/16 by Cody.Albert
Corrected Widget Interaction Component to use current impact point instead of last impact point
Change 3350945 on 2017/03/16 by Jamie.Dale
Gave FConfigFile::FindOrAddSection API linkage
Change 3351441 on 2017/03/17 by Michael.Dupuis
#jira UE-42843: Fixed Transaction begin/end order issue happening with min slider passing max slider value
Add support for multiple selection value display
Change 3351558 on 2017/03/17 by Michael.Dupuis
#jira UE-42845: Always refresh the detail panel to properly update for selection change, delete, etc.
Change 3351657 on 2017/03/17 by Matt.Kuhlenschmidt
Adding USD Third Party dependencies
Change 3351665 on 2017/03/17 by Matt.Kuhlenschmidt
Added experimental USD Importer Plugin
This plugin supports basic static mesh importing and scene creation of actors using static meshes
Change 3351682 on 2017/03/17 by Matt.Kuhlenschmidt
Enabling USD importer in engine test project for automation tests
Change 3351749 on 2017/03/17 by Alexis.Matte
Make sure the selection proxy is off for the skeletal mesh component. UE4 use the selection outline instead
#jira UE-41677
Change 3351831 on 2017/03/17 by Michael.Dupuis
#jira UETOOL-1102:
Added HSV controls to Color Grading
Some look improvement for RGV/HSV
Color Grading refactor
Group Reset bug fix (relevant only to color grading)
Change 3352041 on 2017/03/17 by Matt.Kuhlenschmidt
Updated USD plugin whitelisting
Change 3352093 on 2017/03/17 by Michael.Dupuis
when FREEZERENDERING is called, stop the foliage culling too
Change 3352211 on 2017/03/17 by Alexis.Matte
Fix the physic asset missing skeleton warning
#jira UE-43006
Change 3352336 on 2017/03/17 by Alexis.Matte
We now allow a negative W value of the ScreenPoint vector in the ScreenToPixel function. In this case we simply reverse the W value to kept the manipulator direction on the good side.
#jira UE-37458
Change 3352947 on 2017/03/17 by Phillip.Kavan
#jira UE-42510 - Instanced static mesh transform edits are now reflected in the Blueprint editor's preview scene.
Change summary:
- Added IPropertyHandle::GetValueBaseAddress() (interface).
- Modified IPropertyHandle::NotifyPostChange() to include EPropertyChangeType as an optional input.
- Added FPropertyHandleBase::GetValueBaseAddress() (implementation).
- Modified FPropertyHandleBase::NotifyPostChange() to include the optional input arg in the property change event.
- Modified FPropertyHandleBase::CreatePropertyNameWidget() to clear the override text after temporarily replacing display name/tooltip text for the creation of the SPropertyNameWidget. This was done to allow for transactions to be named according to the property that's being modified.
- Modified FMathStructProxyCustomization::OnValueCommitted() to only apply the input value while not interactively editing via spinbox as well as when not post-processing an undo/redo (which can trigger a focus loss).
- Modified the FMathStructProxyCustomization::OnEndSliderMovement() delegate to include property handle and proxy value input parameters, as well as to call FlushValues() as part of the implementation.
- Modified FlushValues() for each of FMatrixStructCustomization, FTransformStructCustomization and FQuatStructCustomization to explicitly handle both propagation and transaction processing.
- Modified UInstancedStaticMeshComponent::UpdateInstanceTransform() to call Modify() prior to applying changes (so that the previous state is recorded when inside a transaction context).
- Modified FInstanceStaticMeshSCSEditorCustomization::HandleViewportDrag() to propagate changes to all instances of the ISMC archetype.
Known issues:
- Using the spinbox to edit instanced mesh transform values in the Blueprint editor will not apply the change to instances in the level editor until after you release the mouse button (i.e. - it will not be shown as a "live" update).
Change 3353678 on 2017/03/20 by Michael.Dupuis
properly unfreeze the culling of foliage when toggling the freezerendering command
Change 3353747 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3372: Git plugin: fix update status on directories hotfix (still) slightly broken in master (UE4.16) (Contributed by SRombauts)
Change 3353749 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3373: Git Plugin: hotfix for regression off Visual Diffs with older version of Git in master (UE4.16) (Contributed by SRombauts)
Change 3353754 on 2017/03/20 by Matt.Kuhlenschmidt
PR #3390: Allow OBJ imports to change if materials and textures are also imported (Contributed by mmdanggg2)
Change 3353909 on 2017/03/20 by Matt.Kuhlenschmidt
Fixed actors showing thumbnails in details panel and made a few other tweeks to thumbnail displays in details panels
- The color of the accepted type is now shown properly
- All object based properties now have thumbnails on by default.
Change 3353948 on 2017/03/20 by Nick.Darnell
UMG - Updating the background blur widget's upgrade code to use the custom version, and handling older cases that were continuing to generate blur slots, even when already upgraded.
Change 3354335 on 2017/03/20 by Nick.Darnell
Paragon - Excluding Archetype objects from reporting references, which causes crashes in the fast template mode.
Change 3354495 on 2017/03/20 by Nick.Darnell
Core - Making it so order that outers are discovered does not matter, initializing the chain of outers if hasn't been created when instancing subobjects.
Change 3354578 on 2017/03/20 by Nick.Darnell
Slate - There's now a console variable option, Slate.VerifyHitTestVisibility (off by default) which enables additional visibility checks for widgets. Normally this isn't nessesary, but if you're changing the visibility of widgets during a frame, and several hit tests need to be performed that frame there's a chance that a button could be clicked twice in one frame. Enabling this mode will make all hit testing more expensive, so for now it's off by default, but available for licensees that need the extra testing.
Change 3354737 on 2017/03/20 by Nick.Darnell
Core - Adding a fix to Dev-Editor from that enables objects in the same package being requested to also be loaded. This came about during async streaming callbacks alerting that a requested class was done loading, but there were still other assets in the package 'not loaded' but were available, just needed post load called on them.
Change 3355923 on 2017/03/21 by Yannick.Lange
VR Editor: - Remove unnecessary cleanup functions.
- Initialize with VR Mode and remove SetOwner function, since it shouldn't be possible to reset the VR Mode afterwards.
Change 3355959 on 2017/03/21 by Yannick.Lange
VR Editor: - Rename VREditorWorldInteraction to VREditorPlacement, to avoid confusion with ViewportWorldInteraction. VREditorPlacement will only handle placing objects from content browser in the VR Mode.
- Removed SnapSelectedActorsToGround to VREditorMode.
Change 3355965 on 2017/03/21 by Yannick.Lange
VR Editor: Forgot to add files to previous submit 3355959.
Change 3355977 on 2017/03/21 by Yannick.Lange
VR Editor: Remove function to add a new extension with TSubclassOf<UEditorWorldExtension>.
Change 3356017 on 2017/03/21 by Yannick.Lange
VR Editor: - UI system check owner VRMode.
- UI system fix check on VRMode on shutdown.
Change 3356028 on 2017/03/21 by Nick.Darnell
Slate - SButton now correctly releases mouse capture even if it becomes disabled while pressed, but before 'click' has been fired.
#jira UE-42777
Change 3356071 on 2017/03/21 by Yannick.Lange
VR Editor: Copy of change 3353663.
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Cleanup FLandscapeToolInteractorPosition.
- Change from 3353663: Use TStrokeClass::UseContinuousApply and TimeSinceLastInteractorMove to decide when to apply ToolStroke on tick.
Change 3356180 on 2017/03/21 by Michael.Dupuis
Added ShowFlag Foliage Occlusion Bounds
Fixed non initialized variable
Expose changing Min Occlusion Bounds instead of assuming 6
#rn none
Change 3356347 on 2017/03/21 by Nick.Darnell
UMG - Introducing a faster CreateWidget. When cooking, the widget compiler now generates a widget template/archetype that is stored in the same package as the generated blueprint class. During compiling we generate a nearly fully initialized widget tree including all sub userwidgets and their trees, hookup all member variables, initialize named slots, setup any animations...etc. This nearly fully constructed widget can be instanced using it as an archetype in the NewObject call, and does not have to use the correspondingly slow StaticDuplicateObject path. There are restrictions on this method, part of the compiling step for widgets now inspects if the instancing would be successful, or if there would be GLEO references after instancing because a user forgot to setup Instanced on a subobject property. Luckily that should be few and far between, all UVisuals (Widgets & Slots) are now DefaultToInstanced, which takes care of the overwhelming cases that demand the instanced flag. Especially given the bulk of cases using BindWidget in native code.
UMG - Removing a lot of deprecated functions from 4.8 on UUserWidget.
Change 3356357 on 2017/03/21 by Nick.Darnell
Build - Fixing some IWYU issues on the incremental build.
Change 3356461 on 2017/03/21 by Nick.Darnell
Build - Fixing linux build errors.
Change 3356468 on 2017/03/21 by Jamie.Dale
STextPropertyEditableTextBox now handles empty texts correctly
Change 3356916 on 2017/03/21 by Matt.Kuhlenschmidt
Fixed a crash when a material render proxy on a preview node is deleted when it is in flight on the render thread
#jira UE-40556
Change 3357033 on 2017/03/21 by Alexis.Matte
Fix crash when importing file with import commandlet
Make sure path are combine properly to avoid crash
Add some missing pointer check
Make sure the asset are save when there is no source control
#jira UE-42334
Change 3357176 on 2017/03/21 by Alex.Delesky
#jira UE-42445 - TMaps now support editing the values of structs that act as map keys. TMaps with struct keys will now show the types of their elements in the details panel as well, and structs will now also display numbers next to set elements.
Change 3357197 on 2017/03/21 by Alex.Delesky
#jira none - Fixing build issue for TMap key struct change.
Change 3357205 on 2017/03/21 by Michael.Dupuis
Forgot to reset min granularity to 6 from testing
Change 3357340 on 2017/03/21 by Arciel.Rekman
Mark FMallocAnsi (standard libc malloc) thread-safe on Linux.
Change 3357413 on 2017/03/21 by matt.kuhlenschmidt
Added '/Game/Effects/Fort_Effects/Materials/Smoke/M_Main_Smoke_Puff.M_Main_Smoke_Puff' to collection 'MattKTest'
Upgraded collection 'MattKTest' (was version 1, now version 2)
Change 3357505 on 2017/03/21 by Alexis.Matte
Fix to avoid changing the CDO of FbxAssetImportData. The UI was saving the Config which was saving the CDO. But already serialized data will be reload badly if the CDO change since we serialize only the diff.
#jira UE-42947
Change 3357825 on 2017/03/21 by Arciel.Rekman
Clean up the large thread pool on exit.
- Seems like the destruction was missed in the original CL 2785131 (12/1/15).
- Fixes problems when threads were allocated in memory that is being cleaned up in another place on exit.
Change 3358086 on 2017/03/22 by Yannick.Lange
VR Editor: - Fix gizmo scaling down when dragging the world.
- Fix gizmo scaling down when dragging rotation handle.
Change 3358175 on 2017/03/22 by Andrew.Rodham
Sequencer: Made ALevelSequenceActor::AdditionalEventReceivers advanced display
Change 3358367 on 2017/03/22 by tim.gautier
Submitting resaved QAGame assets - Materials, Material Instances, Material Functions and Parameters
Change 3358457 on 2017/03/22 by Yannick.Lange
VR Editor: Deleting unused UI assets.
Change 3358801 on 2017/03/22 by Matt.Kuhlenschmidt
Guard against crash if the level editor is shut down when the object system has already been shut down
#jira UE-35605
Change 3358897 on 2017/03/22 by matt.barnes
Checking in WIP test content for UEQATC-1635 (UMG Navigation)
Change 3358976 on 2017/03/22 by Alex.Delesky
#jira none - Fixing an issue where ItemPropertyNode could potentially dereference a null property
Change 3358987 on 2017/03/22 by Yannick.Lange
VR Editor: Fix warning: Can't find file for asset '/Engine/VREditor/UI/VRButtonBackground' while loading ../../../Engine/Content/VREditor/Devices/Vive/VivePreControllerMaterial.uasset.
Change 3359067 on 2017/03/22 by Yannick.Lange
VR Editor: Fix Radial Menu remains on controller after exiting VR Preview
#jira UE-42885
Change 3359179 on 2017/03/22 by Matt.Kuhlenschmidt
Fixed "Multiple Values" in Body Setup when single bone has multiple bodies
#jira UE-41546
Change 3359626 on 2017/03/22 by Arciel.Rekman
Linux: pool OS allocations.
- Add a TMemoryPool and TMemoryPoolArray classes that can be used with any type of OS allocator functions.
- Add ability to bypass CachedOSPageAllocator for given sizes. Also, corrected the condition on AllocImpl to match one on FreeImpl.
- Switch Linux to pool mmap()/munmap() by default (helps 32-bit Linux and also speeds up 64-bit one), except 64-bit servers.
- Add a test to TestPAL to check performance and thread safety.
- Misc. fixes.
Change 3359989 on 2017/03/23 by Andrew.Rodham
Sequencer: Binding overrides improvements
- Added the ability to override spawnable bindings
- Added the ability to override bindings in sub sequences
- Deprecated "Get Sequence Bindings" node in favor of "Get Sequence Binding", which is more robust, and provides a better UI/UX for selecting single bindings
#jira UE-42470
Change 3360369 on 2017/03/23 by Alexis.Matte
Fix the staticmesh conversion from UE4 4.13 to earlier UE4 versions
#jira UE-42731
Change 3360556 on 2017/03/23 by Andrew.Rodham
Sequencer: Added drag/drop support for binding overrides
- You can now drag and drop sequencer object binding nodes into blueprint graphs (to create 'Get Sequence Binding' nodes), and onto binding overrides specified on level sequence actors.
Change 3360618 on 2017/03/23 by Arciel.Rekman
Make Binned2 work on Mac.
- Game/server will use Binned2 by default.
Change 3360838 on 2017/03/23 by Nick.Darnell
CommonUI - Making the SingleMaterialStyleMID property transient. It had been serialized mistakenly onto several widgets when it appears the intent is to dynamically allocate it upon demand.
Change 3360841 on 2017/03/23 by Nick.Darnell
UMG - Updating the editor to use DuplicateAndInitializeFromWidgetTree, so that Initialize is properly called when duplicating sub widget trees.
Change 3362561 on 2017/03/24 by Matt.Kuhlenschmidt
Fixed text outlines being cropped at large sizes
#jira UE-42647
Change 3362565 on 2017/03/24 by Matt.Kuhlenschmidt
Added automation test for font outlines
Change 3362567 on 2017/03/24 by Matt.Kuhlenschmidt
Resaved this file to fix 0 engine version warnings
Change 3362582 on 2017/03/24 by Yannick.Lange
VR Editor: - Fix log warnings when teleporting.
- Fix undo/redo when using teleport scaling.
- Improved teleport scaling and push/pull input.
#jira UE-43214
Change 3362631 on 2017/03/24 by Jamie.Dale
Split the monolithic culture concept in UE4
UE4 has historically only supported the concept of a single monolithic "culture" that applied to both text localization and internationalization, as well as all asset localization. Typically the "culture" was set to the "locale" of the OS, however that could be undesirable or incorrect on platforms (such as newer versions of Windows) that have a distinct concept of "language" (for localization) and "locale" (for internationalization).
This change splits the concept of "culture" into "language" and "locale", and also adds the concept of "asset groups". The language is now used to work out which localization we should use, and the locale is used to control how numbers/dates/times/etc are formatted within our internationalization library.
Asset groups expand on the language used by asset localization and allow you to create a group of asset classes that can be assigned a different culture than the main game language. A typical use-case of this would be creating an "audio" group that could, for example, be set to Japanese while the rest of the game runs in English.
If your game doesn't care about the distinction between language and locale, and doesn't need to use asset groups, then you're able to continue to use "culture" as you always have. If, however, you do care about those things, then you'll likely want to avoid using the "culture" directly (as it's now a very aggressive setting that overrides all others), and instead favor using language/locale (games will typically treat these as the same) and asset groups as separate concepts (both in settings, and in your in-game UI).
The language or locale for a game can be controlled by settings within the "Internationalization" section of your configs (this would typically be set in your GameUserSettings config, in the same way that "culture" works), eg)
[Internationalization]
language=fr
locale=fr
The asset groups for a game can be controlled by settings within the "Internationalization.AssetGroupClasses" and "Internationalization.AssetGroupCultures" sections of your configs (the asset group class definition would typically be set in your DefaultGame config, and the cultures the groups use would typically be set in your GameUserSettings config), eg)
[Internationalization.AssetGroupClasses]
+Audio=SoundWave
+Audio=DialogueWave
[Internationalization.AssetGroupCultures]
+Audio=ja
#jira UE-38418
#jira UE-43014
Change 3362798 on 2017/03/24 by Nick.Darnell
UMG - Putting the finishing touches on the hardware cursor system. Can now load them from blueprints, and there are options for setting them up in the project settings.
UMG - Deprecating the old properties for software widget cursors. They've been moved into a map that can handle any of the mouse cursors as the enum key, which was always the intent/desire but maps couldn't be used as UProperties then.
Change 3362805 on 2017/03/24 by Jamie.Dale
PR #3397: Allow empty source to override display string (Contributed by jorgenpt)
Change 3363039 on 2017/03/24 by Jamie.Dale
Use the pre-scaled font height where possible to avoid an extra multiply
Change 3363188 on 2017/03/24 by Joe.Graf
Added support for -iterate for content plugins that require path remapping during cook/packaging
#CodeReview: matt.kuhlenschmidt
#rb: matt.kuhlenschmidt
Change 3363355 on 2017/03/24 by Nick.Darnell
UMG - Removing the CookAdditionalFiles function in UserInterfaceSettings.
Change 3363672 on 2017/03/24 by Matt.Kuhlenschmidt
Material thumbnails now respect used particle system sprites flag and show a quad insead of a sphere by default. For this change I added the ability to have per asset type override for the default thumbnail shape and I added a way to reset thumbnails to default. All existinging particle system materials that have not had a custom thumbnail will have to be reloaded and resaved for this to work
#jira UE-42410
Change 3363699 on 2017/03/24 by Mike.Fricker
VR Editor: Improved extensibility (for mesh editor)
- This was merged from CL 3352612 and re-opened for edit before commit
- All mesh editor changes were stripped before merging
Change 3363784 on 2017/03/24 by Matt.Barnes
Adding content for tests following UEQATC-3548
Change 3363872 on 2017/03/24 by Arciel.Rekman
Linux: require user to setup clang/clang++ for building hlslcc.
- Earlier we tried to handle most common scenarios since libhlslcc needed to be built during the setup. Now that we supply a prebuilt version we don't need to be as user friendly, especially given that the attempts to second guess the compiler started to look complicated.
Change 3364089 on 2017/03/24 by Matt.Kuhlenschmidt
Fix CIS
Change 3364381 on 2017/03/24 by JeanMichel.Dignard
UV Packing optim
- Use horizontal segments instead of checking texel by texel to fit source chart in layout.
- Skip a couple of rasterize by flipping either the X texels or the Y texels when possible.
- Keep the best chart raster so that we don't need to reraster when adding the chart to the layout.
- Added a lightmap UV version in StaticMesh so that we don't invalidate the lighting cache. Only use the new lightmap UV generation when going through UStaticMesh::Build which invalidates the lighting.
Change 3364587 on 2017/03/24 by Arciel.Rekman
Fix ordered comparison warning from clang 4.0.
Change 3364596 on 2017/03/24 by Arciel.Rekman
Linux: fix editor being stuck (hack).
- Rebuilt hlslcc in Debug.
Change 3364863 on 2017/03/25 by Max.Chen
Sequencer: Fixed crash when deactivating a section in sequencer
#jira UE-39880
Change 3364864 on 2017/03/25 by Max.Chen
Sequencer: Integrating fix from licensee to ensure FVirtualTrackArea::HitTestSection checks the row of the section
Change 3364865 on 2017/03/25 by Max.Chen
Cine Camera: Default post process depth of field method to CircleDOF and use that setting in UpdateCameraLens.
#jira UE-40621
Change 3364866 on 2017/03/25 by Max.Chen
GitHub #3183: Conversion to base class is inaccessible.
Change 3364869 on 2017/03/25 by Max.Chen
Sequencer: Changed the time snapping interval in the toolbar ui so that it no longer additionally updates the sequencer setting. The setting is only used to initialize the time snapping interval of the level sequence. Added translate keys with ctrl and left-right arrows.
#jira UE-41009
#jira UE-41210
Change 3364870 on 2017/03/25 by Max.Chen
Sequencer: Added translate keys with ctrl and left-right arrows.
#jira UE-41210
Change 3364871 on 2017/03/25 by Max.Chen
Sequencer: Add level sequence actor customization to open sequencer from the details panel. For matinee parity.
#jira UE-41459
Change 3364879 on 2017/03/25 by Max.Chen
Sequencer: Duplicate shot should put the duplicate on the next available row, keeping the start/end times the same.
#jira UE-41289
Change 3364880 on 2017/03/25 by Max.Chen
Sequencer: Opening the API for MovieSceneAudio-related classes along with some minor functionality additions:
- Adding _API specifiers to MovieSceneAudioTrack, MovieSceneAudioSection, and FAudioTrackEditor so they can be subclassed in other modules.
- Made GetSoundDuration function in MovieSceneAudioTrack.cpp a member function so it's functionaliy could be reused by subclasses.
- Adding ability to specify delegates for OnQueueSubtitles, OnAudioFinished, and OnAudioPlaybackPercent in a MovieSceneAudioSection, and have them automatically assigned to any AudioComponents that are played by the MovieSceneAudioTemplate
Change 3364884 on 2017/03/25 by Max.Chen
Sequencer fbx import
- Removed the PostRotation compensation as it was setuped for 3ds max.
- On import, add a rotation to camera and light animation keys like we do on export.
- Merge the component local transform with the ActorNode transform when exporting only one component that isn't the root component in fbx since we're not creating child nodes in that case.
#jira UE-34692
Change 3364885 on 2017/03/25 by Max.Chen
Sequence Recorder: Fix crash when clearing properties to record.
#jira UE-41873
Change 3364886 on 2017/03/25 by Max.Chen
Sequencer: Add error when attempting to add a circularly dependent level sequence
#jira UE-22358
Change 3364890 on 2017/03/26 by Max.Chen
Sequencer: Added ability to specify a 'notify' function to property instance bindings
- When specified, the (parameterless) function will be called after a property is set
Change 3364891 on 2017/03/26 by Max.Chen
Sequencer: Various fixes to thumbnails
- Fixed alpha blending being used when presenting the full screen quad for thumbnails
Change 3364892 on 2017/03/26 by Max.Chen
Sequencer: PreRoll and PostRoll is now exposed at the section level, for all sections
- For the majority of sections this will be unimplemented, but it will allow for some tracks to set up their data ahead of time
Change 3364896 on 2017/03/26 by Max.Chen
Sequencer: Add segment flags to equality operator for movie scene evaluation segments
- This prevents them from being accumulated into adjacent segments of the same index and forced time, but differing flags
Change 3364897 on 2017/03/26 by Max.Chen
Sequencer: Fixed "Evaluate in preroll" and "Evaluate in Postroll" options
- Pre and postroll flags now come through on compiled segments, so the previous manual logic for sub sections is obsolete; we can just use the compiled segment data directly.
Change 3364898 on 2017/03/26 by Max.Chen
Sequencer: Moved track options to be accessible on all nodes, and operate on all selected tracks
Change 3364902 on 2017/03/26 by Max.Chen
Sequencer: Ensure evaluation flags are considered when compiling segments from external sequences
- This ensures that preroll regions in sub sequences are correctly evaluated when their parent section has preroll
- Changed high pass blending to always allow preroll
Change 3364903 on 2017/03/26 by Max.Chen
Engine: Moved proxy mesh transform update out of camera view computation code
- GetCameraView can happen as part of end of frame updates, which will assert if any changes of transform happen during its processing
Change 3364908 on 2017/03/26 by Max.Chen
Sequencer: Added visualization of pre and postroll on sections
Change 3364909 on 2017/03/26 by Max.Chen
Sequencer: Prevent MovieSceneCompiler from removing preroll segments
Change 3364910 on 2017/03/26 by Max.Chen
Sequencer: MediaPlayer PreRoll/PostRoll fix
- Handle PreRoll/PostRoll on sub scenes that have a start offset
Change 3364922 on 2017/03/26 by Max.Chen
Sequencer: Add check for valid property before dereferencing.
#jira UE-40951
Change 3364923 on 2017/03/26 by Max.Chen
Sequencer: Fix MovieScene preroll so that it seeks to the start correct frame before the preroll.
Change 3364924 on 2017/03/26 by Max.Chen
Sequencer - change default behavior for pre/post roll evaluation
- MovieSceneTracks are NOT evaluated by default
Change 3364925 on 2017/03/26 by Max.Chen
Sequencer: Shot track rows now consider pre and post roll when being compiled
Change 3364926 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to define shared execution tokens, identifyable with a unique identifier, and sortable based on a sort order (<=0: before standard tokens, >0: after other tokens)
Change 3364927 on 2017/03/26 by Max.Chen
Sequencer: Added the ability to selectively restore state for specific anim type IDs for a given object
- This allows us to specifically restore one particular type of animation for a given object (ie, transform, skeletal animation control, or motion blur)
Change 3364928 on 2017/03/26 by Max.Chen
Sequencer: Fixed sub-sub tracks not being present in master sequences
- In order to correctly handle preroll in inner-inner sequences, we need to have access to those tracks when compiling intermediate sub sections. By caching off all the inner templates, we can have access to these tracks to check whether they want to be evaluated in pre/post roll in the master sequence
Change 3364937 on 2017/03/26 by Max.Chen
Sequencer: Update cine camera component debug focus plane on tick, rather than in GetCameraView
#jira UE-41332
Change 3364938 on 2017/03/26 by Max.Chen
Sequencer: Fix crash inserting a level sequence with an invalid shot.
#jira UE-41481
Change 3364940 on 2017/03/26 by Max.Chen
Sequencer: Made handling of pre and post roll more consistent between explicit section pre/post roll and pre/post roll inherited from an outer sub section
Change 3364942 on 2017/03/26 by Max.Chen
Movie Scene Capture: Move EDL generation to setup instead of close to ensure it gets written out when capturing as a separate process.
#jira UE-41703
Change 3364943 on 2017/03/26 by Max.Chen
Sequencer: Prevent capturing movies in editor while a PIE session is running
#jira UE-41399
Change 3364944 on 2017/03/26 by Max.Chen
CIS fixes
Change 3364951 on 2017/03/26 by Max.Chen
Sequencer: Fix autokey not setting a keyframe for slate color with specified color.
#jira UE-41645
Change 3364952 on 2017/03/26 by Max.Chen
Sequencer: Level sequence frame snapshots now take account of fixed-frame interval offsets, and overlapping shot sections on the same row
#jira UE-41684
Change 3364953 on 2017/03/26 by Max.Chen
Sequencer: Fix edl so that it doesn't write out when a shot is out of range. Also fixed not writing the EDL with the correct frame rate when exporting from the track. Reworked the cmx EDL so that its encoded in the same edit time space, including a blank slug at the beginning of the edit.
#jira UE-41925
Change 3364954 on 2017/03/26 by Max.Chen
Sequencer - Allow animating parameters on cascade effect components which aren't owned by an AEmitter.
Change 3364955 on 2017/03/26 by Max.Chen
Sequencer: Fixed sequencer anim instance not being used in the case where one was requested, but a different anim instance was already set
This fixes an issue when rendering in seaprate process, animations that were set up to use the sequencer instance would be controlled using montage animation instead.
Change 3364963 on 2017/03/26 by Max.Chen
Sequencer: Fix filtering to include child nodes.
#jira UE-42068
Change 3364964 on 2017/03/26 by Max.Chen
Sequencer: Enable UseCustomStartFrame and UseCustomEndFrame when rendering a single shot from the menu.
#jira UE-42021
Change 3364965 on 2017/03/26 by Max.Chen
Sequencer: Set the fade color in the track display
Change 3364966 on 2017/03/26 by Max.Chen
Sequencer: Show actor attached to label in attach section.
Change 3364967 on 2017/03/26 by Max.Chen
Sequencer: Fix static analysis warnings
Change 3364968 on 2017/03/26 by Max.Chen
Sequencer: Fix crash on converting to spawnable.
The previous implementation purported to allow null objects to set up spawnable defaults but it actually needed to compare the spawned object to the supported type. This new mechanism now allows the spawner to indicate that it accepts null objects and doesn't crash.
#jira UE-42069
Change 3364969 on 2017/03/26 by Max.Chen
Sequencer: Fixed crash caused by holding onto stale properties through a raw ptr
#jira UE-42072
Change 3364977 on 2017/03/26 by Max.Chen
Sequencer: Convert FLinearColor to FColor for fade.
#jira UE-41990
Change 3364978 on 2017/03/26 by Max.Chen
Sequencer: Limit GetAllSections to the sections that actually correspond to the track
#jira UE-42167
Change 3364979 on 2017/03/26 by Max.Chen
Sequencer: Filter root nodes too
#jira UE-42068
Change 3364980 on 2017/03/26 by Max.Chen
Sequencer: Filter relevant material parameters
#jira UE-40712
Change 3364982 on 2017/03/26 by Max.Chen
Sequencer: Remove audio range bounds which clamps to the section bounds (needed for evaluating in pre and post roll)
Change 3364983 on 2017/03/26 by Max.Chen
Sequencer: Add socket name to attach track section.
Change 3364984 on 2017/03/26 by Max.Chen
Sequencer: Fix sub track node deletion so that all the sub tracks aren't deleted, only the row being requested.
#jira UE-40955
Change 3364988 on 2017/03/26 by Max.Chen
Sequencer: Invalidate expired objects when blueprints are compiled. Fix actor references now handles sections that need to have their guids updated (ie. attach tracks).
Change 3364994 on 2017/03/26 by Max.Chen
Sequencer: Audio waveforms now show peak samples with smoothed RMS in the center
- Audio row heights are now also resizable by dragging on the bottom end of the track lane in the track area view
Change 3364995 on 2017/03/26 by Max.Chen
UMG: Fix crash on undo
#jira UE-42210
Change 3365000 on 2017/03/26 by Max.Chen
Sequencer: Fix crash from GetCurrentValue.
Change 3365001 on 2017/03/26 by Max.Chen
Sequencer: Split "Snap to the Dragged Key" option into two options, pressed key and dragged key.
#jira UE-42382
Change 3365002 on 2017/03/26 by Max.Chen
Sequencer: Downgraded check to ensure for FMovieSceneEvalTemplateBase::GetScriptStructImpl()
Change 3365003 on 2017/03/26 by Max.Chen
Sequencer: Fixed section template script struct
- Because the cpp is not parsed by UHT, the empty template had its parent struct, rather than its own
- We now just return null, and handle empty segments correctly in the segment remapper as part of the track compilation
Change 3365013 on 2017/03/26 by Max.Chen
Sequencer: Added data validation on compiled template loads, and extra guards against misuse of movie scene types
Change 3365014 on 2017/03/26 by Max.Chen
Sequencer: Sequencer now re-evaluates when starting PIE or Simulate
- This can be disabled by disabling "Bind Sequencer to PIE" and "Bind Sequencer to Simulate" in PIE advanced settings
Change 3365015 on 2017/03/26 by Max.Chen
Sequencer: Fix edl files so that they don't write out empty range shots
Change 3365017 on 2017/03/26 by Max.Chen
Sequencer: Set max tick rate when in game.
#jira UE-41078
Change 3365018 on 2017/03/26 by Max.Chen
Sequencer: When finishing a scrub, playback status is now correctly set to stopped rather than stepping
- This fixes a hack that was previously in place from the old PostTickRenderFixup that caused it to run that step after scrubbing bad finished. This is no longer necessary, and actually breaks clicking to set the scrub position, as it now means that we step across the entire range between the previous and current time.
Change 3365022 on 2017/03/26 by Max.Chen
Sequencer: Insert shot now creates a shot at the current time and puts it on the next available row.
#jira UE-41480, UE-27699
Change 3365023 on 2017/03/26 by Max.Chen
Sequencer: Add loop selection range. If there is no selection range, loop mode is restricted to loop or no loop.
#jira UE-42285
Change 3365029 on 2017/03/26 by Max.Chen
Sequencer: Add hotkeys to set the selection range to the next and previous shot (page up, page down). Also, added hotkey to set the playback range to all the shots (end)
Change 3365030 on 2017/03/26 by Max.Chen
Sequencer: Fix particle system restore state so that it gets the proper initial active state of the particle system.
#jira UE-42861, UE-42859
Change 3365031 on 2017/03/26 by Max.Chen
Sequencer: Snap time when changing time snapping intervals.
#jira UE-42590
Change 3365032 on 2017/03/26 by Max.Chen
Sequencer: Add When Finished state to sections. By default, sections now restore state.
#jira UE-41991, UE-31569
Change 3365033 on 2017/03/26 by Max.Chen
#jira UE-42028 "DialogueWave playback calls OnQueueSubtitles multiple times"
Only queue subtitles once per wave instance playback
Change 3365041 on 2017/03/26 by Max.Chen
Sequencer: Subscene hierarchical bias
Tracks can now be prioritized based on their subscene hierarhical bias value. Higher bias values take precedence.
#jira UE-42078
Change 3365042 on 2017/03/26 by Max.Chen
Sequencer: Generic paste menu for master (root) tracks.
Change 3365043 on 2017/03/26 by Max.Chen
Sequencer: Hierarchical bias for level visibility track
#jira UE-43024
Change 3365044 on 2017/03/26 by Max.Chen
Sequencer: Prevent throttling on editing keys/sections.
Change 3365045 on 2017/03/26 by Max.Chen
Sequencer: Set sequencer audio components bIsUISound to false so that they don't continue playing when the game is paused.
#jira UE-39391
Change 3365046 on 2017/03/26 by Max.Chen
Sequencer: Add missing BindLevelEditorCommands()
Change 3365049 on 2017/03/26 by Max.Chen
Sequencer: Set tick prerequites for spawnables when they are spawned.
#jira UE-43009
Change 3365050 on 2017/03/26 by Max.Chen
Sequencer: Jump to Start and End of playback shortcuts.
Rewind renamed to Jump to Start. Shortcut - up arrow.
Jump to End Shortcut - ctrl up arrow.
#jira UE-43224
Change 3365051 on 2017/03/26 by Max.Chen
Sequencer: Add last range to playback
Change 3365057 on 2017/03/26 by Max.Chen
Sequencer: Fix master sequence subscene generation times.
Change 3365058 on 2017/03/26 by Max.Chen
Sequencer: Fix paste so that it doesn't paste both onto object nodes and master tracks.
Change 3365059 on 2017/03/26 by Max.Chen
Sequencer: Fix crash pasting audio track.
Change 3365060 on 2017/03/26 by Max.Chen
Sequencer: Cache player fade state so that restore state will return the values to the pre animated state.
#jira UE-43313
Change 3365061 on 2017/03/26 by Max.Chen
Sequencer: Filter hidden functions. This fixes a bug where the field of view property for a cinematic camera appears to be animatable. It should be hidden just like it is in the property editor.
#jira UE-41461
Change 3365065 on 2017/03/26 by Max.Chen
Sequencer: Support component hierarchies when drawing animation paths
#jira UE-39500
Change 3365066 on 2017/03/26 by Max.Chen
Sequencer: Refine pause behaviour in sequencer to always evaluate the next frame
- This ensures that we get a full frame's worth of evaluation so that the paused frame is of a good quality (and avoids us evaluating a tiny range)
Change 3365075 on 2017/03/26 by Max.Chen
Sequencer: Fix add shot not setting next row.
Change 3365076 on 2017/03/26 by Max.Chen
Sequencer: Export MovieSceneTrackEditor
#jira UE-41641
Change 3365472 on 2017/03/27 by Yannick.Lange
VR Editor landscape. Back out changelist 3356071 with new proper fixes.
CL 3356071 introduced another bug and it wasn't correct because of removing FLandscapeToolInteractorPosition. This changelist fixes the same and additional bugs for VREditor Landscape mode.
- Fix when sculpting/painting the position wouldn't update.
- Fix inverted action for brushes while holding down shift or modifier on motioncontroller.
- Fix VREditor Landscape Texture Painting does not paint continuously
- Fix having to press once on the landscape to see the visuals for landscape editing.
- Removed Interactor parameter from BeginTool.
#jira UE-42780, UE-42779
Change 3365497 on 2017/03/27 by Matt.Kuhlenschmidt
Fix texture importing when an FBX file incorrectly reports absolute path as relative. First we try absolute, then we try fbx reported relative, then we try relative to parent FBX file.
Change 3365498 on 2017/03/27 by Matt.Kuhlenschmidt
Fix attempting to load a package in FBX scene import when the import path is empty. This greatly reduces FBX scene import time
Change 3365504 on 2017/03/27 by Yannick.Lange
VR Editor landscape fix ensure in when starting to paint/sculpt. Mousemove on tool should only be called when the tool is actually active, not when hovering.
Change 3365551 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3425: Added Scrollbar customization to SComboBox (Contributed by Altrue)
#jira UE-43338
Change 3365580 on 2017/03/27 by Matt.Kuhlenschmidt
PR #3409: Add support for per-Category filtering in Output Log (Contributed by thagberg)
Change 3365672 on 2017/03/27 by Andrew.Rodham
Sequencer: Preanimated state producers can now produce null tokens
- Doing so implies no preanimated state should be saved
Change 3365791 on 2017/03/27 by Andrew.Rodham
Sequencer: Added Material Parameter Collection track
Change 3365806 on 2017/03/27 by Max.Chen
Sequencer: Add option to instance sub sequences.
#jira UE-43307
Change 3365822 on 2017/03/27 by Matt.Kuhlenschmidt
Subdue the output log font color a bit
Change 3365846 on 2017/03/27 by Jamie.Dale
Added package redirection on load/find
Change 3365852 on 2017/03/27 by Jamie.Dale
Adding a way to mark a package as no longer missing
Change 3365896 on 2017/03/27 by Jamie.Dale
Adding GlobalNotification to Slate
This is the guts of the GlobalEditorNotification, so it can be used by code that doesn't link to UnrealEd.
Change 3365900 on 2017/03/27 by Jamie.Dale
Prevent the default cooked sandbox from trying to read non-cooked assets
Change 3366550 on 2017/03/27 by Max.Chen
Sequencer: Fix case
Change 3367301 on 2017/03/28 by Andrew.Rodham
Tests: Added test actor with a variety of properties for testing purposes
Change 3367303 on 2017/03/28 by Andrew.Rodham
Tests: Enabled ActorSequenceEditor plugin in EngineTest project
Change 3367304 on 2017/03/28 by Andrew.Rodham
Tests: Added several functional testing maps for sequencer
- SequencerTest_Properties - tests animating various property types
- SequencerTest_Events - tests basic event triggering functionality (including additional event receivers and event ordering)
- SequencerTest_BindingOverrides - tests overriding possessable and spawnable bindings, along with bindings in sub sequences
- SequencerTest_ActorSequence - tests basic actor sequence functionality
Change 3367465 on 2017/03/28 by Max.Chen
Sequencer: Set Bind Sequencer to PIE off by default, Bind Sequencer to Simulate remains on by default.
Change 3367515 on 2017/03/28 by Matt.Kuhlenschmidt
Guard against visual studio accessor crash
#jira UE-43368
Change 3368118 on 2017/03/28 by Alexis.Matte
Fix the staticmesh conversion from 4.13. There was a error in the LOD loop we where not remapping the LOD 0.
#jira UE-42731
Change 3368485 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for MacOSX 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368495 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - Updated SVN Binaries for Windows 64-bit:
- Subversion 1.9.4 -> 1.9.5
- OpenSSL 1.0.2h -> 1.0.2k
- BerkeleyDB 5.3.15 -> 6.2.23
- Java 8u101 -> 8u121
- Sqlite 3.13.0 -> 3.17.0
- Serf 1.3.8 -> 1.3.9
- Swig 3.0.10 -> 3.0.12
- ZLib 1.2.9 -> 1.2.11
Change 3368501 on 2017/03/28 by Alex.Delesky
#jira UE-42207 - SVN Build instructions for Windows and Mac 64-bit libraries, and license files for Mac libraries
Change 3368782 on 2017/03/28 by Nick.Darnell
UMG - Improving some logging for fast widget creation.
Change 3368826 on 2017/03/28 by Nick.Darnell
Slate - Slate Application now maintains seperate tracking for each pointer being utilized for drag drop, so now multiple fingers on multiple widgets can now simultaneously be attempting a drag, however once one of them becomes successful, we clear all state of all other tracking since only one Drag Drop operation is possible at a time.
Slate - bFoldTick is now removed from the codebase, we haven't supported the other (non-folded) code path for awhile, so there was no point in maintaining the switch.
Slate - Users have noticed issues where the cursor does not appear when changing visibility (through toggling the way the cursor appears). This was rooted in how the OS requested cursor changes, WM_SETCURSOR on Windows only asks for new cursors when the mouse moves, but often cursors change just because mouse capture changes. So now the path has been centralized in Slate Tick to only handle the cursor changes in one place, and several places that need to refresh the cursor state, now set a flag to handle it on next tick.
#jira UE-40486
Change 3368917 on 2017/03/28 by Arciel.Rekman
Linux: allow building with clang 4.0.
Change 3369074 on 2017/03/28 by Nick.Darnell
UMG - Fixing some spelling on the hardware cursor tip.
UMG - Changed some checks to ensure now that users can input the wrong data from the editor. Adding some clamping to the editor interface so that users are not tempted to enter incorrect hotspot ranges for their cursors.
#jira UE-43419
#jira UE-43425
Change 3369137 on 2017/03/28 by Max.Chen
Sequencer: Add given master track sets the outer to the movie scene.
Change 3369360 on 2017/03/29 by Andrew.Rodham
Sequencer: Reconciled 3349194 and 3365041 with animphys merge
Change 3369410 on 2017/03/29 by Alexis.Matte
Fix the select filename in the FileDialog "Desktop window platform"
#jira UE-43319
Change 3369475 on 2017/03/29 by Nick.Darnell
PR #3413: UE-37710: Proper scaling of WebBrowserViewport (Contributed by projectgheist)
Modified - you can't use the clip rect to decide on how large you should be.
#jira UE-37710
Change 3369775 on 2017/03/29 by Max.Chen
ControlRig: Fix crash on exit.
#jira UE-43411
Change 3370466 on 2017/03/29 by Nick.Darnell
AsyncLoading - Adding USoundBase to the set of CDOs that have a particular fixed boot order.
StreamableManager - Only showing the duplicate load error in debug builds, it's not a real error.
#jira UE-43409
Change 3370570 on 2017/03/29 by Nick.Darnell
Slate - Fixing a bug with ZOrder being discarded on the SOverlay Slot.
#jira UE-43431
Change 3370644 on 2017/03/29 by Andrew.Rodham
Temporarily disabling sequencer functional test "Event Position"
Change 3370713 on 2017/03/29 by Nick.Darnell
PR #3399: UE-42831: Anchor text ignores scale (Contributed by projectgheist)
#jira UE-43156
#jira UE-42831
Change 3371243 on 2017/03/30 by Arciel.Rekman
Linux: scale OS allocation pool to match memory size.
- Number of distinct VMAs (contiguous virtual memory areas, i.e. mappings done via mmap()) is rather low (~64k)
and we can run out of VMAs earlier than we will run into available memory. Larger pool makes this less likely.
Change 3371262 on 2017/03/30 by Arciel.Rekman
Linux: fix custom present.
- PR #3383 contributed by yaakuro.
Change 3371301 on 2017/03/30 by Arciel.Rekman
Linux: fix copying to a non-existent directory during Setup.
Change 3371307 on 2017/03/30 by Andrew.Rodham
Editor: Added "Resave All" functionality to content browser folders
Change 3371364 on 2017/03/30 by Andrew.Rodham
Sequencer: Level streaming improvements
- Tick prerequisites are now set up when any object binding is resolved, not at the start of the sequence. This unifies code between spawnables and possessables, and allows tick prerequisites to still be set up when levels are streamed in
- Actor references are no longer resolved when a PIEInstance is specified on the package, and it cannot be fixed up to a different ptr than the original. This stops us resolving actors from one world into another.
- Fixed level visibility request getting cleared when the cumulative total was 0 (it should only do this if there are no requests left)
#jira UE-43225
Change 3371365 on 2017/03/30 by Andrew.Rodham
Tests: Sequencer level streaming tests
Change 3371493 on 2017/03/30 by Nick.Darnell
PR #3408: UE-19980: Added FCanExecuteAction to prevent keyboard shortcut. (Contributed by projectgheist)
Change 3371524 on 2017/03/30 by Nick.Darnell
PR #2938: Minor UMG code fixups (Contributed by projectgheist), accepted most of the changes.
Change 3371545 on 2017/03/30 by Nick.Darnell
UMG - Fixing some minor issues with WidgetComponents not properly limiting input depending on what is supported with reguard to hardware input.
Change 3371576 on 2017/03/30 by Matt.Kuhlenschmidt
PR #3433: Fix for the Standalone D3D Slate Shader using the wrong value for the. (Contributed by megasjay)
Change 3371590 on 2017/03/30 by Nick.Darnell
UMG - Fixing widget alignment in the viewport when using the widget component with screen space, with an aspect ratio lock on the player's camera. The widgets should now show up in the right locations.
Change 3371625 on 2017/03/30 by Alexis.Matte
Fix the merge tool material id assignment
#jira UE-43246
Change 3371666 on 2017/03/30 by Nick.Darnell
UMG - Reducing logging, don't need to tell everyone all the time we're using the fast widget path.
Change 3371687 on 2017/03/30 by Arciel.Rekman
Linux: switch to new managed filehandles.
Change 3371778 on 2017/03/30 by Matt.Kuhlenschmidt
Fixed the animation to play property on skeletal meshes being too small to read anything
#jira UE-43327
Change 3372709 on 2017/03/30 by Matt.Kuhlenschmidt
Made slate loading widget / movie play back more thread safe by eliminating Slate applicaiton or the main window from being ticked directly on another thread. We now have a separate virtual window for ticking and painting the loading screen widgets in isolation
Change 3372757 on 2017/03/30 by Nick.Darnell
Paragon - Fixing cases where people were using PostLoad() where really it should have done when the widget was constructed or created. This is a side effect of the FastWidget creation path 'PostLoad()' is not called on newly constructed widgets, though it did before because part of duplicating the WidgetTree, required serialization, which would have called it.
Change 3372777 on 2017/03/30 by Nick.Darnell
Fixing fast widget template cooking so that it does the same logic as Initialize did, centralizing the code to find the first widgetblueprintclass.
Change 3372949 on 2017/03/30 by Nick.Darnell
UMG - Fixing some cooking crashes for the super class.
Change 3373139 on 2017/03/30 by Jeff.Farris
Added TimingPolicy option to WidgetComponent, so widgets can optionally tick in game time rather than real time.
(Copy of CL 3279699 from Robo Recall to Dev-Editor)
Change 3373235 on 2017/03/30 by Nick.Darnell
Fixing a cooking issue, accidentally removed code that was properly loading some needed assets.
Change 3373266 on 2017/03/30 by Matt.Kuhlenschmidt
Made GetMoviePlayer thread safe. Simply accessing GetMoviePlayer is safe now as is checking IsLoadingFinished. However, most of the functions on movie player are only safe from the game thread!
Change 3374026 on 2017/03/31 by Andrew.Rodham
Sequencer: Moved evaluation group registration to IMovieSceneModule
#jira UE-43420
Change 3374060 on 2017/03/31 by Yannick.Lange
VR Editor: Collision on motion controllers in simulate.
Change 3374185 on 2017/03/31 by Nick.Darnell
Attempting to fix the build.
Change 3374232 on 2017/03/31 by Max.Chen
Sequencer: Fix audio not playing in editor
#jira UE-43514
Change 3374322 on 2017/03/31 by Nick.Darnell
UMG - SafeZone widget now has comments, and useful tips. Using the debugging console commands now trigger the broadcast that will cause controls like the SSafeZone widget to resample the display metrics to learn the new safezone ratio.
Change 3374424 on 2017/03/31 by Max.Chen
Updated test content so that the door animation is now set to "Keep State" for the When Finished property.
#jira UE-43519
Change 3374447 on 2017/03/31 by Max.Chen
Sequencer: Notify streaming system prior to camera cuts
By default, this does nothing. Users will need to enable the preroll section of camera cuts for the streaming system to activate prior to cutting to cameras.
#jira UE-42406
Change 3374571 on 2017/03/31 by Andrew.Rodham
Sequencer: Unified global and object-bound pre animated state, added InitializeObjectForAnimation method to state producers
Change 3374578 on 2017/03/31 by Andrew.Rodham
Sequencer: Added unit tests for pre-animated state
Change 3374592 on 2017/03/31 by Max.Chen
Color Customization: Set curve color names.
#jira UE-43405
Change 3374596 on 2017/03/31 by Andrew.Rodham
Corrected documentation comment
Change 3374671 on 2017/03/31 by Matt.Kuhlenschmidt
Fix movie scene audio track not compiling outside of editor
Change 3374689 on 2017/03/31 by Matt.Kuhlenschmidt
Remove the slate thread masquerading as the game thread in IsInGameThread
Change 3374730 on 2017/03/31 by Max.Chen
Sequencer: Add check for null loaded level.
Change 3374732 on 2017/03/31 by Max.Chen
Sequencer: Remove null tracks on postload.
Change 3374737 on 2017/03/31 by tim.gautier
- Updated UMG_Optimization: Adjusted Variable names to resolve compile errors due to Widget Components and Variables sharing names (cannot be done with new compile improvements)
- Set Level Blueprint for TM-UMG back to AllPalettes
Change 3374987 on 2017/03/31 by Nick.Darnell
UMG - Introducing a way to inform the widgets more information about the designer. There's now a DesignerChanged event sent to all design time widgets letting them know things like the current screen size and DPI scale.
UMG - The SafeZone widget will now show the correct safe zone amount if you use the safezone command line options, which are now documented in the comment for the USafeZone class.
Change 3375599 on 2017/03/31 by Max.Chen
Cine Camera: Update camera debug plane when property changes, rather rely soley on tick. This fixes a bug where sliding the value on the details panel doesn't update the debug plane in the viewport simultaneously.
#jira UE-43543
Change 3375601 on 2017/03/31 by Arciel.Rekman
Linux: switch to v9 cross-toolchain.
Change 3375856 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed 'formal parameter with requested alignment of 16 won't be aligned'
Change 3375870 on 2017/04/01 by Andrew.Rodham
Sequencer: Fixed explicit template instantiation ocurring before the complete definition of type's members
- This resulted such members not being instantiated (and hence exported) when compiled with clang
Change 3376114 on 2017/04/02 by Arciel.Rekman
Linux: make source code accessor aware of clang 3.9 and 4.0.
Change 3376138 on 2017/04/02 by Arciel.Rekman
Linux: add clang to fedora deps (UE-42123).
- PR #3273 submitted by cpyarger.
Change 3376159 on 2017/04/02 by Arciel.Rekman
Linux: some support for building on Debian Sid or Stretch (UE-35841).
- Basd on PR #2790 by haimat.
Change 3376163 on 2017/04/02 by Arciel.Rekman
Linux: install latest clang on Arch (UE-42341).
- This undoes PR #1905.
- PR #2897 by SiebenCorgie.
- PR #3302 by awesomeness872.
- PR #3341 by patrickelectric.
Change 3376167 on 2017/04/02 by Arciel.Rekman
Add FreeBSD mem info (courtesy support for the out of tree build) (UE-42994).
- PR #3378 by mdcasey.
Change 3376168 on 2017/04/02 by Arciel.Rekman
Linux: fixed VHACD Makefile on a case sensitive fs (UE-42905).
- PR #3381 by slonopotamus.
Change 3376177 on 2017/04/02 by Arciel.Rekman
SlateDlg: case-insensitive comparison of filter extensions (UE-39477).
- PR #3019 by aknarts.
Change 3376178 on 2017/04/02 by Arciel.Rekman
WebRTC: only x86_64 version exists for Linux.
Change 3376245 on 2017/04/03 by Andrew.Rodham
Sequencer: Re-enabled event order test
Change 3376339 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash during loading movie playback on DX12 due to not ever cleaning up old resources
#jira UE-27026
Change 3376481 on 2017/04/03 by Alex.Delesky
#jira UE-43495 - TMaps will now support customized key properties correctly.
Change 3376741 on 2017/04/03 by Matt.Kuhlenschmidt
Fix crash flushing font cache when loading a movie. This is no longer save on the slate movie thread
#jira UE-43567
Change 3376763 on 2017/04/03 by Shaun.Kime
Material Reroute nodes do not work for Texture Object Parameters as they return a base output type. Modified logic to now support this node type.
#jira UE-43521
Change 3376836 on 2017/04/03 by Jamie.Dale
Fixed text format history being clobbered by reference collection
#jira UE-37513
Change 3376852 on 2017/04/03 by Nick.Darnell
Paragon - Found a case where a user had marked a BindWidget property as Transient which prevents serializing the property binding now for widget fast mode.
#jira UE-43564
Change 3377207 on 2017/04/03 by Jamie.Dale
Desktop platform directory pickers are expected to return absolute paths
File pickers return relative paths though, and we should make this consistent at some point.
#jira UE-43588
Change 3377214 on 2017/04/03 by Matt.Kuhlenschmidt
Fix movie player shutdown crash in non-editor builds
#jira UE-43577
Change 3377299 on 2017/04/03 by Michael.Dupuis
#jira UE-43586 : properties should be non transactional
#jira UE-43559
Change 3378333 on 2017/04/04 by Michael.Dupuis
#jira UE-43585
#jira UE-43586
Revert back to purple color
Change 3378633 on 2017/04/04 by Matt.Kuhlenschmidt
Resaved this asset to avoid zero engine version warnings
Change 3378958 on 2017/04/04 by Nick.Darnell
Automation - Fixing the race condition to finish compiling shaders on screenshots for UI.
[CL 3379345 by Matt Kuhlenschmidt in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2806214 on 2015/12/16 by Michael.Schoell
Connection draw policy refactored into a factory system.
PR#1663
#jira UE-22123 - GitHub 1663 : Implement PinConnectionPolicy factory system
Change 2806845 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed varioaus problem.
Some limitations of included header list were reverted :(
Any compilation-time optimization are premature (as far as Orion cannot be compiled).
#codereview Dan.Oconnor
Change 2806892 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed compilation error "fatal error C1001: An internal error has occurred in the compiler."
Change 2807020 on 2015/12/17 by Michael.Schoell
Recursively expand all tree items in graph context menus or My Blueprint window by holding shift when clicking on an arrow.
Change 2807639 on 2015/12/17 by Maciej.Mroz
BP C++ conversion: Fix for const-correctness. Included generated headers in structs.
Change 2807880 on 2015/12/17 by Mike.Beach
PR #1865 : Render Kismet graph pin color box with alpha
https://github.com/EpicGames/UnrealEngine/pull/1865
#github 1865
#1865
#jira UE-23863
Change 2808538 on 2015/12/18 by Maciej.Mroz
Workaround for UE-24467. Some corrupted files can be opened and fixed.
#codereivew Dan.Oconnor, Michael.Schoell
Change 2808540 on 2015/12/18 by Maciej.Mroz
BP C++ conversion: fixed const-correctness related issues
Change 2809333 on 2015/12/18 by Phillip.Kavan
[UE-23452] SCS/UCS component instancing optimizations
change summary:
- added FArchive::FCustomPropertyListNode
- modified various parts of serialization code to accomodate custom property lists
- added cooked component instancing data + supporting APIs to UBlueprintGeneratedClass
Change 2810216 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion:
- Fixed Compiler Error C2026 (too big string)
- Fixed a lot of errors related to const correctness. "NativeConst" and "NativeConstTemplateArg" MetaData added.
- Fixed bunch of problems with TEnumAsByte
- Fixed for error C2059: syntax error : 'bad suffix on number' - when struct name starts with a digit
- Fixed int -> bool conversion
#codereview Mike.Beach, Dan.Oconnor, Steve.Robb
Change 2810397 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion: Fixed Compiler Error C1091 (too big string)
Change 2810638 on 2015/12/21 by Dan.Oconnor
Timers for measuring VM overhead, stats for tracking individual script functions improved (now nicludes ProcessEvent). Stats system is expected to avoid double counting for object and function stats.
Change 2811038 on 2015/12/22 by Phillip.Kavan
[UE-23452] Fix uninitialized variables in cooked component data.
- should eliminate crashes introduced by last change
Change 2811054 on 2015/12/22 by Phillip.Kavan
[UE-23452] Additional fix for uninitialized USTRUCT property.
Change 2811254 on 2015/12/22 by Dan.Oconnor
More script function detail in stats
Change 2811325 on 2015/12/22 by Maciej.Mroz
Blueprint C++ Conversion: improved: ExcludedBlueprintTypes list
#codereview Dan.Oconnor
Change 2812316 on 2015/12/24 by Michael.Schoell
Added more ByValue/ByRef test cases and added a way to dump all tests that are no longer succeeding.
Tests Include:
Verification that functions take and can modify by-ref values.
ForEach loop verification. Tests for verifying that current functionality will continue to work after COPY injection and that "expected" functionality will work (and currently doesn't).
More MegaArray tests.
Change 2812318 on 2015/12/24 by Michael.Schoell
Usability fix: Duplicating graphs in the MyBP window will now open and focus the new graph.
Change 2813179 on 2015/12/29 by Michael.Schoell
When promoting pins to variables, will no longer carry bIsReference, bIsConst, or bIsWeakPointer value to the new variable's type.
Change 2813435 on 2015/12/30 by Michael.Schoell
Submitting by-value/by-ref testing BP with more tests:
More "Set Members..." tests to catch edge cases.
More Array tests.
Change 2813441 on 2015/12/30 by Michael.Schoell
[CL 2842166 by Mike Beach in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2806214 on 2015/12/16 by Michael.Schoell
Connection draw policy refactored into a factory system.
PR#1663
#jira UE-22123 - GitHub 1663 : Implement PinConnectionPolicy factory system
Change 2806845 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed varioaus problem.
Some limitations of included header list were reverted :(
Any compilation-time optimization are premature (as far as Orion cannot be compiled).
#codereview Dan.Oconnor
Change 2806892 on 2015/12/17 by Maciej.Mroz
Blueprint C++ Conversion: fixed compilation error "fatal error C1001: An internal error has occurred in the compiler."
Change 2807020 on 2015/12/17 by Michael.Schoell
Recursively expand all tree items in graph context menus or My Blueprint window by holding shift when clicking on an arrow.
Change 2807639 on 2015/12/17 by Maciej.Mroz
BP C++ conversion: Fix for const-correctness. Included generated headers in structs.
Change 2807880 on 2015/12/17 by Mike.Beach
PR #1865 : Render Kismet graph pin color box with alpha
https://github.com/EpicGames/UnrealEngine/pull/1865
#github 1865
#1865
#jira UE-23863
Change 2808538 on 2015/12/18 by Maciej.Mroz
Workaround for UE-24467. Some corrupted files can be opened and fixed.
#codereivew Dan.Oconnor, Michael.Schoell
Change 2808540 on 2015/12/18 by Maciej.Mroz
BP C++ conversion: fixed const-correctness related issues
Change 2809333 on 2015/12/18 by Phillip.Kavan
[UE-23452] SCS/UCS component instancing optimizations
change summary:
- added FArchive::FCustomPropertyListNode
- modified various parts of serialization code to accomodate custom property lists
- added cooked component instancing data + supporting APIs to UBlueprintGeneratedClass
Change 2810216 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion:
- Fixed Compiler Error C2026 (too big string)
- Fixed a lot of errors related to const correctness. "NativeConst" and "NativeConstTemplateArg" MetaData added.
- Fixed bunch of problems with TEnumAsByte
- Fixed for error C2059: syntax error : 'bad suffix on number' - when struct name starts with a digit
- Fixed int -> bool conversion
#codereview Mike.Beach, Dan.Oconnor, Steve.Robb
Change 2810397 on 2015/12/21 by Maciej.Mroz
Blueprint C++ Conversion: Fixed Compiler Error C1091 (too big string)
Change 2810638 on 2015/12/21 by Dan.Oconnor
Timers for measuring VM overhead, stats for tracking individual script functions improved (now nicludes ProcessEvent). Stats system is expected to avoid double counting for object and function stats.
Change 2811038 on 2015/12/22 by Phillip.Kavan
[UE-23452] Fix uninitialized variables in cooked component data.
- should eliminate crashes introduced by last change
Change 2811054 on 2015/12/22 by Phillip.Kavan
[UE-23452] Additional fix for uninitialized USTRUCT property.
Change 2811254 on 2015/12/22 by Dan.Oconnor
More script function detail in stats
Change 2811325 on 2015/12/22 by Maciej.Mroz
Blueprint C++ Conversion: improved: ExcludedBlueprintTypes list
#codereview Dan.Oconnor
Change 2812316 on 2015/12/24 by Michael.Schoell
Added more ByValue/ByRef test cases and added a way to dump all tests that are no longer succeeding.
Tests Include:
Verification that functions take and can modify by-ref values.
ForEach loop verification. Tests for verifying that current functionality will continue to work after COPY injection and that "expected" functionality will work (and currently doesn't).
More MegaArray tests.
Change 2812318 on 2015/12/24 by Michael.Schoell
Usability fix: Duplicating graphs in the MyBP window will now open and focus the new graph.
Change 2813179 on 2015/12/29 by Michael.Schoell
When promoting pins to variables, will no longer carry bIsReference, bIsConst, or bIsWeakPointer value to the new variable's type.
Change 2813435 on 2015/12/30 by Michael.Schoell
Submitting by-value/by-ref testing BP with more tests:
More "Set Members..." tests to catch edge cases.
More Array tests.
Change 2813441 on 2015/12/30 by Michael.Schoell
"Fixes for multicast delegates (and K2Node_Events in general) to now use FMemberReference for finding their UFunction.
#jira UE-8391 - Crash occurs adding an Overlap Event for a component
#jira UE-7976 - Adding an on event for an actor in the level blueprint results in a crash"
I've change it a bit, so it don't require ObjectVersion.h edition as it's locked. My changes are located in:
* UK2Node_Event::Serialize
* UK2Node_ComponentBoundEvent::Serialize
* UK2Node_ActorBoundEvent::Serialize
* header K2Node_Event.h lines from 16 to 39.
This change works for now as a workaround. We will change that into proper deprecation fix after ObjectVersion.h lock lift.
[CL 2435347 by Jaroslaw Palczynski in Main branch]
#add Added UEdGraphNode::GetNodeNativeTitle to return a native title for a node.
#add Added UEdGraphNode::GetNodeSearchTitle to return the native and localized title for a node, together, for searching.
#add Can hold "alt" over a node (in the graph panel, or the palette) to see the native name of the node.
#ttp 331252 - Blueprints: Editor: L10N: Blueprints need to consistently show localized node names and when searching need to search both the localized name and the native name
#codereview justin.sargent
[CL 2044506 by Michael Schoell in Main branch]