Commit Graph

56 Commits

Author SHA1 Message Date
David Harvey
aba045960b Add LLM tags to session profiler.
#jira UE-153267
#rnx
#rb trivial
#preflight 6411eb4e924023147d9fd355

[CL 24656359 by David Harvey in ue5-main branch]
2023-03-15 12:22:30 -04:00
David Harvey
0158397359 Legacy Session Frontend profiler should be less likely to lose the connection during live data preview.
Root cause was the Editor/UFE framerate dropping too low when there was a lot of stat data arriving. This meant the keep-alive Ping request from the game could not be acknowledged fast enough to avoid the 5s disconnection timeout.

 - decompress incoming stat messages via a task pipe to avoid saturating all cores.
 - only process a few stat messages per frame.
 - reduce the timeslice for stat aggregation during live data preview.

However, if bandwidth is saturated (typically by a very large amount of log spam being sent to the Session Frontend too) then the connection can still be lost.

Note: It's recommended to use Unreal Insights instead of the Session Profiler for UE5.

#jira UE-174072
#rb Ionut.Matasaru, Francis.Hurteau
#rnx
#preflight 63ca5570894b640314806628

[CL 23787313 by David Harvey in ue5-main branch]
2023-01-20 04:03:59 -05:00
ionut matasaru
26ef7c55b1 Fixed unsafe type cast warnings in Profiler and ProfilerClient modules.
#jira UE-166275
#rb Catalin.Dragoiu
#preflight 6352623e777a77c4403df7ee

[CL 22686686 by ionut matasaru in ue5-main branch]
2022-10-21 06:50:44 -04:00
Johan Torp
cd2427aff7 Deprecated nonsensical FDateTime + FDateTime operator that modified left-hand side
Updated the deprecated operator+ to not modify LHS
Didn't make it const since that causes ambiguity, e.g. FDateTime() + 0.0f

PR #8690: Fix for the FDateTime "+operator" (Contributed by yashasg)
#jira UE-136752
#rb pj.kack
#preflight 6283680e44349a6581e709eb

[CL 20239857 by Johan Torp in ue5-main branch]
2022-05-17 05:35:22 -04:00
Andriy Tylychko
2a295eb685 deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau

[CL 17176325 by Andriy Tylychko in ue5-main branch]
2021-08-16 11:05:18 -04:00
mihnea balta
3612d0737d Fixing lots of places which created USTRUCTs with operator new and passed them to FMessageEndpoint::Publish or Send, wich crashes when ASAN is used.
The messaging system destroys these objects with FMemory::Free, which has different alignment logic than operator new when ASAN is used, resulting in a crash.

#jira none
#rnx
#rb Jerome.Delattre, Matt.Peters

[CL 17116813 by mihnea balta in ue5-main branch]
2021-08-10 10:56:07 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
marc audy
dbcf07a558 Use new inline versions of substring functions
Fix up nearby cases where ESearchCase::CaseSensitive should have been used
#jira
#rnx
#rb

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 10309793 via CL 10309818
#ROBOMERGE-BOT: (v593-10286020)

[CL 10309932 by marc audy in Main branch]
2019-11-19 13:27:07 -05:00
andrew grant
f96c5baf5e Fix from xiangguan.nan for avoiding invalid paths.
https://udn.unrealengine.com/questions/496880



#ROBOMERGE-SOURCE: CL 6152574 via CL 6155961

[CL 6177915 by andrew grant in Main branch]
2019-04-30 12:14:07 -04:00
Robert Manuszewski
2752c82adc Merging //UE4/Dev-Main @ 4664414 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4675693 by Robert Manuszewski in Dev-Core branch]
2019-01-02 00:55:51 -05:00
Josh Adams
4f63a76b48 - Changed compression methods to be an FName instead of hardcoded enum
- Added support for compression plugins
- Removed the Custom compression concept, now using plugins properly
- Modified UnrealPak to use FNames, and allow for multiple compression methods (fallbacks on error or unavailability, etc)
- Added project settings for compression method selection for UnrealPak, and additional settings to be passed to UnrealPak (for instance, to control compression size/speed, etc)
- Deprecated a bunch of old function calls
- Improved pak file "old format" reading ability
- Brought over some changes from Fortnite for pak file encryption and memory savings
- Implemented a parallel compression pull request (#4129) to speed up pak file compression
#jira UE-51294
#rb ben.marsh

[CL 4480944 by Josh Adams in Dev-Core branch]
2018-10-17 14:18:10 -04:00
Marc Audy
d90da4ab1a Merge to Dev-Main for 4.20 @ 4090813
#rb
#rnx
#lockdown Nick.Penwarden

[CL 4091081 by Marc Audy in Main branch]
2018-05-23 21:04:31 -04:00
Ben Marsh
13d012685f Merging copyright update from 4.19 branch.
#rb none
#rnx
#jira

[CL 3818977 by Ben Marsh in Staging-4.19 branch]
2018-01-02 15:30:26 -05:00
Max Chen
569ae6bcb9 Copying //UE4/Dev-Sequencer to //UE4/Main (Source: //UE4/Dev-Sequencer @ 3617642)
#lockdown nick.penwarden
#rb none

Change 3235667 on 2016/12/14 by Max.Preussner

	Media: Moved enums into separate header file, so they can be shared

Change 3259266 on 2017/01/16 by Max.Preussner

	Core: Added timespan ratio

Change 3267229 on 2017/01/21 by Max.Preussner

	Editor: Fixed texture samplers in materials not getting notified when sRGB mode changed

Change 3274773 on 2017/01/27 by Max.Preussner

	Core: Added TLruCache template

Change 3281579 on 2017/02/01 by Max.Preussner

	Core: Added scalar division to FTimespan

Change 3289522 on 2017/02/07 by Max.Preussner

	MediaAssets: Added looping for play lists

Change 3290664 on 2017/02/07 by Max.Preussner

	Engine: Moved UTexture material notification code into separate function, so it can be used by derived classes.

Change 3290688 on 2017/02/07 by Max.Preussner

	MediaAssets: Notifying materials when media texture properties changed.

Change 3291171 on 2017/02/07 by Max.Preussner

	MediaAssets: Filtering unused UTexture properties

Change 3291229 on 2017/02/07 by Max.Preussner

	ImgMedia: Use displayWindow instead of dataWindow due to bug in OpenEXR with data window min < 0

Change 3298520 on 2017/02/11 by Max.Preussner

	Sequencer: Fixed skylight and reflection components off by one frame in PIE

Change 3298778 on 2017/02/12 by Max.Preussner

	MediaUtils: Experimenting with dynamic pitch adjustment

Change 3298987 on 2017/02/13 by Max.Chen

	Editor: Add matrix and transform properties to property editor test object

Change 3298997 on 2017/02/13 by Max.Chen

	Editor: It's now possible to specify Units and ForceUnits meta-data on struct properties
	  - Doing so will cause any child numeric and struct properties to use these units by default (unless another unit was specified)
	  - Added percentage unit type
	  - Multiplier unit types can now be converted between

Change 3298998 on 2017/02/13 by Max.Chen

	Editor: Conversion between multiplier (1.5x)  and percentage (150%) units is now possible

Change 3348678 on 2017/03/15 by Max.Preussner

	Media: Added Buffering media event

Change 3355268 on 2017/03/20 by Max.Preussner

	Core: TQueue documentation updates

Change 3359055 on 2017/03/22 by Max.Preussner

	Portal: Removed dependency to Messaging.h

Change 3359060 on 2017/03/22 by Max.Preussner

	Messaging: Modernization pass

	- added missing includes & forward declarations
	- include what you use
	- deprecated shared pointer typedefs
	- replaced some delegates with callback interfaces
	- documentation fixes

Change 3359189 on 2017/03/22 by Max.Preussner

	Automation: Modernization pass

	- include what you use
	- removed molothic header
	- documentation fixes

	#upgradenotes: IAutomationWorkerModule.h is now in the module's public root directory

Change 3359718 on 2017/03/22 by Max.Preussner

	Messaging: Moved common helper classes into MessagingCommon module

	#upgradenotes:  If you use the common helper classes, replace "Messaging" with "MessagingCommon" in your Build.cs files and remove the "Helpers/" subdirectory from your include statements (unless you actually
include header files from "Messaging", in which case you need to keep "Messaging" and add "MessagingCommon").

Change 3359793 on 2017/03/23 by Max.Preussner

	TargetDeviceServices: Modernization pass

	- include what you use
	- removed boilerplate header
	- deprecated selected shared pointer typedefs
	- reorganized files
	- documentation fixes

Change 3361028 on 2017/03/23 by Max.Preussner

	DeviceManager: Modernization pass

	- include what you use
	- reduced shared pointer typedef usage
	- documentation fixes

Change 3361197 on 2017/03/23 by Max.Preussner

	Messaging: Waking up message router thread on shutdown

Change 3361246 on 2017/03/23 by Max.Preussner

	AutomationWindow: Removed boilerplate header

	#upgradenotes: Replace includes of AutomationWindow.h with IAutomationWindowModule.h

Change 3361428 on 2017/03/23 by Max.Preussner

	AutomationController: Removed boilerplate header

	#upgradenotes: Instead of AutomationController.h, include the individual interface headers that you actually use. Remove the "Interfaces/" subdirectory from existing interface inclusions.

Change 3363206 on 2017/03/24 by Max.Preussner

	ProfileLauncher: Modernization pass

	- include what you use (selected files)
	- reduced shared pointer typedef usages
	- removed dead code
	- cleaned up file organization
	- documentation fixes

Change 3363290 on 2017/03/24 by Max.Preussner

	LauncherServices: Removed boilerplate header

	#upgradenotes: Instead of including LauncherServices.h, include the ILauncherXXX.h files that you actually use. Remove the "Interfaces/" subdirectory from existing ILauncherXXX.h includes

Change 3363305 on 2017/03/24 by Max.Preussner

	LauncherCheck: Removed boilerplate header

	#upgradenotes: Include ILauncherCheckModule.h instead of LauncherCheck.h. Remove "Interfaces/" subdirectory from existing ILauncherCheckModule.h inclusions

Change 3363708 on 2017/03/24 by Max.Preussner

	ImageWrapper: Removed boilerplate header

	#upgradenotes: Instead of including ImageWrapper.h, include the actual IImageWrapperXXX.h files that you use. Remove the "Interfaces/" subdirectory from existing IImageWrapperXXX.h includes

Change 3363966 on 2017/03/24 by Max.Preussner

	ImageWrapper: Modernization pass

	- include what you use
	- reorganized internal files
	- documentation fixes

Change 3364579 on 2017/03/24 by Max.Preussner

	ImageWrapper: Deprecated shared pointer typedef and removed usages

	#upgradenotes: Please use TSharedPtr<IImageWrapper> instead of IImageWrapperPtr

Change 3364582 on 2017/03/24 by Max.Preussner

	NetworkFileSystem: Removed monolithic boilerplate header

	#upgradenotes: Instead of including NetworkFileServer.h, include the INetworkFileXXX.h headers that you actually use. Remove the "Interfaces/" subdirectory from existing INetworkFileXXX.h includes

Change 3381440 on 2017/04/05 by Max.Preussner

	Oculus: Removed illegal pragmas

Change 3391731 on 2017/04/12 by Max.Preussner

	ImgMedia: Added support for BMP, JPG and PNG image sequences

Change 3401146 on 2017/04/19 by Max.Preussner

	Core: Cleanup pass for FTimespan usages; updated documentation

	When initializing time span values from single components, consider using the FromHours, FromMinutes, FromSeconds, Zero, MinValue and related methods instead of calling the overloaded constructors as they will make
your code easier to read and understand.

Change 3401504 on 2017/04/20 by Max.Preussner

	MCP: Fixed incorrect FTimespan usage of GetMilliseconds instead of GetTotalMilliseconds

Change 3401833 on 2017/04/20 by Max.Preussner

	Core: Various improvements to FTimespan

	- added proper serialization
	- updated documentation
	- access fractions as milli-, micro- or nanoseconds
	- removed the following string formatters as they were not useful: %D %H %M %S %F
	- updated documentation

	#upgradenotes: The %D string formatter (previously total number of days) is now the zero-padded days component of the time span. Time spans are now always exported and stringified with a leading plus or minus sign.

	#jira UE-43990
	#jira UE-44163

Change 3437543 on 2017/05/12 by Max.Preussner

	PS4Media: Added audio error codes conversion

Change 3446564 on 2017/05/18 by Max.Preussner

	Networking: Fixed nullpointer crash if socket initialization fails

Change 3459978 on 2017/05/25 by Max.Preussner

	ImgMedia: Renamed frame cache to frame loader

Change 3463311 on 2017/05/26 by Max.Preussner

	Core: Added iterators & predicate based methods to LRU Cache

Change 3464452 on 2017/05/29 by Max.Preussner

	ImgMedia: Added video sample output

Change 3464468 on 2017/05/29 by Max.Preussner

	Media: Added separate cache visualization for loaded and cached samples

Change 3464592 on 2017/05/29 by Max.Preussner

	Core: Added TLruCache::FindAndTouch

Change 3464607 on 2017/05/29 by Max.Preussner

	Core: Added TRange::Inclusive / ::Exclusive

Change 3464608 on 2017/05/29 by Max.Preussner

	Media: Fixed incorrect upper bound in support play rates of various players

Change 3466732 on 2017/05/30 by Max.Preussner

	ImgMedia: Added image compression type to info string

Change 3466871 on 2017/05/31 by Max.Preussner

	WmfMedia: Fixed session capabilities not showing up; added initialization logging

Change 3467785 on 2017/05/31 by Max.Preussner

	MfMedia: Fixed sample stride calculated from media input instead of output


Change 3467963 on 2017/05/31 by Max.Preussner

	WmfMedia: Reordered media sub-type string conversion to fix some tracks being reported incorrectly

Change 3468110 on 2017/05/31 by Max.Preussner

	WmfMedia: Added MPEG-2 media sub types to utils

Change 3468516 on 2017/05/31 by Max.Preussner

	AndroidMedia: Allow mediaplayer audio to be disable on Android (UE-45570)

Change 3468554 on 2017/05/31 by Max.Preussner

	MediaAssets: Added AutoClear option to automatically clear media texture when media is unloaded

Change 3468627 on 2017/05/31 by Max.Preussner

	ImgMedia: Allowing for auto-selection of EXR decoder thread count

Change 3468648 on 2017/05/31 by Max.Preussner

	ImgMedia: Reorganized OpenExrWrapper files

Change 3471789 on 2017/06/02 by Max.Preussner

	WmfMedia: Fixed potential concurrency issue in session state management

Change 3472918 on 2017/06/03 by Max.Preussner

	Core: Allowing zero sized LRU cache; added default constructor

Change 3472919 on 2017/06/03 by Max.Preussner

	Media: Added pre-Slate tick stage; renamed some functions; continued to implement sample caching

Change 3473704 on 2017/06/05 by Max.Preussner

	AndroidMedia: Added settings class

Change 3474407 on 2017/06/05 by Max.Preussner

	AndroidMedia: Implemented video sample processing

Change 3474934 on 2017/06/05 by Max.Preussner

	ImgMedia: Fixed crash due to deleting loader work items twice (UE-45705)

	#jira UE-45705

Change 3476925 on 2017/06/06 by Max.Preussner

	Media: Added return values to media view interface; documentation fixes

Change 3477158 on 2017/06/06 by Max.Preussner

	SwitchMedia: Implemented sample pooling

Change 3477201 on 2017/06/07 by Max.Preussner

	PS4Media: Implemented video sample pooling

Change 3481470 on 2017/06/08 by Max.Preussner

	Media: Fixed time stamps not set in recycled texture samples

Change 3481472 on 2017/06/08 by Max.Preussner

	MediaAssets: Fixed no video samples fetched while player is in buffering state

Change 3481473 on 2017/06/08 by Max.Preussner

	MediaUtils: Added default constructor to MediaSampleQueue

Change 3481584 on 2017/06/08 by Max.Preussner

	MediaUtils: Paused state is considered forward for sample lookup as this is the common case.

Change 3481588 on 2017/06/08 by Max.Preussner

	PS4Media: Redesigned the PS4 media player to support async file loading & track switching

Change 3481627 on 2017/06/08 by Max.Preussner

	PS4Media: Opening media sources in thread pool if not precaching

Change 3481666 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed SequencePath property file picker always opening default path

Change 3481669 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed crash when quering cache state of empty image sequence

Change 3481685 on 2017/06/08 by Max.Preussner

	ImgMedia: Fixed EXR reader failing to play slow loading sequences (UE-45719)

	#jira UE-45719

Change 3483623 on 2017/06/10 by Max.Preussner

	Media: Added getters for 360 view settings; added support for relative view updates

Change 3483624 on 2017/06/10 by Max.Preussner

	Media: Added Blueprint support for 360 videos

Change 3483626 on 2017/06/10 by Max.Preussner

	MediaPlayerEditor: Added 360 video mouse controls; broke out viewport widget into separate class.

Change 3483627 on 2017/06/10 by Max.Preussner

	Core: Using system start time instead of current time for renamed log file names

Change 3483630 on 2017/06/10 by Max.Preussner

	Core: Grouping log files by log name and processing each group separately when deleting old log files

Change 3483816 on 2017/06/10 by Max.Preussner

	WmfMedia: Detecting audio device availability to prevent lockup of audio tracks

Change 3483939 on 2017/06/11 by Max.Preussner

	AvfMedia: Finished Media Framework 3.0 upgrade

	- overhauled track switching
	- removed render thread flushes
	- reduced nesting
	- code cleanup pass

Change 3483940 on 2017/06/11 by Max.Preussner

	Media: Consistent track switching behavior across platforms

Change 3484172 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Removed obsolete asset type actions

Change 3484180 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Fixed media player info overlays not visible during mouse capture

Change 3484248 on 2017/06/11 by Max.Preussner

	MediaAssets: Media players now always have a playlist

Change 3484249 on 2017/06/11 by Max.Preussner

	MediaPlayerEditor: Added UI controls to Playlist tab

Change 3484250 on 2017/06/11 by Max.Preussner

	Media: Implemented overlay sample caching

Change 3484252 on 2017/06/11 by Max.Preussner

	WmfMedia: Enabled support for .smi and .sami subtitle files

Change 3485433 on 2017/06/12 by Max.Preussner

	ImgMedia: Enabled plug-in on all platforms; enabled EXR only on platforms that support it

Change 3485720 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Added ability to save playlists

Change 3485828 on 2017/06/12 by Max.Preussner

	AvfMedia: Thread-safe ticking of video sampler; ticking audio processing on high frequency thread

Change 3485926 on 2017/06/12 by Max.Preussner

	MediaUtils: Draining all unconsumed samples at the end of a frame

Change 3486043 on 2017/06/12 by Max.Preussner

	Media: Consistent behavior for playlist navigation (UE-45964)

	#jira UE-45964

Change 3486104 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Implemented simple overlay text positioning

Change 3486145 on 2017/06/12 by Max.Preussner

	AndroidMediaPlayer: Moved video sample handling into render thread

Change 3486147 on 2017/06/12 by Max.Preussner

	MediaPlayerEditor: Moved overlay texts into separate layer

Change 3486188 on 2017/06/12 by Max.Preussner

	Media: Enabling media factory modules in Editor for all players

Change 3486223 on 2017/06/12 by Max.Preussner

	Media: Defaulting players to select first audio and video tracks by default

Change 3486473 on 2017/06/13 by Max.Preussner

	Media: Buffering is no longer a media player state, but handled separately (for players that can buffer while playing)

Change 3486475 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Showing busy bar when buffering or preparing

Change 3487237 on 2017/06/13 by Max.Preussner

	AndroidMedia: Fixed video sample not getting processed on render thread

Change 3487507 on 2017/06/13 by Michael.Trepka

	AvfMedia - small cleanup of the code for passing video frame rate to the video sampler

Change 3487719 on 2017/06/13 by Michael.Trepka

	Disable shared PCH in OpenExrWrapper to solve a problem with bUseRTTI mismatch between the module and the PCH

Change 3487842 on 2017/06/13 by Max.Preussner

	AndroidMedia: Fixed texture swizzle disabled on non-Engine builds

Change 3488006 on 2017/06/13 by Michael.Trepka

	AvfMedia - Moved some logic from FAvfMediaPlayer::TickTickable() to FAvfMediaTracks::ProcessAudio() to make it thread safe, plus fixed a bug with the player not setting the current status to Stopped after opening a
file

Change 3488308 on 2017/06/13 by Chris.Babcock

	AndroidMedia: Fixed flicker issue
	#jira UE-45736

Change 3488335 on 2017/06/13 by Max.Preussner

	MediaAssets: Made UFileMediaSource::GetFullPath public

Change 3488338 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Fixed "Show file in Explorer" not working for file media sources

Change 3488339 on 2017/06/13 by Max.Preussner

	MediaPlayerEditor: Showing a throbber when buffering player

Change 3488768 on 2017/06/14 by Max.Preussner

	Core: Inlined FTimespan static functions

hange 3490203 on 2017/06/14 by Max.Preussner

	Core: Force inlined TComPtr operators

Change 3494083 on 2017/06/15 by Chris.Babcock

	AndroidMedia: Fix playlist looping (send PlaybackEndReached event)
	#jira UE-46086

Change 3497017 on 2017/06/16 by Max.Preussner

	MediaAssets: Playlists now auto advance with PlayOnOpen off

Change 3497075 on 2017/06/17 by Chris.Babcock

	MediaPlayer Sampler node and external texture support for Android MediaPlayer
	- enable with USE_EXTERNALTEXTURE in AndroidMediaPlayer.cpp (disabled in this CL)
	- supports MediaSample node in material editor with scale/bias handled if above flag enabled
	- fixed looping problems, including eventual crashes
	- track switching fixed (lockups and missing video)
	- corrected resource leaks and crash switching maps
	#jira UE-46055
	#jira UE-45744
	#jira UE-46086

Change 3497163 on 2017/06/17 by Max.Preussner

	MediaUtils: Processing media events immediately if on game thread

Change 3497170 on 2017/06/17 by Max.Preussner

	Media: All Media Framework interfaces are pure virtual

Change 3498603 on 2017/06/19 by Ben.Marsh

	UBT: Prevent plugins which list modules multiple times from adding them twice.

Change 3500870 on 2017/06/20 by Max.Preussner

	WmfMedia: Rewrote WMF state machine; now with track switching

	#jira UE-20209
	#jira UE-35385
	#jira UE-38337
	#jira UE-45676

Change 3502181 on 2017/06/20 by Chris.Babcock

	MediaSampler node updates
	- fixed issue with ExternalTexture singleton for DLL compatiblity
	- now works for all players (registers texture samples with ExternalTexture by player GUID)
	- enabled OES in AndroidMediaPlayer now that materials can universally use the MediaSampler

Change 3503182 on 2017/06/21 by Max.Preussner

	Media: Refactored status flags into an enum; exposed connecting status

Change 3503724 on 2017/06/21 by Chris.Babcock

	Improvement in MediaPlayer Sampler node
	- RGB, R, G, B, A output pins like normal texture sampler
	- allow preview in material editor
	- fix OES detection for Android

Change 3509088 on 2017/06/26 by Max.Preussner

	MediaAssets: Added AddFile and AddUrl to UMediaPlaylist

Change 3510256 on 2017/06/26 by Max.Preussner

	WmfMedia: Fixed play rate not set to zero when end reached

Change 3510273 on 2017/06/26 by Max.Preussner

	MediaPlayerEditor: Removed obsolete Slate culling rectangle code

Change 3510413 on 2017/06/26 by Max.Preussner

	MediaPlayerEditor: Showing frame rate if available

Change 3510533 on 2017/06/26 by Max.Preussner

	MediaUtils: Preventing media cache filling up when scrubbing

Change 3510859 on 2017/06/26 by Max.Preussner

	PS4Media: Fixed track switching crashes (UE-45960)

	#jira UE-45960

Change 3514173 on 2017/06/28 by Max.Preussner

	WmfMedia: Optimized player capabilities check

Change 3514174 on 2017/06/28 by Max.Preussner

	WmfMedia: Moved media source resolver code into utility class

Change 3514714 on 2017/06/28 by Max.Preussner

	Core: Added TComPointer.IsValid; code cleanup pass

Change 3517912 on 2017/06/30 by Max.Preussner

	MediaUtils: Added GetVideoAspectRatio to player facade

Change 3524957 on 2017/07/06 by Max.Preussner

	ImgMedia: Decoding image frames only when video track is selected

Change 3525252 on 2017/07/06 by Max.Preussner

	ImgMedia: Async image sequence initialization

Change 3525266 on 2017/07/06 by Max.Preussner

	ImgMedia: Enabled reverse playback

Change 3525722 on 2017/07/06 by Max.Preussner

	WmfMedia: Workaround for occasional WMF internal deadlock in IMFRateSupport

Change 3525800 on 2017/07/07 by Max.Preussner

	WmfMedia: Fixed another WMF deadlock issue & some rate change glitches; improved logging.

Change 3525801 on 2017/07/07 by Max.Preussner

	MediaPlayerEditor: Made scrubbing more responsive

Change 3526500 on 2017/07/07 by Max.Preussner

	WmfMedia: Using NULL for Windows pointers

Change 3527323 on 2017/07/07 by Max.Preussner

	WmfMedia: Added support for audio and video capture media sources

Change 3530197 on 2017/07/10 by Max.Preussner

	WmfMedia: Added utility functions for enumerating audio and video capture devices

Change 3533465 on 2017/07/12 by Max.Preussner

	Media: Added media capture device support API & implementation for WMF

Change 3533469 on 2017/07/12 by Max.Preussner

	MediaPlayerEditor: Added source selection menu w/ capture device menu to navigation bar

Change 3533540 on 2017/07/12 by Max.Preussner

	MediaAssets: Blueprint support for media capture device discovery

Change 3533574 on 2017/07/12 by Max.Preussner

	WmfMedia: Using cached supported play rates; more strict pausing support check

Change 3533924 on 2017/07/12 by Max.Preussner

	WmfMedia: Added global LowLatency setting (UEVR-859)

	Note that this setting is only supported when compiling for Windows 8 or newer.

Change 3534027 on 2017/07/12 by Max.Preussner

	WmfMedia: Compile time support for low latency session attribute on < Windows8

	#jira UEVR-859

Change 3538744 on 2017/07/14 by Max.Preussner

	MediaUtils: Renamed FDefaultMediaTimeSource to FAppMediaTimeSource

Change 3542818 on 2017/07/18 by Max.Preussner

	WmfMedia: Fixed race condition on session shutdown

Change 3543082 on 2017/07/18 by Max.Preussner

	WmfMedia: Fixed track selection in media that doesn't support seeking

Change 3543092 on 2017/07/18 by Max.Preussner

	Media: Implemented media track format API

	Enables multiple formats per media track. By default, the first usable format is selected.
	This feature is currently only implemented for WmfMedia. All other players assume a single format per track.

Change 3543794 on 2017/07/19 by Max.Preussner

	WmfMedia: Added string conversion for null GUIDs

Change 3543796 on 2017/07/19 by Max.Preussner

	MfMedia: Copied GUID string conversion updates from WmfMedia

Change 3543797 on 2017/07/19 by Max.Preussner

	WmfMedia: Preventing duplicate track formats in capture devices with legacy DirectX support

Change 3544390 on 2017/07/19 by Max.Preussner

	Media: Allowing INDEX_NONE as 'current selection' index in track format related functions

Change 3545368 on 2017/07/19 by Max.Preussner

	WmfMedia: Fixed session error with some media sources when attempting to seek to current position without ever starting

Change 3545388 on 2017/07/19 by Max.Preussner

	MediaAssets: Fixed RGB input sources rendered upside down

Change 3545430 on 2017/07/19 by Max.Preussner

	MediaAssets: Fixed incorrect sRGB conversion on BMP inputs

Change 3547362 on 2017/07/20 by Max.Preussner

	Core: Added IsGraph and IsPrint to TCHAR utilities

Change 3547376 on 2017/07/20 by Max.Preussner

	WmfMedia: Better log messages for non-standard video types (UE-47533)

	#jira UE-47533

Change 3547404 on 2017/07/20 by Max.Preussner

	QAGame: Enabled PlayOnOpen and Looping on MediaPlayerSwitch BP (UE-47542)

	#jira UE-47542

Change 3547466 on 2017/07/20 by Max.Preussner

	WmfMedia: Fixed edge case for detecting whether pause is available

Change 3548742 on 2017/07/21 by Max.Preussner

	Media: Added API for changing the input frame rate

Change 3548743 on 2017/07/21 by Max.Preussner

	WmfMedia: Implemented ability to change input frame rate

Change 3554411 on 2017/07/25 by Max.Preussner

	AudioMixer: Broke out SynthComponent initialization code; added bIsUISound property

Change 3554818 on 2017/07/25 by Max.Preussner

	Media: Added per track-type cache queries

Change 3557284 on 2017/07/26 by Max.Preussner

	WmfMedia: Added buffer size check in texture sample as well

Change 3560530 on 2017/07/27 by Max.Preussner

	WmfMedia: Made COM object destructors private and added assertions

Change 3560580 on 2017/07/27 by Max.Preussner

	MediaUtils: Added method for querying number of objects in pool

Change 3562572 on 2017/07/28 by Max.Preussner

	WmfMedia: Properly handling topology status errors when opening media

Change 3576710 on 2017/08/08 by Chris.Babcock

	bug fixes for mediaplayer
	- rare cases in Android media tracks
	- make FMediaCaptureDevice members available in blueprints

Change 3577736 on 2017/08/08 by Chris.Babcock

	Extend ExternalTexture to support 2x3 transform (scale/rotation + offset)

Change 3578831 on 2017/08/09 by Max.Preussner

	MediaAssets: Made media sound component BP spawnable

Change 3579210 on 2017/08/09 by Max.Preussner

	UdpMessaging: Not showing warning message if tunnel settings left empty to use defaults

Change 3579547 on 2017/08/09 by Chris.Babcock

	Better support for Android external texture detection

Change 3579567 on 2017/08/09 by Chris.Babcock

	Android camera plugin
	#jira UEMOB-215

Change 3580035 on 2017/08/10 by Andrew.Rodham

	Media Texture: External textures are now fully supported and enforced when attempting to sample external texture types in materials.
	  - Textures can now dynamically provide an external texture GUID at runtime, which is queried by the uniform expression. Statically defined GUIDs remain supported.
	  - Added necessary ExternalTexture(Parameter) methods to the material compiler and HLSL translator
	  - Made UTexture::GetMaterialType const-correct

	#tests Test map that contains TextureObject, TextureObjectParameter, TextureSample and TextureSampleParameter nodes with media textures works on both a Nexus 10 (non-image-external), and a Pixel (image-external),
and on desktop PC.

Change 3581552 on 2017/08/10 by Chris.Babcock

	Use bilinear sampling instead of point for external texture (Android media and camera)

Change 3581628 on 2017/08/10 by Max.Preussner

	Core: Fixed FTimespan import/export/copypaste (UE-43990)

	#jira UE-43990
	#jira UE-44163

Change 3581909 on 2017/08/11 by Andrew.Rodham

	Media: Only cache material proxy pointers if they have been initialized (and thus, will be removed from the cache on release)
	  - This prevents destroyed proxies from remaining in the texture registry

	#jira UE-48307

Change 3582451 on 2017/08/11 by Max.Preussner

	AudioMixer: Fixed initialization order of synth components

	This ensures that the Synth is initialized before OnRegister in the super class initializes and activates the AudioComponents. Previously, the AudioComponent would fail to activate, because Synth was nullptr.

	#jira UE-48055

Change 3582453 on 2017/08/11 by Max.Preussner

	MediaAssets: Enabling ticking in media sound component (UE-48055)

	#jira UE-48055

Change 3583101 on 2017/08/11 by Chris.Babcock

	Android camera improvements
	- return correct capture device type (webcamfront/rear)
	- remove seek (not supported)
	- support track formats
	- better framerate selection

Change 3590109 on 2017/08/16 by Chris.Babcock

	Move external texture coordinate update to improve accuracy and save a uniform in final shader

Change 3590530 on 2017/08/16 by Max.Preussner

	MediaAssets: Changed capture device enumeration BP function signatures to allow filter bit masks

	#jira UE-48166

Change 3590547 on 2017/08/16 by Max.Preussner

	MediaPlayerEditor: Ticking sound component directly

Change 3590628 on 2017/08/16 by Max.Preussner

	Switch: Fixed media decoder asserting when attempting to pause without having started

Change 3591816 on 2017/08/16 by Aaron.McLeran

	#jira UE-48470 Disabling async processing for procedural sound waves on mac.

Change 3592266 on 2017/08/16 by Max.Preussner

	Media: Replaced media cache with the new sample processing pipeline; continued to implement MfMedia

	This change fixes stuttering issues with audio and video. However, proper pipeline flushing is not fully implemented yet, so the playback will break after the first playthrough, which might result in freeze frames
or out of memory assertions depending on the platform. This will be addressed in an upcoming change.

	#jira UE-48474
	#jira UE-45677

Change 3592355 on 2017/08/17 by Max.Preussner

	MediaUtils: Added sample sink collection to remove code duplication

Change 3592739 on 2017/08/17 by Max.Preussner

	ImgMedia: Fetching only one video sample per frame

Change 3592741 on 2017/08/17 by Max.Preussner

	MediaUtils: Better sample fetching when paused

Change 3592761 on 2017/08/17 by Max.Preussner

	MediaUtils: Fixed overflow detection in sample sinks

Change 3592762 on 2017/08/17 by Max.Preussner

	ImgMedia: Sending end reached event when looping

Change 3592885 on 2017/08/17 by Max.Preussner

	ImgMedia: Fixed reverse play

Change 3592887 on 2017/08/17 by Max.Preussner

	MediaUtils: Better sample range calculation for audio samples

Change 3593010 on 2017/08/17 by Max.Preussner

	ImgMedia: Fixed async loading of non-EXR image sequences

Change 3593193 on 2017/08/17 by Max.Preussner

	AndroidMedia: Fixed typo

Change 3593230 on 2017/08/17 by Max.Preussner

	Media: Implemented flushing for player sample queues

Change 3593346 on 2017/08/17 by Max.Preussner

	Media: Proper sample processing for reverse playback

Change 3593482 on 2017/08/17 by Max.Preussner

	Switch: Fixed sample range check for reverse playback

Change 3594428 on 2017/08/17 by Max.Preussner

	PS4Media: Fixed video not playing/crashing

	#jira UE-48547
	#jira UE-48549

Change 3595404 on 2017/08/17 by Max.Preussner

	MediaAssets: Not requesting audio samples if not playing

	#jira UE-48557

Change 3595624 on 2017/08/17 by Max.Preussner

	PS4Media: Fixed no looping after track switching

	#jira UE-46524
	#jira UE-48557

Change 3595704 on 2017/08/17 by Max.Preussner

	MediaUtils: Improved sample queue flushing

	Eventually this needs to be event-driven.

	#jira UE-48557

Change 3595706 on 2017/08/17 by Max.Preussner

	PS4Media: Flushing queues when track switching

	#jira UE-48557

Change 3595909 on 2017/08/17 by Max.Preussner

	Matinee: Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)

	https://github.com/EpicGames/UnrealEngine/pull/3382

	#jira UE-42906
	#rn Fix Matinee redirect missing as UClass has been GC'ed (GitHub PR #3382)

Change 3597480 on 2017/08/18 by Max.Preussner

	ImgMediaPlayer: Fixed presentation time calculation for very large delta times

Change 3597669 on 2017/08/18 by Max.Preussner

	ImgMedia: Setting player stopped instead of paused when end reached

Change 3597709 on 2017/08/18 by Max.Preussner

	SwitchMedia: Fixed audio sample duration calculation

Change 3598479 on 2017/08/18 by Max.Preussner

	ImgMedia: Ensuring that first/last frame is played when starting playback forward/reverse; improved state checking; user logging

Change 3598629 on 2017/08/18 by Max.Preussner

	MediaUtils: Properly handling pending flushes when peeking sample queues

Change 3598633 on 2017/08/18 by Max.Preussner

	WmfMedia: Fixed occasional WMF deadlock when scrubbing

Change 3598653 on 2017/08/18 by Max.Preussner

	MediaUtils: Fixed audio resampling in reverse playback

Change 3598659 on 2017/08/18 by Max.Preussner

	MediaPlayerEditor: Creating sound output only if audio device available

Change 3598688 on 2017/08/18 by Max.Preussner

	MediaUtils: Flushing sample queues on direction change regardless of paused state

Change 3599444 on 2017/08/20 by Max.Preussner

	WmfMedia: Added missing check for rate control when quering supported rates

Change 3603661 on 2017/08/22 by Max.Preussner

	WmfMedia: Fixed NV12 output

Change 3604345 on 2017/08/23 by Max.Preussner

	MediaUtils: Added subtitle samples to media sample collection; fixed documentation

Change 3604987 on 2017/08/23 by Max.Preussner

	PS4Media: Setting correct track format types

Change 3605117 on 2017/08/23 by Joe.Barnes

	Fix issue where presentation time was being treated as milliseconds instead of microseconds.

Change 3605128 on 2017/08/23 by Joe.Barnes

	Fix potential issue calculating total (looped) play time after seek or reset.
	Track last video presentation time

Change 3605139 on 2017/08/23 by Joe.Barnes

	Support audio type DType_Setup.
	Fix issue with procedural sounds popping. Consume more samples if necessary.

	#jira ue-48544

Change 3605197 on 2017/08/23 by Max.Preussner

	Media: Fixed track display name formatting (UE-48767)

	#jira UE-48767

Change 3605817 on 2017/08/23 by Max.Chen

	Auto set sampler type on drop on actor.

	#jira UE-48769

Change 3605999 on 2017/08/23 by Max.Preussner

	MfMedia: Restarting source reader when switching tracks

	#jira UE-48766

Change 3606416 on 2017/08/23 by Max.Preussner

	PS4Media: Various player improvements

	#jira UE-48586

Change 3607656 on 2017/08/24 by Max.Preussner

	WmfMedia: Improved logging for Seek and SetRate

Change 3607855 on 2017/08/24 by Max.Preussner

	MfMedia: Better verbose logging; validating seeks; reduced nesting; fixed track switching\

	#jira UE-48766

Change 3608029 on 2017/08/24 by Max.Preussner

	PS4Media: Fixed streaming media not playing; improved result checks & logging

	#jira UE-48610

Change 3608473 on 2017/08/24 by Max.Preussner

	MfMedia: Fixed audio sample duration calculation

	#jira UE-48756

Change 3609316 on 2017/08/24 by Chris.Babcock

	Provide external texture RotationScale and Offset from sample

Change 3610067 on 2017/08/25 by Richard.Wallis

	Mac: Editor locks up when Track switching and Mac: Media Audio continues to play after closing player.

	- Fix for creating extra OS AV media playback objects so audio playback not stopping due to over retained objects.
	- Trying to access OS AV Media Playback object (esp. the currentTime value) across mutliple threads at once seems to cause deadlock in the Apple libraries - moved location of currentTime acess point to Media Ticker
- this sets the current time and is then just returned in the getter when on game main.
	- Trying to playback audio via OS media playback and through the engine at the same time when enabling the selected audio track.  Engine version via sample buffers via AVAssetReaderTrackOutput doesn't seem to be
working as intended with the new audio frame work audio sinks - so reverting to OS AV media playback for Mac at the moment until better fix for this can be put in.

	#jira UE-48590, UE-48604

Change 3610267 on 2017/08/25 by Max.Preussner

	PS4Media: Added missing track selection validation

	#jira UE-48765

Change 3610399 on 2017/08/25 by Max.Preussner

	PS4Media: Fixed infinite player re-initialization loop if track selection failed

Change 3610809 on 2017/08/25 by Chris.Babcock

	Fixes for Android media player and camera player
	- buffer samples copy proper bytecount
	- realloc sets new buffer ptr
	- refcount of Java buffers fixed

Change 3610953 on 2017/08/25 by Chris.Babcock

	Fix audio disable before play on Android media player

Change 3611405 on 2017/08/25 by Max.Preussner

	WmfMedia: Resetting supported rates if RateSupport unavailable

Change 3611406 on 2017/08/25 by Max.Preussner

	MfMedia: Resetting supported rates if RateSupport unavailable

Change 3611453 on 2017/08/25 by Chris.Babcock

	Android external texture extension updates for compatibility

Change 3611719 on 2017/08/26 by Max.Preussner

	Media: Added media event for completed seek operations; flushing sinks on seek

Change 3611764 on 2017/08/26 by Max.Preussner

	AvfMedia: Setting player to preparing state prior to initializing tracks asynchronously

Change 3611802 on 2017/08/26 by Max.Preussner

	Media: Exposed error state in media player

Change 3611803 on 2017/08/26 by Max.Preussner

	MediaPlayerEditor: Showing error state in UI

Change 3611887 on 2017/08/26 by Max.Preussner

	MediaUtils: Corrected media sample sink overflow check

Change 3611892 on 2017/08/27 by Max.Preussner

	WmfMedia: Leaving session in error state after error

Change 3611929 on 2017/08/27 by Max.Preussner

	MediaPlayerEditor: Fixed sound stopping on looping

Change 3611930 on 2017/08/27 by Max.Preussner

	MfMedia: Rewrote async sample processing to fix various playback issues

Change 3611942 on 2017/08/27 by Max.Preussner

	Media: Sending suspension event when playback ended

Change 3611957 on 2017/08/27 by Max.Preussner

	UnrealEd: Allowed transient assets to be resaved to disk

Change 3611981 on 2017/08/27 by Max.Preussner

	PS4Media: Rewrote sample processing to fix various playback issues

	#jira UE-48596
	#jira UE-48793

Change 3612035 on 2017/08/27 by Max.Preussner

	UnrealEd: Picking standard default names when resaving transient packages

Change 3612045 on 2017/08/27 by Max.Preussner

	Media: Fixed playlists not getting saved correctly from Editor (UE-35382)

	#jira UE-35382

Change 3612212 on 2017/08/28 by Richard.Wallis

	Fix for Multitrack Video samples continue to Play on Open after Play on Open is toggled off.  Current Rate was not getting reset back to 0.0 on media close.

	#jira UE-47602

Change 3613531 on 2017/08/28 by Max.Preussner

	MediaAssets: Fixed external texture related crash on shutdown (UE-48918)

	Also no longer creating clock sink for media player CDO

	#jira UE-48918

Change 3613677 on 2017/08/28 by Andrew.Porter

	Fixed crash at exit in Mac editor caused by double release of AVPlayerItem object

	#jira UE-48937

Change 3615917 on 2017/08/29 by Max.Preussner

	MfMedia: Added compile options for DXVA and falling back to synchronous sample reading

[CL 3617655 by Max Chen in Main branch]
2017-08-30 09:37:09 -04:00
Ben Marsh
aa969f9931 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3420477)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3386262 on 2017/04/10 by Ben.Marsh

	Add app-local deployment of DirectX components that are no longer included with newer versions of Windows by default (XAudio 2.7, XInput 1.3). Also add a one-click button to the packaging settings to include the default app-local dependencies, rather than having to specify the path.

Change 3386999 on 2017/04/10 by Ben.Marsh

	Plugins: Add support for explicit dependencies from one plugin onto another. Required plugins can be configured in an identical manner to project files, by adding a "Plugins" key to the .uplugin file. Dependencies are automatically built and loaded, and the plugin browser will warn if you try to disable a plugin that something else has a dependency on.

Change 3387073 on 2017/04/10 by Ben.Marsh

	Move FLightPropagationRuntimeSettings into the Renderer module, to remove engine dependency on a plugin.

Change 3387988 on 2017/04/11 by Steve.Robb

	Comments added to clarify the role of DestructItem and DestructItems.

Change 3388085 on 2017/04/11 by Ben.Marsh

	UBT: Fix bEnabled flag on plugin references being ignored. Now collect up all the plugin references in order of priority before creating plugin instances for them. Fixes CIS fail for UT.

Change 3390048 on 2017/04/12 by Richard.Hinckley

	#jira UE-43876
	Fixed description of Streaming settings (within Project Settings).

Change 3390697 on 2017/04/12 by Steve.Robb

	CLASS_PointersDefaultToAutoWeak and CLASS_PointersDefaultToWeak removed.

Change 3390711 on 2017/04/12 by Steve.Robb

	AGRESSIVE_ARRAY_FORCEINLINE removed.

Change 3392167 on 2017/04/13 by Robert.Manuszewski

	UObject can be added to GC cluster only if all of its Outers can also be added to it.

	Fixing asserts caused by components that are added to GC clusters even if their owner actors that can't be in GC clusters.

	#jira UE-42948

Change 3392309 on 2017/04/13 by Robert.Manuszewski

	When adding objects to clusters after these clusters have been created it's possible to come across objects that are already in the cluster we're adding the object to so instead of crashing, allow it.

Change 3392620 on 2017/04/13 by Ben.Marsh

	UGS: Only check for updates every 5 minutes.

Change 3392623 on 2017/04/13 by Ben.Marsh

	UGS: Only poll for new changes every 60 seconds.

Change 3392744 on 2017/04/13 by Ben.Marsh

	UGS: Query changelist descriptions individually to determine whether changes affect code or content, to hopefully reduce Perforce server load.

Change 3392874 on 2017/04/13 by Ben.Marsh

	UGS: Allow specifying regexes in the project config file which filters which changes to be displayed. Useful for changes submitted by build machines, updates to collections, etc...

Change 3392878 on 2017/04/13 by Ben.Marsh

	Update UGS to version 1.96

Change 3395635 on 2017/04/17 by Ben.Marsh

	UAT: Prefix log output from executing UAT commands through BuildGraph with the name of that command.

Change 3395655 on 2017/04/17 by Ben.Marsh

	UAT: Add a command for syncing a DDC over the network (SyncDDC). Allows specifying a maximum size to copy, number of days worth of modified files to copy, and time limit not to be exceeded.

Change 3396989 on 2017/04/17 by Wes.Hunt

	CrashReporter configurable tweaks.
	* Added QueueWaitingTimeAlertThreshold (used to be hardcoded to 1 min).
	  - When the queue waiting time gets beyond this many seconds, trigger a slack alert message. Default is 10 min.
	  - Zero means never alert.
	* Added DiskSpaceAvailableAlertInterval (used to be hardcoded to 1 day).
	  - Interval by which to report disk space availability.
	  - Default is never (Zero)
	* Updated config file to match production config.
	#codereview:jin.zhang

Change 3397656 on 2017/04/18 by Ben.Marsh

	UBT: Allow modules to opt-out of getting the default include paths from being added, by setting bAddDefaultIncludePaths = false from their build.cs file.

Change 3397677 on 2017/04/18 by Robert.Manuszewski

	PR #3167 : Adding more descriptive error text to DetatchLinker error check (by rooneym)


Change 3397722 on 2017/04/18 by Robert.Manuszewski

	PR #2252: Increase linker reporting for failed imports (Contributed by FineRedMist)


Change 3397739 on 2017/04/18 by Richard.Hinckley

	#jira UE-44100
	Fixed SanitizePackageName() to remove double-slash, triple-slash, etc. from package names. Also updated CreatePackage() to call SanitizePackageName() before creating.

Change 3398023 on 2017/04/18 by Ben.Marsh

	PR #3105: Cook/package with editor and debugger attached (Contributed by projectgheist)


Change 3398095 on 2017/04/18 by Ben.Marsh

	PR #3051: Generate map file from UAT (Contributed by projectgheist)


Change 3398212 on 2017/04/18 by Ben.Marsh

	PR #2915: UE-38232: Removed duplicate stats (Contributed by projectgheist)


Change 3399304 on 2017/04/19 by Ben.Marsh

	UGS: Prevent editor target files being removed when running custom tools.

Change 3399306 on 2017/04/19 by Robert.Manuszewski

	Moved InitPropertiesFromCustomList to UbLueprintGeneratedClass and made it thread safe

Change 3399729 on 2017/04/19 by Steve.Robb

	Simple optimization to TBitArray::RemoveAt() when all removed bits are at the end of the array.
	RemoveAtSwap() now simply decrements the count instead of calling RemoveAt().
	Checks for a positive count added to RemoveAt() and RemoveAtSwap().

Change 3399750 on 2017/04/19 by Jin.Zhang

	Order branch alphabetically #RB

Change 3400186 on 2017/04/19 by Steve.Robb

	Per-header generated code.

Change 3401458 on 2017/04/20 by Steve.Robb

	Static log categories moved out of headers to prevent duplicates when the header is included multiple times.

	#jira UE-37507

Change 3401657 on 2017/04/20 by Gil.Gribb

	UE4 - Simplified and reworked lock free lists and the task graph bringing all platforms under the same scheme.

Change 3401735 on 2017/04/20 by Gil.Gribb

	UE4 - Updated apple platform atomics with a new clang version which is intended to be shared among all clang platforms.

Change 3403362 on 2017/04/21 by Steve.Robb

	Algo::Sort() fixed to support C arrays.
	Size+count versions of Also::IsSorted() deprecated.
	Algo::IsSortedBy() added.
	Algo::FindBy() added to allow an element to be found by projection.
	Simplifications and generalizations.

Change 3404017 on 2017/04/21 by Ben.Marsh

	Fix issue where referenced plugin descriptors were missing from console builds, and prevent monolithic builds from offering to disable missing plugins.

Change 3405299 on 2017/04/24 by Steve.Robb

	Clarified the class of the incompatible function in the error message about incompatible BP event specifiers.

	#jira UE-35106

Change 3405302 on 2017/04/24 by Ben.Marsh

	UBT: Allow excluding documentation from generated project files, by setting <ProjectFileGenerator><bIncludeDocumentation>false</bIncludeDocumentation></ProjectFileGenerator> in the XML configuration file.

Change 3405629 on 2017/04/24 by Ben.Marsh

	Rename CPPEnvironment to CppCompileEnvironment, to reflect the class name.

Change 3406431 on 2017/04/24 by Ben.Marsh

	UAT: Fix incorrect handling of P4SubmitOptions when multiple values are present.

Change 3406670 on 2017/04/24 by Ben.Marsh

	UBT: Enable warnings for classes with virtual functions and no virtual destructor (C4265 on Windows, -fdelete-non-virtual-dtor on Clang).

Change 3407080 on 2017/04/25 by Gil.Gribb

	UE4 - Critical fix: Propoerly disambiguate imports with the same name and the same outer name. This fixes an assert: LocalExportIndex.IsNull.

Change 3407486 on 2017/04/25 by Gil.Gribb

	UE4 - Made changes so that servers, programs and non-engine executables do not create background or high priority threads.

Change 3407495 on 2017/04/25 by Gil.Gribb

	UE4 - Tweaked out XBox and Windows low level file IO.

Change 3407497 on 2017/04/25 by Gil.Gribb

	UE4 - Fixed bug in the pak precacher that would result in blocks being discarded too soon, which, in turn, resulted in redudnant reads.

Change 3407705 on 2017/04/25 by Ben.Marsh

	Removing most of the junk in DotNETUtilities.

Change 3409701 on 2017/04/26 by Ben.Marsh

	Disable another static analyzer warning for third party libraries.

Change 3410074 on 2017/04/26 by Daniel.Lamb

	Network platform file runs heart beats and responds to modified file changes.
	Cook on the fly server in the editor (COTS) now detects changes to content and notifies client.
	Fixed issue with network platform file not using correct sandbox.

	#test cook on the side shootergame

Change 3411131 on 2017/04/27 by Steve.Robb

	TIsTriviallyDestructible now supports forward-declared enums.

Change 3411186 on 2017/04/27 by Steve.Robb

	Fix for #includes in generated code for Within classes which are in a different module from the generated class.

Change 3411917 on 2017/04/27 by Steve.Robb

	Fixes to pushing/popping the CPP macro.

Change 3411966 on 2017/04/27 by Steve.Robb

	Include spam reduced in generated code.

Change 3412155 on 2017/04/27 by Ben.Marsh

	Fix for PVS Studio warning: VFOVInRadians used instead of HFOVInRadians.

Change 3412223 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Calling SetHelperA.Num() twice.

Change 3412273 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Duplicated variable name.

Change 3412511 on 2017/04/27 by Ben.Marsh

	PR #3462: Fixed PVS-Studio issues (Part 1) (Contributed by PaulEremeeff)


Change 3412582 on 2017/04/27 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code

Change 3413136 on 2017/04/28 by Robert.Manuszewski

	Helper functions for dissolving specific GC clusters

Change 3413310 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Incorrect variable name in copy/pasted code.

Change 3413341 on 2017/04/28 by Gil.Gribb

	UE4 - Add prestream capability to allow us to preload always loaded sublevels. Only turned on for Shootergame.

Change 3413351 on 2017/04/28 by Ben.Marsh

	Include code analysis macros directly from Platform.h, so that macros are available to everything.

Change 3413352 on 2017/04/28 by Ben.Marsh

	Fixing a few more PVS studio warnings.

Change 3413437 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Comparison is always true.

Change 3413759 on 2017/04/28 by Ben.Marsh

	Suppressing warnings for PVS-Studio.

Change 3413784 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning.

Change 3413898 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: Same conditional is checked twice.

Change 3413915 on 2017/04/28 by Ben.Marsh

	Fix PVS-Studio warning: LHS of expression is identical to RHS.

Change 3413989 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: If CurrentGraph->SubGraphs.Num() == 1, it will always enter the first conditional block.

Change 3414053 on 2017/04/28 by Ben.Marsh

	More PVS-Studio fixes.

Change 3414062 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Pointer to object goes out of scope without being freed.

Change 3414070 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Fix incorrect condition.

Change 3414071 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Array index is always zero.

Change 3414116 on 2017/04/28 by Ben.Marsh

	BuildGraph: Allow marking compile tasks as unsuitable for use with the parallel executor, via an AllowParallelExecutor="false" attribute.

Change 3414160 on 2017/04/28 by Ben.Marsh

	Add support for running PVS-Studio through UnrealBuildTool. To use, pass -StaticAnalyzer=PVSStudio to the build command line (similarly, the Visual C++ analyzer can now be invoked using -StaticAnalyzer=VisualCpp). A log file will be written to the Engine/Saved/PVS-Studio or <Project>/Saved/PVS-Studio directory containing diagnostics, which can be opened using the "unparsed output" filter in the PVS-Studio standalone application. High priority warnings are printed to stdout.

Change 3414237 on 2017/04/28 by Ben.Marsh

	EC: Allow disabling and enabling the log preprocessor via special markers in the log.

	To disable: <-- Suspend Log Parsing -->
	To enable: <-- Resume Log Parsing -->

Change 3414343 on 2017/04/28 by Ben.Marsh

	UBT: Exclude ThirdParty folders from PVS output.


Change 3414392 on 2017/04/28 by Ben.Marsh

	Fix regular strings being casted to BSTRs; BSTRs have a hidden length prefix in the two bytes before the first character, so passing a regular TCHAR* is reading random memory.

Change 3414459 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Object goes out of scope without being freed.

Change 3414495 on 2017/04/28 by Ben.Marsh

	Suppress some more PVS-Studio warnings.

Change 3414514 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Testing WorldType being equal to EditorPreview and not equal to Inactive is redundant; changing to match description in comment instead.

Change 3414526 on 2017/04/28 by Ben.Marsh

	Fix for PVS-Studio warning: Variable assigned to itself has no effect.

Change 3415183 on 2017/04/29 by Ben.Marsh

	Fix conflict in macro definitions for ENABLE_HTTP_FOR_NFS - rename the macro defined by NetworkFile to ENABLE_HTTP_FOR_NF. Hopefully fix CIS.

Change 3415765 on 2017/05/01 by Ben.Marsh

	Suppressing PVS-Studio warning to get things building cleanly. Not sure if FContentHelper is being leaked or not.

Change 3415853 on 2017/05/01 by Ben.Marsh

	EC: Fix jobs never completing if a "Sync & Build" step fails. Dependent jobs should evaluate their run conditions as soon as the parent step finishes, rather than waiting for child job steps to be created.

Change 3416138 on 2017/05/01 by Ben.Marsh

	Fix Fortnite cook failures. Not sure what the exact problem is here, but my hunch is that discarded "const" causes blueprint compile failures due to not being able to connect output pins between nodes for overloaded functions, or something like that.

Change 3416309 on 2017/05/01 by Ben.Marsh

	Build: Fix node names for static analysis.

Change 3416360 on 2017/05/01 by Ben.Marsh

	UBT: Remove unused arguments to PrepForUATPackageOrDeploy for Windows.

Change 3416398 on 2017/05/01 by Daniel.Lamb

	Cook on the fly NetworkFileServerConnection Remove FileModifiedCallback delegate when the connection is closed.

	#test Cook on the side shootergame.

Change 3416826 on 2017/05/01 by Daniel.Lamb

	Added callback to game when files are requested reload from networkfileserver.
	Game will need to unload / reload effected objects.
	Working on simple reload capability in shootergame.

	#test Cook on the side shootergame with reloading

Change 3417983 on 2017/05/02 by Ben.Marsh

	EC: Remove warning for lines not matching p4 tag syntax when running preflights; multi-line descriptions in shelved changelists break this pattern.

Change 3418747 on 2017/05/02 by Steve.Robb

	Fix for const pointer properties.
	Fix for UHT debugging manifest.
	Test added for pointer properties.

Change 3420477 on 2017/05/03 by Gil.Gribb

	UE4 - Removed check from windows async IO layer.

[CL 3421020 by Ben Marsh in Main branch]
2017-05-03 14:18:32 -04:00
Ben Marsh
111ec7adc5 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3314870)
#lockdown Nick.Penwarden

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3284872 on 2017/02/03 by Graeme.Thornton

	Seperate pak cache granularity from pak signing chunk size

Change 3285765 on 2017/02/03 by Graeme.Thornton

	Fix stats warnings because each slate new loading screen thread has the same stat name, but is assigned to a different thread

	#jira UE-41478

Change 3286913 on 2017/02/04 by Ben.Marsh

	IncludeTool: Merging fixes.

	* Don't remove existing forward declarations unless explicitly instructed to do so. Files are optimized with these declarations in place, so removing them can cause output files to fail to build. It can be a useful separate step though, so expose it as a command-line option instead.
	* Add a specific option for which files should be output by the tool. Any files which are excluded from this list are treated specially when generating output files, so as to prevent them from causing files to be omitted from other files that include them. Also add an option to force this mode for all headers, for use when testing formatting/include path generation.

Change 3287100 on 2017/02/05 by Ben.Marsh

	UBT: Move platform settings into platform-specific TargetRules objects.

Change 3287106 on 2017/02/05 by Ben.Marsh

	Merge UEBuildPlatformContext into UEBuildPlatform. Now that targets can have platform-specific settings, there is no need to separate a platform class which contains target-specific information.

Change 3287398 on 2017/02/06 by Steve.Robb

	Fix for UHT failing when -WarningsAsErrors and -Verbose are specified together.

Change 3287399 on 2017/02/06 by Steve.Robb

	Log verbosities made more readable in the debugger.

Change 3287410 on 2017/02/06 by Steve.Robb

	Fix for TStructOpsTypeTraits where WithCopy gives a different result between specializing the traits and not providing WithCopy and not specializing the traits at all.

	#fyi marc.audy

Change 3288020 on 2017/02/06 by Ben.Marsh

	Prevent forward declaration of the ITextData class. We need to include the header for the debugger visualizers to work correctly.

Change 3291817 on 2017/02/08 by Steve.Robb

	New EBlueprintCompileReinstancerFlags used to construct FBlueprintCompileReinstancer, instead of lots of bools.

Change 3292090 on 2017/02/08 by Graeme.Thornton

	Crash fix - don't update font engine services if it was never created

	#jira UE-33953

Change 3292993 on 2017/02/08 by Ben.Marsh

	Add an option to disable force-including PCHs for files in the non-unity working set. (bAdaptiveUnityDisablesPCH)

Change 3293231 on 2017/02/08 by Ben.Marsh

	BuildGraph: Allow overriding the changelist that a badge should be displayed for (with the Change="" attribute on the Badge declaration in XML), so the code changelist can be used if necessary. Also link to the failed step if only one has failed.

Change 3294213 on 2017/02/09 by Ben.Marsh

	EC: Allow setting a property on frequent CI jobs that allows us to exclude it from job searches for generating the dashboard. Filtering on the client side is causing dashboard pages to be almost empty.

Change 3294753 on 2017/02/09 by Ben.Zeigler

	#jira UE-41151 Fix UObjectLibrary::RemoveObject to remove from the correct array, and add comment mentioning that the dynamic use of Object Library is semi-deprecated

Change 3296070 on 2017/02/09 by Ben.Zeigler

	Explicitly turn off Copy for a struct that has a linked list internally. I think turning Copy on by default for all non POD Types is pretty risky and is likely to crash for other games. In this case it was being copied for network replication, and it didn't have one defined so the default C++ one copied the linked list and crashed on destruction.

Change 3296420 on 2017/02/10 by Graeme.Thornton

	Remove remaining references to AES_KEY, instead using the encryption key delegates to access the key where needed
	Refactored encryption and signing key access in unrealpak to make it easier to use

Change 3296609 on 2017/02/10 by Ben.Marsh

	BuildGraph: Fix error running the <Copy> task with an empty "From" argument.

	* FileSystemReference.IsUnderDirectory() was not correctly handling cases where the directory was a root directory (and has to end in a path separator)
	* FilePattern.AsDirectoryReference() with an empty token would append a path separator to an empty string, resulting in it referencing the root directory rather than the given base directory.

Change 3297440 on 2017/02/10 by Ben.Marsh

	UBT: Move the FileFilter class into UnrealBuildTool.

Change 3297725 on 2017/02/10 by Ben.Zeigler

	#jira UE-39199 Fix issue with enum value redirects using the wrong short or long name, it now fully supports both.
	Clean up a lot of confusingly named and broken functions on UEnum:
	#jira UE-41348 Deprecate FindEnumIndex, GetEnum, GetEnumName, replace with GetIndexByName, GetNameByIndex, and GetNameStringByIndex and clean up warnings
	#jira UE-38187 Deprecate GetDisplayNameText and GetEnumText, replaced both with GetDisplayNameTextAtIndex which is now callable outside the editor and has a better comment
	Deprecate FindEnumRedirects and replace with GetIndexByNameString. Fix code to not check the redirects array 5 times per enum lookup
	Fix GetValueAsString to actually act on a value, not an index. This matches common usage and the function's name
	While fixing deprecation warnings on internal games, fixed dozens of cases where it was using Index functions when it should have been using Value functions
	Delete some now redundant enum editor code and pipe everything through UEnum

Change 3297979 on 2017/02/10 by Ben.Zeigler

	Fix issues parsing Enums that are literally the string "None", which is allowed but leads to some odd behavior

Change 3298299 on 2017/02/10 by Steve.Robb

	TTuple improvements:
	- equality comparable
	- serializable
	- in the correct folder

	2-tuples are specialized to be syntactically compatible with both TPair and TTuple.
	TPair is now an alias for a 2-tuple and is no longer bound to TPairInitializer.

	#fyi robert.manuszewski,ben.marsh

Change 3298460 on 2017/02/11 by Ben.Marsh

	UGS: Set the correct result from running custom tasks.

Change 3298462 on 2017/02/11 by Ben.Marsh

	UBT: Fix some deprecated messages that have the wrong release version, and add a better message for how ModuleRules constructors need to be updated.

Change 3299447 on 2017/02/13 by Graeme.Thornton

	Fix AES and pak signing key embedding for content only projects
	 - Force temp target when any keys are specified by project config

Change 3299649 on 2017/02/13 by Steve.Robb

	PLATFORM_HAS_DEFAULTED_OPERATORS fixed.
	Other obsolete compiler switches removed.

Change 3299787 on 2017/02/13 by Steve.Robb

	IsAbstract() for testing if a reflected native type contains pure virtual functions.  Needed for BP nativization.

	#fyi robert.manuszewski

Change 3300576 on 2017/02/13 by Ben.Marsh

	EC: Add support for starting builds on any agent type. Mapping from agent types to resource pools is stored in an EC property sheet (/Generated/<Stream>/AgentTypes), allowing EC procedures to map it to a resource pool from a parameter.

Change 3300600 on 2017/02/13 by Ben.Marsh

	EC: Add the -ClearHistory argument to UAT run to export BuildGraph settings, to allow running on incremental workspaces.

Change 3300624 on 2017/02/13 by Ben.Marsh

	Switch incremental builds for all streams to start up on the incremental agent.

Change 3302134 on 2017/02/14 by Steve.Robb

	UnrealCodeAnalyzer removed.

	#fyi ben.marsh,robert.manuszewski

Change 3302639 on 2017/02/14 by Ben.Zeigler

	Fix crash cooking odin with default command line
	#jira UE-41952 Delete StealthTeleport map that crashes on load, and update default cook list that gets used if nothing specified

Change 3303002 on 2017/02/14 by Ben.Zeigler

	#jira UE-41061 Fix it so editor only filtering on savepackage is uniformly applied regardless of if it's at package or object level
	#jira UE-41880 Rewrite editor/client/server only filtering logic in SavePackage to fix various bugs. It now does all of the filtering up front, and won't process any filtered objects for imports or exports
	Rename NotForEditorGame to NotAlwaysLoadedForEditorGame and improve comments, this flag says that the asset should be loaded EVEN IF it is editor only, it does not affect loading for normal objects
	Change the non-map cook flags to RF_Public instead of RF_Standalone. Blueprint classes aren't RF_Standalone so were only being cooked before due to an accident of the dependency checker
	Change it so anything with a Transient outer is marked transient at save time. These objects would not save out properly anyway
	Fix it so -cooksinglepackage works properly again and excludes localization and startup packages
	Tested with Fortnite and Odin, Odin works but with lots of warnings with nativization on which I need to investigate

Change 3303084 on 2017/02/14 by Ben.Zeigler

	Attempt to get Nativization and EDL working without warnings

	Change 3305153 on 2017/02/15 by Ben.Zeigler

	Fix Fortnite and Orion cook, I don't understand why this passed my local testing
	Fix the CDO subobject finder to actually return things instead of doing nothing, and fix a shadow variable warning

Change 3305959 on 2017/02/16 by Gil.Gribb

	UE4 - Tweaked out the EDL loader for the switch with benefits to all platforms.

Change 3306159 on 2017/02/16 by Ben.Marsh

	Fix path to target binaries when building non-monolithic in a unique build environment.

Change 3306584 on 2017/02/16 by Steve.Robb

	UEnum internal functions renamed from Index to Value.
	GetValueAsString_Internal() parameter now takes an int64, as is expected for enum values.

	#fyi ben.zeigler

Change 3307836 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Load very old redirects in cooked builds. Matinee has no way of resaving redirects, so as long as matinee exists we need to keep them around forever, or fix matinee manually
	Fixes lighting in Infiltrator demo

Change 3307929 on 2017/02/16 by Ben.Zeigler

	#jira UE-42055 Second half of matinee redirector fix

Change 3308840 on 2017/02/17 by Matthew.Griffin

	Reimplementing CL#3305808 from 4.15

		Changed QA label build process so that it only allows version with 3 components (we always add the .0 for initial releases)

Change 3309115 on 2017/02/17 by Ben.Marsh

	Windows: Fix the GetModulesDirectory() function always returning the engine binaries directory. It's possible to build non-monolithic targets which output all engine binaries to the game binaries directory - a requirement to being able to set game-specific defines or build settings, because we don't want shared engine binaries to be tainted with them. The module manager needs to be able to operate early on,  before many of the game settings have been initialized, so just return the directory containing the Core module instead.

Change 3309120 on 2017/02/17 by Ben.Marsh

	Fix support for creating modular builds which don't use the shared build environment.

Change 3309125 on 2017/02/17 by Ben.Marsh

	Require that -CookDir arguments are specified separately on the command line. '+' is a valid path character (and common in build versions), so we shouldn't treat it as an argument separator.

Change 3309128 on 2017/02/17 by Ben.Marsh

	Fix UnrealPak failures when enumerating all files from a source directory, if that directory happens to contain spaces.

Change 3309131 on 2017/02/17 by Ben.Marsh

	Fix list of discovered assets being cleared by second call to FindFilesRecursive() when building DDC. Disable the -cookdir parameter again.

Change 3309140 on 2017/02/17 by Ben.Marsh

	UAT: Fix exception moving a file from one location to another if the target directory does not exist.

Change 3309212 on 2017/02/17 by Ben.Marsh

	Fixes/improvements for mod editor and code mods:

	* A separate top-level project is generated for each code mod in the Visual Studio solution.
	* Plugin descriptors now have a flag to identify themselves as mod as opposed to a regular game plugin, which prevents project plugins from getting their own VS project. New mods created with the mod editor will have this set by default, as do the three existing sample mods.
	* Cleaning and building code mods will never modify engine binaries. Presence of the Engine/Build/InstalledProjectBuild.txt file is used to indicate running in this environment. This flag also disables options to edit metadata for non-mod plugins in installed builds.
	* Plugin browser now includes a separate category for mods.
	* Mod editor now behaves as an "installed" program by default, and will use the user's home folder for storing settings.

Change 3309231 on 2017/02/17 by Steve.Robb

	Fix for Ar << bSomeBool where Ar is a derived class which overrides an operator<<.

	#jira UE-42052

Change 3309248 on 2017/02/17 by Ben.Marsh

	Add support for hot-reloading game plugin modules from Visual Studio, as long as their module returns IsGameModule() = true.

Change 3309257 on 2017/02/17 by Ben.Marsh

	Prevent game binaries from being renamed for hot reload when working with installed projects.

Change 3309355 on 2017/02/17 by Steven.Hutton

	Changes to make the website compatible with the new database changes.

Change 3309371 on 2017/02/17 by Ben.Marsh

	Fix exception on shutdown when running asset registry with threads disabled.

	#jira UE-41951

Change 3309389 on 2017/02/17 by Ben.Zeigler

	#jira UE-42051 Fix ensure and crash when loading a null asset ID via the LoadAsset BP node

Change 3309570 on 2017/02/17 by Gil.Gribb

	UE4 - Switch load time performace tweaks, plus abstracted the IO tracker and handle manager for other platforms and applied it to the PS4.

Change 3310039 on 2017/02/17 by Ben.Marsh

	BuildGraph: Prevent exception when trying to delete a file that does not exist.

Change 3311484 on 2017/02/20 by Chris.Wood

	CrashReportProcess crash add retry logic improvements (CRP v1.2.16)

Change 3311600 on 2017/02/20 by Matthew.Griffin

	Updated StripSymbols functions so that all platforms can deal with the source and target file being the same

Change 3311675 on 2017/02/20 by Steve.Robb

	FNativeClassHeaderGenerator::CurrentSourceFile stack replaced with C++ stack.

Change 3311893 on 2017/02/20 by Ben.Marsh

	UGS: Add support for notifying users if CIS steps fail for content changes. Badges which test content should be listed in the [Notifications] section of the project-specific INI file, through +ContentBadges= lines.

Change 3313966 on 2017/02/21 by Ben.Marsh

	Fix EC parsing of error messages output by the editor in the form "LogXYZ:Error:". Greedy optional subexpression in regex was matching everything until a space, so terminate a colon too.

Change 3314398 on 2017/02/21 by Ben.Zeigler

	#jira UE-42212 Fix shutdown of AnimGraph module to be safer

[CL 3315211 by Ben Marsh in Main branch]
2017-02-21 15:51:42 -05:00
Ben Marsh
5275490168 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3277940)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3233612 on 2016/12/13 by Ben.Marsh

	UGS: Fix cases where precompiled binaries are submitted for a content change.

Change 3235584 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the overridable TargetRules.ShouldUseSharedBuildEnvironment() function; targets should specify which build environment to use by setting the BuildEnvironment field in their constructor instead.

Change 3235741 on 2016/12/14 by Ben.Marsh

	UBT: Deprecate the SetupBinaries() callback on the TargetRules class. Instead of overriding this, targets may override their launch module through the "LaunchModuleName" property in their constructor, and add extra modules to the "ExtraModuleNames" field on the TargetRules object itself.

Change 3238176 on 2016/12/16 by Ben.Marsh

	UBT: New XML config file parser. Now reads once at startup and can be applied to instanced objects rather than global fields, and caches parsed output in a binary form for quicker initialization on subsequent runs.

Change 3238249 on 2016/12/16 by Ben.Marsh

	UBT: Add attribute-driven command line parser.

Change 3238462 on 2016/12/16 by Ben.Marsh

	UBT: Include the Platform, Configuration and Architecture on the TargetRules. Add a constructor which takes the TargetInfo object and deprecate the parameterless one; these fields are currently initialized before invoking the constructor in RulesAssembly.

Change 3238564 on 2016/12/16 by Ben.Marsh

	UBT: Deprecate the ModuleRules constructor which takes a TargetInfo argument. Replace it with a read-only wrapper around the target rules instead, so target-specific configuration options can be read without needing to access global static variables. Also require that it's passed to the base class constructor.

Change 3239919 on 2016/12/19 by Ben.Marsh

	UBT: Remove the "PreferredSubPlatform" property. This is only used for Windows XP support, which is being retired anyway. Having the target define its own architecture is an awkward contractiction to maintain support for, since the target rules are constructed after the architecture already has been determined.

Change 3240061 on 2016/12/19 by Ben.Marsh

	UBT: Remove ThirdPartyHeaderFinder. I don't think anything is using this any more.

Change 3240175 on 2016/12/19 by Ben.Marsh

	UBT: Add the target name and project file location to the target rules.

Change 3240490 on 2016/12/19 by Ben.Marsh

	UAT: Remove Mac staging code that requires UAT to compile and construct .target.cs files when packaging, to check bUseSteam and bUseCEF3 flags. libsteam_api.dylib is now staged at build time by adding it as a bundle resource, CEF3 is already marked as a runtime dependency by CEF3.build.cs, and UnrealCEFSubProcess.app is already marked as a runtime dependency from WebBrowser.build.cs.

Change 3240717 on 2016/12/20 by Ben.Marsh

	UAT: Allow configuring UAT to run as if on a build machine by passing the -buildmachine argument on the command line.

Change 3240718 on 2016/12/20 by Ben.Marsh

	UAT: Remove target-specific properties that are no longer used by staging (bUsesSlate, bUsesCEF3, etc...). This stuff should all be handled inside UBT.

Change 3241002 on 2016/12/20 by Ben.Marsh

	UBT: Move most target configuration settings from UEBuildConfiguration to TargetRules. This encapsulates target specific settings that will allow instancing multiple targets in the future. To facilitate migration of settings to their new location, "UEBuildConfiguration" is now a property that returns the current target rules instance.

Change 3241027 on 2016/12/20 by Ben.Marsh

	Only copy the Steamworks dylib into the app bundle for monolithic builds. For all other times, just add it as a runtime dependency.

Change 3241055 on 2016/12/20 by Ben.Marsh

	UBT: Only store a ReadOnlyTargetRules object on the instanced build target; finalize the configuration before it's instantiated.

Change 3241156 on 2016/12/20 by Ben.Marsh

	Update SwarmInterface.csproj to .NET framework 4.5, to match what all other C# tools are using.

Change 3241205 on 2016/12/20 by Ben.Marsh

	Replace all uses of TargetRules.TargetType with TargetType.

Change 3241881 on 2016/12/21 by Ben.Marsh

	UBT: Remove project file information from UEBuildContext base class. As configurable properties are moved on to the TargetRules object, it will no longer be a dependency to instantiate the platform with this path.

Change 3241895 on 2016/12/21 by Ben.Marsh

	UBT: Remove toolchain support for Windows XP.

Change 3241908 on 2016/12/21 by Ben.Marsh

	UBT: Move settings for windows targets into a WindowsTargetRules class, which is exposed for targets to modify via the TargetRules.WindowsPlatform field.

Change 3242835 on 2016/12/22 by Ben.Marsh

	UBT: Fix multiple binaries being created if plugins specify module names more than once. MfMedia.uplugin has MfMediaFactory listed twice.

Change 3242837 on 2016/12/22 by Ben.Marsh

	Change UE4EditorServices to include MacSystemIncludes rather than Cocoa.h directly; causes FVector to be defined incorrectly in non-unity builds.

Change 3242923 on 2016/12/22 by Ben.Marsh

	Build: Fixes for conforming incremental workspaces:

	* P4 have table is now reset before deleting all the files. This prevents Perforce being out of sync if the delete fails for some reason.
	* Incremental workspaces are skipped when running a clean operation, because they do not have a workspace capture file (causing a full re-sync, always). The "P4 Clean" option is still effective for cleaning these workspaces.

Change 3242961 on 2016/12/22 by Ben.Marsh

	UBT: Move entry points from PreBuildSync() and PostBuildSync() from UEToolChain to UEBuildPlatform, and make the original toolchain versions static. These functions are already at odds with the rest of the data flow within UBT because they rely on global state cached outside the toolchain instance, making assumptions that UBT is only ever going to be invoked with one target that's constructed in the same run and that nothing is being cached (eg. UBT makefiles). Moving them onto UEBuildPlatform simplifies the toolchain lifecycle for other platforms without leaving Mac and IOS any more limited than they were before.

Change 3242981 on 2016/12/22 by Ben.Marsh

	UBT: Remove symbol server handling code into UAT's platform library, since it's never needed from inside UBT.

Change 3242999 on 2016/12/22 by Ben.Marsh

	UBT: Remove the StripSymbols() function from the UEToolChain base class. This functionality is only required by UAT, so it's better suited to being exposed through UAT's modular platform classes.

Change 3243022 on 2016/12/22 by Ben.Marsh

	UBT: Require an instance of the target rules to be able to construct a toolchain in UBT. This will allow configuring toolchain-specific options from the target, using reflection from config files, and the command line.

Change 3243083 on 2016/12/22 by Ben.Marsh

	UBT: Move settings for the Windows compiler version to use onto the Windows-specific target rules.

Change 3243090 on 2016/12/22 by Ben.Marsh

	UBT: Change the third party paths in UEBuildConfiguration to constants. Changing these would not work.

Change 3243423 on 2016/12/23 by Ben.Marsh

	UBT: Move a lot of settings from BuildConfiguration to TargetRules. This allows different targets to have different settings, naturally, and moves converts argument parsing and config to be driven by attributes.

Change 3243516 on 2016/12/23 by Ben.Marsh

	UBT: Remove the ValidateUEBuildConfiguration callback, which is no longer used. (XGE settings validation occurs in XGE.cs)

Change 3244020 on 2016/12/28 by Ben.Marsh

	UBT: Remove the BaseIntermediatePath static property. Precursor to removing RelativeEnginePath and IntermediateFolder properties.

Change 3244074 on 2016/12/28 by Ben.Marsh

	UBT: Remove the RelativeEnginePath variable from BuildConfiguration. UnrealBuildTool.EngineDirectory gives the absolute path, and can be used to construct a relative path when necessary.

Change 3244076 on 2016/12/28 by Ben.Marsh

	UBT: Remove BuildConfiguration.BaseIntermediateFolder; just use a fixed directory everywhere instead.

Change 3244083 on 2016/12/28 by Ben.Marsh

	UBT: Replace FileReference and DirectoryReference instance methods for manipulating files and directories with static methods, to mirror the System.IO.File and System.IO.Directory classes.

Change 3244441 on 2016/12/31 by Ben.Marsh

	UBT: Remove code to force PDBs when building with no debug info under XGE. Verified described symptoms (that it causes PCH generation to be serialized) no longer occur.

Change 3244687 on 2017/01/03 by Matthew.Griffin

	Changed Exception to use FirstInclude.IncludeName as PrecompiledHeaderIncludeFilename can be null when this occurs

Change 3246112 on 2017/01/04 by Ben.Marsh

	UBT: Fix UHT failures building some targets with the -useprecompiled option, due to differences in the order that circularly dependent modules are parsed. Precompiled binaries are now kept in the regular AppBinaries list, but are excluded from the build at the last minute. Also change some checks from IsEngineInstalled() to bUsePrecompiled, to prevent headers being overwritten when running in a non-installed precompiled build.

Change 3246223 on 2017/01/04 by Ben.Marsh

	UBT: Prevent version manifests being overridden if a file is not being built as part of the target.

Change 3246387 on 2017/01/04 by Ben.Marsh

	UBT: Remove BuildConfiguration settings for UnrealCodeAnalyzer. This tool isn't used at the moment, but it's configured using global variables accessed from all over the UBT codebase, making it difficult to refactor the build options into an instanced object. If we bring this tool back from the dead in the future, it should be possible to implement it using the exported JSON target definition or the XGE manifest, similarly to how IncludeTool uses it.

Change 3247004 on 2017/01/04 by Ben.Marsh

	UBT: Simplify the logic for cleaning targets in UBT. Now uses FileReference/DirectoryReference objects everywhere, doesn't require the compile/link environment, and does all the checking to avoid deleting precompiled binaries in one place.

Change 3247250 on 2017/01/04 by Ben.Marsh

	UBT: Prevent precompiled binaries being added to the list of app binaries twice.

Change 3247594 on 2017/01/05 by Ben.Marsh

	Build: Run sample and template editors on the same agents as the other incremental builds. Remove ProtoStar, which does not have any non-precompiled editor target to build.

Change 3247763 on 2017/01/05 by Ben.Marsh

	UBT: Allow the toolchain to update the list of build products for each module linked into a binary. Allows Mac to add dylibs and bundle resources specified per-module without having to construct a link environment and try to link them.

Change 3247775 on 2017/01/05 by Ben.Marsh

	UBT: Instance the target compile and link environments when they are required during building, and don't persist them on the UEBuildTarget instance.

Change 3247811 on 2017/01/05 by Ben.Marsh

	EC: Add a batch file for testing postp filters.

Change 3247839 on 2017/01/05 by Ben.Marsh

	EC: Include the name of the file being compiled when parsing MSVC errors and warnings.

Change 3248101 on 2017/01/05 by Ben.Marsh

	UBT: Fix Android support for force included headers.

Change 3248533 on 2017/01/05 by Ben.Marsh

	PR #3097: UBT project supports optional platforms (Contributed by PrimalJohnScott)

Change 3249205 on 2017/01/06 by Ben.Marsh

	UAT: Fix ParseTaggedP4Output throwing an exception if the same key name is specified more than once. This can happen when parsing the output from "P4 INFO", where multiple brokers are present.

Change 3249249 on 2017/01/06 by Ben.Marsh

	UBT: Check for the existance of AndroidManifest.xml within extracted AAR directories, rather than just checking for the existance of the directory itself. Perforce does not remove empty directories when cleaning a workspace unless the rmdir option is on the workspace, so this can cause incremental build failures to fail on build machines.

Change 3249486 on 2017/01/06 by Ben.Marsh

	UBT: Use relative paths in unity files when compiling for Mac/IOS, rather than generating a separate local/remote version of the file for gathering include dependencies. Absolute paths are only used to work around the way that MSVC concatenates paths internally; we don't hit the same problems when checking dependencies.

Change 3249736 on 2017/01/06 by Ben.Marsh

	UBT: Rename CPPEnvironment to CppCompileEnvironment, and remove the separate CPPEnvironmentConfiguration object. All settings are now stored directly on the CppCompileEnvironment object.

Change 3250179 on 2017/01/07 by Ben.Marsh

	Fix creating installed build when root directory contains a space in the name.

Change 3250181 on 2017/01/07 by Ben.Marsh

	UBT: Remove some esoteric (and unused, AFAIK) options for orthogonally building different platforms.

Change 3250223 on 2017/01/07 by Ben.Marsh

	UBT: Merge the LinkEnvironment and LinkEnvironmentConfiguration classes together.

Change 3250233 on 2017/01/07 by Ben.Marsh

	UGS: Allow specifying a workspace-specific sync filter, which is applied on top of the standard filter. Also fix filter being cleared if the cancel button is pressed, and help text being stripped out.

Change 3250241 on 2017/01/07 by Ben.Marsh

	UBT: Move the options for specifying additional Android architectures to target onto an Android-specific object on the TargetRules.

Change 3250400 on 2017/01/08 by Ben.Marsh

	UBT: Move executor config settings onto the executor instances.

Change 3257708 on 2017/01/13 by Ben.Marsh

	UBT: Remove the ThirdPartySourceDirectory constant; there are many places which hard-code or assume this location anyway, and it's not going to change.

Change 3260535 on 2017/01/17 by Ben.Marsh

	Add an optional "RequiredSubmittedChange" setting to EC settings files. Allows a scheduled job to run even if there have been no code changes submitted. Test with the utilization capture job.

Change 3260875 on 2017/01/17 by Ben.Marsh

	EC: Fix workspaces getting out of sync wrt. newly added files when jobs are aborted during a sync. In such cases, the P4 have table indicates the new files have been synced locally, but the workspace is forced back to a state before it had them due to the capture file. When a following sync tries to add them again, P4 believes the workspace already has them synced.

	To work around this, we now write an additional file to the root folder of a workspace containing the last CL that was captured, and sync back to it before doing the reconcile.

Change 3261724 on 2017/01/18 by Ben.Marsh

	Allow filtering job types from the list view in EC. Hide the utilization capture job by default. Also set up notifications for the utilization capture job.

Change 3261756 on 2017/01/18 by Ben.Marsh

	IncludeTool: Prevent matching a full enum declaration as a forward declaration.

Change 3261932 on 2017/01/18 by Ben.Marsh

	EC: Add support for specifying days of the week in schedules. The following syntaxes are supported:

	"Monday, Tuesday and Wednesday at 10:30"
	"Daily except Sunday and Wednesday at 14:30"

	 Also tweak display of dates relative to now to handle dates/times in the future, and include the date when specifying a day name.

	#jira UEB-729

Change 3262676 on 2017/01/18 by Ben.Marsh

	UBT: Split UBTMakefile into its own file. (From PR #3106)

Change 3263893 on 2017/01/19 by Ben.Marsh

	UBT: Stop exporting platform classes from UBT, as well as all the referenced classes that have to be made public as a result. Any platform-specific functionality that needs to be shared with UAT is now exposed through wrappers in separate public classes, eg. WindowsExports.cs, IOSExports.cs, etc...

Change 3264291 on 2017/01/19 by Ben.Marsh

	UBT: Fix errors generating documentation in UBT, and enable it by default. Will catch more errors with new code being added. Originally in PR #3106, but redone due to conflicts.

Change 3264534 on 2017/01/19 by Ben.Marsh

	UBT: Include plugin config files in generated projects.

Change 3264571 on 2017/01/19 by Ben.Marsh

	UBT: Prevent overwriting .modules files if nothing has changed. On builders, it's common to build multiple editors in the same workspace, and changing the last modified timestamp causes BuildGraph to fail due to tampered files.

Change 3265745 on 2017/01/20 by Ben.Marsh

	UGS: Automatically open UGS when running the launcher for a second time, rather than prompting to close the original instance.

Change 3265777 on 2017/01/20 by Ben.Marsh

	UGS: Automatically close and reopen when UGS is re-ran with the shift key held down to switch into unstable mode.

Change 3268314 on 2017/01/23 by Ben.Marsh

	UBT: Make sure version manifests are stable by sorting the list of build products, so they are only touched if the contents have really changed.

Change 3269601 on 2017/01/24 by Ben.Marsh

	UBT: Fix symbol files being added to manifest for some platforms even though debug info is disabled.

Change 3269607 on 2017/01/24 by Ben.Marsh

	UBT: Fix bug where UBT would need to be invoked when switching between two editors sharing the same engine binaries on Mac. The location of the .modules file cannot be guessed on Mac by looking in the same directory as the primary output executable because it's an .app bundle, and the actual modules are nested several directories below that.

Change 3269608 on 2017/01/24 by Ben.Marsh

	UBT: Fix additional files copied into the app bundle always being updated on Mac. Now uses rsync --checksum to make sure only modified files are updated.

Change 3271062 on 2017/01/24 by Ben.Marsh

	UBT: Fixes for bugs detected by PVS Studio (PR #3161)

Change 3272421 on 2017/01/25 by Ben.Marsh

	Fix commends regarding DDC in BaseEngine.ini

	#jira UE-41076

Change 3272810 on 2017/01/25 by Ben.Marsh

	Fix VS2017 being displayed as 'Visual Studio 15' in the Windows target settings panel.

Change 3272935 on 2017/01/25 by Ben.Marsh

	Fix Metal errors launching on Mac due to use of OSX environment settings before they are initialized. Toolchain settings are now constructed on demand in a separate class, for Mac, iOS and TVOS.

Change 3274167 on 2017/01/26 by Ben.Marsh

	Fix resource files not being compiled in installed builds on Windows. Was causing metadata not to be embedded into executables.

	#jira UE-36457

Change 3275557 on 2017/01/27 by Ben.Marsh

	Expand checks for propagation of restricted folder names to include source files, and to ensure that each restricted folder is represented in the output. Also improve messaging to show the dependency chain leading to a restricted folder being referenced, and which folder it is.

Change 3275628 on 2017/01/27 by Ben.Marsh

	UBT: Splitting configuration files into one class per-file.

Change 3276784 on 2017/01/29 by Ben.Marsh

	Add an authoritative list of confidential folder names, and expose it through global BuildGraph properties ($(RestrictedFolderNames) and $(RestrictedFolderFilter)). Also switch existing scripts to use it.

Change 3276792 on 2017/01/29 by Ben.Marsh

	UBT: Use UE4CSharp.prog files to indicate which projects should be included in the solution without having to hard-code a list of them in UBT.

Change 3277263 on 2017/01/30 by Ben.Marsh

	IncludeTool: Merging various fixes.

	* Fix warnings about #include directives after first code block from parsing monolithic headers.
	* Fix exception on startup if the intermediate directory does not already exist.
	* Add a special case for ignoring missing header guards from MonolithicHeaderBoilerplate.h, rather than marking it as an inline header. Marking it as inline prevents parsing include directives, which results in including CoreTypes.h from the wrong location.
	* Create job objects for spawned compiler instances to prevent them trying allocating more memory than the system can spare.
	* Remove (unused) code which makes assumptions about files ending with "Classes.h".
	* Add a verbose per-file output log to aid with debugging.
	* Negate the MakeStandalone command line option, which was added to allow tweaking forward declarations in already optimized files, so the optimized output does not have missing headers by default.
	* Fix missing headers when creating standalone files, due to incorrect list of previous files being passed in to the OutputFile constructor. Now passes the original list of included files, not the output list.
	* Fix initial header for a cpp file sometimes being removed. Forcibly including a header at the start of the file does not use the normal pathway for spidering through includes, so a second include of the same file was being generated. Any includes of that header were being forced into output, and the earlier include was then removed due to being redundant.
	* Prevent forward declaring enums which have to be parsed by UHT. UHT relies on includes to determine a parse order, and will fail if the enum definition has not been parsed first.
	* Use a relative path for private includes in the same module if there are any. Fixes some incorrect paths, and makes it clearer that we're doing something we shouldn't.

Change 3277307 on 2017/01/30 by Ben.Marsh

	UBT: Fix private PCHs not using correct header. Causes custom definitions to be excluded from the command line.

[CL 3278101 by Ben Marsh in Main branch]
2017-01-30 16:52:08 -05:00
Ben Marsh
20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00
Ben Marsh
4ba423868f Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3209340 on 2016/11/23 by Ben.Marsh

	Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.

	Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.

	  * Every header now includes everything it needs to compile.
	        * There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
	        * There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
	  * Every .cpp file includes its matching .h file first.
	        * This helps validate that each header is including everything it needs to compile.
	  * No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
	        * You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
	        * There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
	  * No engine code explicitly includes a precompiled header any more.
	        * We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
	        * PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.

	Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.

[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
Max Chen
888c42933d Copying //UE4/Dev-Sequencer to //UE4/Dev-Main (Source: //UE4/Dev-Sequencer @ 3178529)
#lockdown Nick.Penwarden
#rb none

==========================
MAJOR FEATURES + CHANGES
==========================

Change 3149443 on 2016/10/03 by Max.Preussner

	MediaAssets: Better parameter names for MediaPlayer BP functions

Change 3149756 on 2016/10/03 by Max.Chen

	Sequence Recorder: Set some settings to be clamped at 0 (sequence length, recording delay, audio gain, audio input buffer size, nearby actor recording proximity)

	#jira UE-35233

Change 3149795 on 2016/10/03 by Max.Chen

	Curve Editor: Set tangent to user when flattening or straightening tangents only when the tangent mode is auto and the interp mode is cubic.

	#jira UE-36734

Change 3150378 on 2016/10/04 by Max.Preussner

	PS4Media: Made video buffer sizes for file and HLS sources configurable (UE-36807)

	#jira UE-36807

Change 3151414 on 2016/10/05 by Max.Chen

	Sequencer: Fix case where restoring the last view target was getting skipped. It should always restore if the camera object and the unlock if camera actor object is null.

	#jira UE-35285

Change 3152038 on 2016/10/05 by Max.Preussner

	UdpMessaging: Code & documentation modernization pass

Change 3152471 on 2016/10/05 by Max.Chen

	Cine Camera: Don't enable/disable actor ticking based soley on actor tracking since actor ticking is needed for other purposes. Instead, always enable actor ticking and only update actor tracking on tick if necessary. This fixes a
bug where the cine camera actor won't tick if you hook in event tick.

	#jira UE-36625

Change 3152692 on 2016/10/05 by Max.Preussner

	Messaging: API code & documentation modernization pass

	Mostly removed shared pointer/ref typedefs as they prevent forward declarations and increase include complexity.

Change 3153824 on 2016/10/06 by Max.Preussner

	Messaging: Renamed IConnectionBasedMessagingModule to ITcpMessagingModule and moved it into TcpMessaging

	I recommend that we refactor this API. The dependency should be reversed, i.e. instead of AndroidDeviceDiscovery depending on the TcpMessaging plug-in module, the Engine should provide a central registry that device discovery
modules can notify, and that message transport plug-ins can register with and listen to OnConnectionAdded/Removed events etc. That way it supports an arbitrary number of transport plug-ins, and the Engine is not coupled to any of them. This
functionality is not necessarily related to messaging, and the Messaging API is transport agnostic anyway. I'll think about this some more.

Change 3153826 on 2016/10/06 by Max.Preussner

	Messaging: Removed remaining typedefs in IMessageTracer to enable forward declaration and reduce include dependencies

Change 3153857 on 2016/10/06 by Max.Chen

	Sequencer: Set snap time to dragged key on by default.

Change 3153980 on 2016/10/06 by Max.Preussner

	SessionServices: Removed typedefs; code and documentation modernization pass

Change 3154313 on 2016/10/06 by Max.Chen

	Sequencer: Set the paste keys time to the current time, rather than the mouse time.

Change 3154332 on 2016/10/06 by Max.Chen

	Sequencer: Remove click to rename shot functionality in the shot thumbnail. Added rename shot to the shot context menu.

Change 3154377 on 2016/10/07 by Max.Chen

	Sequencer: Add ability to step to beginning and ends of sections/shots using the hotkeys: , and .

Change 3154788 on 2016/10/07 by Max.Chen

	Sequencer: Fix offsets that created when moving multiple sections. The offsets were being created because section bounds were being generated for all sections except for the current section. Instead, they should be computed for all
sections except for any that aren't being moved.

	#jira UE-29152

Change 3159274 on 2016/10/11 by Max.Preussner

	Core: Documentation fixes

Change 3159275 on 2016/10/11 by Max.Preussner

	UdpMessaging: Added missing header

Change 3160746 on 2016/10/12 by Max.Preussner

	MediaAssets: Added BP functions to query width, height, and aspect ratio of UMediaTexture instances

	#jira UE-37241

Change 3160975 on 2016/10/12 by Max.Preussner

	PS4Media: Better logging for SetRate failures

Change 3160995 on 2016/10/12 by Max.Preussner

	MediaPlayerEditor: Fixed Media player selection is ignored if media specifies player overrides (UE-37248)

	#jira UE-37248

Change 3161066 on 2016/10/12 by Max.Preussner

	PS4Media: Enforcing minimum 8 byte alignment for media allocations

Change 3161069 on 2016/10/12 by Max.Preussner

	PS4Media: Fixed log spam when setting play rate to current rate

Change 3162567 on 2016/10/13 by Max.Preussner

	PS4Media: Made track switching code more readable

Change 3163447 on 2016/10/14 by Max.Preussner

	PS4Media: Fixed array out of bounds assertions

Change 3163772 on 2016/10/14 by Max.Preussner

	MfMedia: Fixed a number of timing related issues

Change 3163980 on 2016/10/15 by Max.Chen

	Sequencer: Remove folder name numeric padding so that the naming convention is similar to creating objects in the level.

Change 3164581 on 2016/10/17 by Andrew.Rodham

	Sequencer: Ensure global pre-animated state is restored in reverse order

Change 3164582 on 2016/10/17 by Andrew.Rodham

	Sequencer: Ensure pre animated state is restored for all actor components before saving default state

Change 3164583 on 2016/10/17 by Andrew.Rodham

	Sequencer: Re-enabled support for pre and post roll

Change 3165464 on 2016/10/17 by Max.Chen

	Sequencer: Default number frame handles to 0 so that there's no change in behavior when rendering out a master sequence of shots. Handle frames need to enabled explicitly by the user.

	Copy from Release-4.14

	#jira UE-37416

Change 3165483 on 2016/10/17 by Max.Chen

	Sequencer: Enable restore state for attach section completion

Change 3165771 on 2016/10/18 by Andrew.Rodham

	Sequencer: Force evaluate when rendering thumbnails

	#jira UE-37321

Change 3166057 on 2016/10/18 by Andrew.Rodham

	Sequencer: Only set defaults for tracks that have no keys, and where the requested default has changed

	#jira UE-37285

Change 3166218 on 2016/10/18 by Max.Preussner

	MediaPlayerEditor: Failure opening media, even though it opened successfully (UE-37470)

	#jira UE-37470

Change 3166247 on 2016/10/18 by Max.Preussner

	WmfMedia: Showing progress bar while media is being resolved

Change 3166289 on 2016/10/18 by Max.Preussner

	MfMedia: Showing progress bar while media is being resolved

Change 3166993 on 2016/10/18 by Max.Preussner

	MfMedia: Fixed info string not reset on media close.

Change 3166999 on 2016/10/19 by Max.Preussner

	Media: Fixed NV12 and NV21 support

Change 3167008 on 2016/10/19 by Max.Preussner

	Media: Removed vertical NV12 alignment

Change 3167029 on 2016/10/19 by Max.Preussner

	WmfMedia: Temp fix for RGB32 encoded AVIs rendering upside-down and too bright (UE-37505)

	#jira UE-37505

Change 3168593 on 2016/10/19 by Max.Chen

	Sequencer: Change paste at time to local time, so that the paste happens in the local time of the sequence rather than the global time if pasting in a shot level sequence.

Change 3168626 on 2016/10/19 by Max.Chen

	Sequencer: Clamp to view bounds should snap to frame if frame snapping is on.

Change 3168627 on 2016/10/19 by Max.Chen

	Sequencer: Initialize working and view range to be 10% larger than playback range.

Change 3168760 on 2016/10/20 by Max.Preussner

	Media: Revamped media texture buffer management to support padded frames

	Added support for Windows bitmap buffers.
	Fixed a number of format, conversion and/or looping issues in WmfMedia and MfMedia.
	Not all shaders have been updated yet.

Change 3169640 on 2016/10/20 by Max.Chen

	Sequencer: Add current camera to FLevelSequencePlayerSnapshot. Adjust DefaultBurnIn to include a few more parameters like focal length and focus distance.

	#jira UE-37407

Change 3170677 on 2016/10/21 by Max.Chen

	Movie Scene Capture: Add toggle to override engine scalability settings to cinematic scalability.

	#jira UE-36560

Change 3170710 on 2016/10/21 by Max.Preussner

	Media: Optimized handling of RGB input

Change 3170712 on 2016/10/21 by Max.Preussner

	Media: Fixed NV21 conversion shader scaling

Change 3170923 on 2016/10/21 by Max.Preussner

	UBT: Copied XboxOne project generator fix from Fortnite CL# 3170868

Change 3171494 on 2016/10/23 by Max.Chen

	Sequencer: Fix fbx export from master sequence not finding bound objects.

	#jira UE-35752

Change 3171506 on 2016/10/23 by Max.Chen

	Sequencer: Draw where in and out points of the shot section are, just like subsequences do. Change to only draw the green starting line if StartOffset is negative.

	#jira UE-35473

Change 3171743 on 2016/10/24 by Andrew.Rodham

	Editor: Added support for detail customizations on root structs
	  - Also added the ability to add external struct data onto a detail category builder, and property type customization.

Change 3171752 on 2016/10/24 by Andrew.Rodham

	Sequencer: Fixed spawnable ownership
	  - Spawnables are no longer destroyed when the cursor leaves the master playback range.
	  - Spawnable ownership now operates as it previously did before the evaluation rework.
	  - bIgnoreOwnershipInEditor has been removed since its existence was a work around for when we didn't evaluate sub sequences from the master sequence.
	  - FMovieSceneSequenceID is now a struct so that it can be used in array properties
	  - Meta data now exists for each segment of an evaluation field. Currently this only includes the sub sequence IDs that exist at that time, but it may be expanded to include all evaluation entities (tracks + sections) in future so
we don't have to calculate that at runtime.

Change 3171756 on 2016/10/24 by Andrew.Rodham

	Sequencer: Added ability to trigger events with parameters
	  - It's now possible to supply an event payload on event track keys which are to be passed to a given event. The structure must match the signature of the event, or a warning will be emitted.
	  - Added a templated TGenericKeyArea, TKeyFrameManipulator and TCurveInterface that allow to generic manipulation of keyframe section data. In time we will port the other key areas over to this representation.
	    - This new architecture affords the common manipulation of time-based keyframes in a value-agnostic manner.

Change 3172935 on 2016/10/24 by Max.Preussner

	MediaPlayerEditor: Fixed MediaPlayer asset not being dirtied when creating media sound wave or texture for it

Change 3173947 on 2016/10/25 by Max.Preussner

	SlateRemote: Disabled plug-in, but enabled server by default

Change 3174510 on 2016/10/26 by Max.Chen

	Sequencer: Fix slomo track crash

	#jira UE-37802

Change 3174698 on 2016/10/26 by Andrew.Rodham

	UMG: Fixed objects bound to a panel slot animating their slot's content instead of the slot itself

	#jira UE-37775

Change 3174780 on 2016/10/26 by Max.Preussner

	MediaAssets: Accepting decoder defined buffer dimensions for RGB buffers

Change 3174789 on 2016/10/26 by Max.Preussner

	MediaPlayerEditor: Showing desired player name instead of current player name if no media loaded

Change 3174817 on 2016/10/26 by Max.Preussner

	WmfMedia: Added support for Motion JPEG (MJPG)

Change 3174825 on 2016/10/26 by Max.Preussner

	WmfMedia: Added support for non-RGB32 uncompressed formats

Change 3174834 on 2016/10/26 by Max.Preussner

	MediaPlayerAssets: Allow pausing while buffering media

Change 3174886 on 2016/10/26 by Andrew.Rodham

	Core: Fixed range test that was testing incorrect behavior

Change 3174889 on 2016/10/26 by Andrew.Rodham

	Sequencer: Fixed AssignActor behavior
	  - Also ensure that cached object state is invalidated when playback context changes

	#jira UE-37798

Change 3174905 on 2016/10/26 by Andrew.Rodham

	Sequencer: Changed assert when failing to create an audio component to a log message
	  - Audio no longer plays when GEngine->UseSound() is false

	#jira UE-37772

Change 3174980 on 2016/10/26 by Andrew.Rodham

	Sequencer: Remove warning when event endpoint could not be found for a given context

	#jira UE-37824

Change 3175001 on 2016/10/26 by Andrew.Rodham

	Sequencer: Evaluate sequence with EMovieScenePlaybackStatus::Jumping on Pause.
	  - Also protect Pause() against reentrancy when being called from an event

Change 3175012 on 2016/10/26 by Max.Chen

	Sequence Recorder: Fixes an empty working and view range after recording.

	On StopRecording() update playback range after nullifying the current sequence so that the playback range isn't empty.
	Added SetViewRange and SetWorkingRange.

	#jira UE-34191

Change 3177760 on 2016/10/28 by Max.Chen

	Sequence Recorder: Don't update the current sequence name if it's already set. This fixes a bug where if you pass in a sequence name to record to, it gets reset to the name in the sequence recorder settings.

	#jira UE-37808

Change 3178529 on 2016/10/28 by Max.Chen

	Matinee to Level Sequence: Added interface to extend the matinee to level sequence converter

	#jira UE-37328
	#2864

[CL 3178562 by Max Chen in Main branch]
2016-10-28 15:04:38 -04:00
Robert Manuszewski
f4fb4b8596 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 2996057)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2975196 on 2016/05/12 by Robert.Manuszewski

	Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading.

	- This way we can avoid very long GC times after new blueprints have been loaded.
	- Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes)

Change 2993960 on 2016/05/30 by Robert.Manuszewski

	Fixing leaked linkers created by blocking load requests during async loading.

Change 2959398 on 2016/04/28 by Steve.Robb

	TMap references are strong and cannot be nulled by pending kill.  This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled.

	#jira UE-20828

Change 2960723 on 2016/04/29 by Graeme.Thornton

	Fix for texture asset import data being ignored when async loaded

Change 2960938 on 2016/04/29 by Robert.Manuszewski

	Nulling out sql db handle after closing it.

Change 2967127 on 2016/05/05 by Steve.Robb

	Move constructors explicitly disabled in generated code.

Change 2967143 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2967164 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer

Change 2968650 on 2016/05/06 by Steve.Robb

	Fix for HotReload copying module manager.

Change 2968915 on 2016/05/06 by Robert.Manuszewski

	Fixing spelling of SetImageIntegrityStatus function name.

Change 2970406 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	Function uses '...' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.

Change 2970419 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.
	warning C6011: Dereferencing NULL pointer '...'.
	warning C6385: Reading invalid data from '...':  the readable size is '...' bytes, but '...' bytes may be read.
	warning C6386: Buffer overrun while writing to '...':  the writable size is '...' bytes, but '...' bytes might be written.

Change 2970431 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results.

Change 2972032 on 2016/05/10 by Steven.Hutton

	Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries.

Change 2972085 on 2016/05/10 by Steve.Robb

	Const-correctness fix for FLogCategoryBase::IsSuppressed.

Change 2972087 on 2016/05/10 by Steve.Robb

	ELogVerbosity moved into its own header.

Change 2972090 on 2016/05/10 by Steve.Robb

	Redundant ensure removed.

Change 2972103 on 2016/05/10 by Steve.Robb

	Removal of redundant use of USING_CODE_ANALYSIS.

Change 2972139 on 2016/05/10 by Steve.Robb

	Fix for ensure macros throwing C6326 warnings during static analysis.

Change 2972147 on 2016/05/10 by Steve.Robb

	Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis.

Change 2972162 on 2016/05/10 by Steve.Robb

	SCOPE_CYCLE_COUNTER_GUARD removed.

Change 2972168 on 2016/05/10 by Steve.Robb

	Compile error fix for logOrEnsureNanError in static analysis builds.

Change 2973084 on 2016/05/10 by Chris.Wood

	Crash Report Server performance tweak

Change 2974030 on 2016/05/11 by Steve.Robb

	Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*.

Change 2974053 on 2016/05/11 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2974191 on 2016/05/11 by Steve.Robb

	Fix for template instantiation error in VS2013.

Change 2975298 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2975318 on 2016/05/12 by Steve.Robb

	Fix for hot reload info being reported as warnings.

	#jira UE-30586

Change 2975447 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant.  Did you intend to use the bitwise-and operator?
	warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant.  <expression> is never evaluated and might have side effects.
	warning C6289: Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?
	warning C6316: Incorrect operator:  tested expression is constant and non-zero.  Use bitwise-and to determine whether bits are set.

Change 2975478 on 2016/05/12 by Steve.Robb

	Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings.

Change 2975538 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'StaticResource'

Change 2976640 on 2016/05/13 by Robert.Manuszewski

	Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked.

	#jira UE-30675

Change 2978320 on 2016/05/16 by Steve.Robb

	Fix for static analysis warnings in XNA headers.

Change 2978329 on 2016/05/16 by Steve.Robb

	Static analysis fixes:

	warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results:  Parentheses can be used to disambiguate certain usages.

Change 2980222 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2980458 on 2016/05/17 by Chris.Wood

	Attempt to fix crash report submission problems from CRP to CR website
	[UE-30257] - Crashreports are sometimes missing file attachments

	Passing crash GUID so that website can easily check for duplicates in future
	Increased request timeout for AddCrash to be longer than website database timeout
	Logging retries for future visibility
	CRP v.1.1.6

Change 2980639 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2981750 on 2016/05/18 by Steve.Robb

	check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly.

Change 2982106 on 2016/05/18 by John.Mahoney

	Fixed a crash caused by loading two stat capture files simultaneously in the profiler.
	If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load.
	Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId.
	This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading.
	Cleaned up some weak pointer usage in the profiler window.

	#jira UE-30741

Change 2983366 on 2016/05/19 by Steven.Hutton

	Changes for passing crash type directly from CRP to CRW.

Change 2983394 on 2016/05/19 by Steven.Hutton

	Minor changes to add crash with more error reporting

Change 2984685 on 2016/05/20 by Robert.Manuszewski

	Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core)

Change 2985143 on 2016/05/20 by Steve.Robb

	Missing semi-colons.

Change 2986463 on 2016/05/23 by Steve.Robb

	CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs.

Change 2986475 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986476 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986480 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant

Change 2986515 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func'

Change 2986680 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'Ptr':  the writable size is 'X' bytes, but 'Y' bytes might be written.
	warning C6387: 'Ptr' could be '0':  this does not adhere to the specification for the function 'Func'
	warning C6031: Return value ignored: 'snprintf'.
	warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'.

Change 2986865 on 2016/05/23 by Robert.Manuszewski

	Removing redundand AddReferencedObjects functions

Change 2987968 on 2016/05/24 by Robert.Manuszewski

	Removing redundant UPROPERTY macros from intrinsic classes.

Change 2987979 on 2016/05/24 by Steve.Robb

	Optimization of some FString and FPaths operations to produce fewer temporaries.

Change 2988297 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2988430 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6385: Reading invalid data from 'var':  the readable size is 'X' bytes, but 'Y' bytes may be read.

Change 2988461 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.

Change 2988464 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6262: Function uses 'X' bytes of stack:  exceeds /analyze:stacksize 'Y'.  Consider moving some data to heap.

Change 2988494 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 2989411 on 2016/05/25 by Robert.Manuszewski

	Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds.

Change 2989429 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6387: '_Param_(X)' could be '0':  this does not adhere to the specification for the function 'Func'.

Change 2989982 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory 'LODPlanesMin'.

Change 2990018 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'X'

Change 2990077 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.
	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2990114 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.

Change 2990125 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.

Change 2990162 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6294: Ill-defined for-loop:  initial condition does not satisfy test.  Loop body not executed.

Change 2990193 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did.
	warning C6011: Dereferencing NULL pointer 'Semantic'.

Change 2991006 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28113: Accessing a local variable dummy via an Interlocked function:  This is an unusual usage which could be reconsidered.

Change 2991012 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'.

Change 2991013 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2991016 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2991017 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2991019 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6292: Ill-defined for-loop:  counts up from maximum.

Change 2991023 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6322: Empty _except block.
	warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations.

Change 2991070 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did.

Change 2991416 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992738 on 2016/05/27 by Steve.Robb

	Revert changes to FString::MatchesWildcard.

Change 2992916 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992960 on 2016/05/27 by Chris.Wood

	Optimized P4 access in Crash Report Process and MinidumpDiagostics.

Change 2992964 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2993956 on 2016/05/30 by Robert.Manuszewski

	Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload.

	#jira UE-31309

Change 2993977 on 2016/05/30 by Robert.Manuszewski

	Don't wait for all packages to finish loading before PostLoading those which already have.

Change 2994206 on 2016/05/31 by Robert.Manuszewski

	PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium)

#lockdown Nick.Penwarden

[CL 2996251 by Robert Manuszewski in Main branch]
2016-06-01 12:08:56 -04:00
Robert Manuszewski
18e2561ceb Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x).

Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory.

Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core

	Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning.

Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core

	Further Realloc savings when realigning within a block.

Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core

	New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up.

Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core

	Sort UHT modules by type to improve iteration times in conjunction with makefiles.

Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core

	UHT error messages about missing GENERATED_BODY() macros updated to represent intended use.

Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core

	Module types split into Game and Engine runtime versions.

Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	StaticLoadObject will now respect LOAD_NoRedirects flag.

Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore

	#UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443

Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core

	Clarification of some bucket hashing terminology.

Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core

	Fix for a missing root build path on game modules.

Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core

	Move FMalloc verification into a proxy object.

Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core

	Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix).

Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core

	Simplification of MemSizeToPoolTable indexing.

Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core

	Assert fixed.
	AllocateBlockFromPool's return value made debuggable.

Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core

	UHT now returns an error code on a warning when -warningsaserrors is specified.

Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core

	WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241.

Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core

	GitHub #1938 - wrong Max value of enum is used during net serialization

Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps.

Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core

	Generalized large pool allocations.
	More redundancy removed.

Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB

	Added UserActivity property to crash description in CRP and CR website.
	[OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter

	DB column added to db-09 by ColinR matching this change.
	Published to server on Jan 18th 2016

Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB

	Added Linux to normal callstack parsing code on CR website
	[UE-25527] - Linux CrashReporter is missing information

	Published to server on Jan 19th 2016

Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal

	Fix issue for cancelling package loads when there are still packages queued.  Call their PackageLoadedDelegate with a "Cancelled" result.

	Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()"
	- (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued)

Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB

	CrashReportWebsite - fix exception thrown when parsing certain callstack formats

Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance.

Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

[CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Robert Manuszewski
97cc1e1be1 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added Dev Stream custom versions.

	- Each stream now has its own custom version
	- Developers working in a stream should only modify their respective version

Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work.

	- Merged ScriptGeneratorPlugin with ScriptPlugin
	- Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins
	- Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets).
	- Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path.

Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core

	TEnumRange - enabled ranged-based for iteration over enum values.

Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	More thorough way of verifying GC cluster assumptions.

Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Don't merge GC clusters by default

Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added the option to load all symbols for stack walking in non-monolithic builds.

Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one

Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Always reset events when returning them to pool.

Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing -unversioned flag being completely ignored when cooking

Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Making sure string referenced assets don't get cooked if referenced by editor-only properties.

Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values

Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit)

Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times.

Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fix incorrect asset loading in Cooked game data (by bozaro)

	PR #1844

Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core

	Migration of Fortnite to use engine's TEnumRange.

Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1331
	[Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita)

Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set.

Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core

	Migration of Ocean to use engine's TEnumRange.

Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports.

Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	#jira UE-24177
	Audit ôshippingö defines in engine

Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

#lockdown Nick.Penwarden

[CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00