Commit Graph

25 Commits

Author SHA1 Message Date
Bob Tellez
33c9ba59f2 Copying //UE4/Fortnite-Staging to //UE4/Dev-Main (Source: //Fortnite/Main @ 3284787)
#lockdown Nick.Penwarden
#rb none

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

Change 3284469 on 2017/02/02 by Saul.Abreu

	Fixed comment on Slate Brush for getting the resource object and what kind of object it may be.

Change 3284410 on 2017/02/02 by Ben.Zeigler

	Add FSlateBrush subclass constructors that take resource objects, to create static brushes at startup time that refer to already loaded UTextures

Change 3284381 on 2017/02/02 by Saul.Abreu

	#fortnite
	Added functionality to common button to actually use the single material brush setting and automatically create and expose access to a material instance dynamic.
	Also fixed some potential object lifetime issues in CommonButton.

Change 3282423 on 2017/02/01 by Ben.Zeigler

	Fix issue with synchronous load of objects not invalidating cached nulls for asset ptrs. This was always an issue but my recent change to assetptr SynchronousLoad made it manifest more often.
	In the future we may want to invalidate cached nulls on object creation to handle cases like save games

Change 3282265 on 2017/02/01 by Ian.Fox

	#UE4, #XMPP - Reduce verbosity of strophe receive-stanza log

Change 3282159 on 2017/02/01 by Ben.Zeigler

	Fix issue where async loading null string reference would deadlock

Change 3282054 on 2017/02/01 by James.Longstreet

	#fortnite #jira FORT-28234 Fix sceImeDialogTerm() warning

	We were calling sceImeDialogTerm() in cases where the dialog wasn't active.  The only state it's legitimate to call sceImeDialogTerm() in is SCE_IME_DIALOG_STATUS_FINISHED.

Change 3282051 on 2017/02/01 by James.Longstreet

	#fortnite #jira FORT-30021 Respect bVirtualKeyboardSendsTextChanged on PS4

Change 3281799 on 2017/02/01 by Nick.Cooper

	#Fortnite - Removed code on PS4 that was adding a EMouseButtons::Left press when the right shoulder button was pressed

	#jira FORT-35821

Change 3281771 on 2017/02/01 by Lukasz.Furman

	fixed end of path conditions breaking movement when path starts with a navlink and turn back below
	#jira FORT-36375

Change 3280579 on 2017/01/31 by Ben.Zeigler

	Remove ForEachProperty and switch AssetManager to use TPropertyValueIterator instead. Code review changes to TPropertyValueIterator.
	Add InitializeAssetBundlesFromMetadata to AssetManager which parses AssetBundles metadata at load/save time and uses that to assign asset references to specific bundles.
	Add RecursivelyExpandBundleData to allow recursively acquiring bundle dependencies.
	Add AssetBundles to the PropertyMetadata list. Sorted list and fixed some comment typos.
	Change it so the DataAsset factory won't show blueprintable native classes as valid, the editor doesn't like it when you have both blueprinted and non-blueprinted assets of the same base class.
	Change AssetPtr.LoadSynchronous to be const and to behave the same as Get(). This was a licensee complaint and the old behavior to null out the reference because of a transient load error can cause data loss.

Change 3280176 on 2017/01/31 by Lukasz.Furman

	fixed missing navmesh update on replacing existing floor/roof
	#jira FORT-36369

Change 3279761 on 2017/01/31 by Saul.Abreu

	#fortnite
	Added ability to keep common buttons interactable even when they're selected, so they can still be clicked. Old default behavior is preserved.

Change 3279678 on 2017/01/31 by Saul.Abreu

	#fortnite
	Moved GetCurrentInputType from UCommonActionWidget to UCommonUIContext for reuse.

Change 3278593 on 2017/01/30 by Ben.Zeigler

	Delay initialization of asset registry tag filter list until it is needed, to make sure it catches modules that were loaded after the asset registry module. Fixes issues with tags not inherting to child classes

Change 3278592 on 2017/01/30 by Ben.Zeigler

	Add TPropertyValueIterator to replace ForEachProperty. This is a recursive iterator instead of a predicate search, and also allows extracting the property chain, which I need for metadata parsing.
	AssetManager has an example of both uses, will delete ForEachProperty tomorrow.

Change 3277859 on 2017/01/30 by Lukasz.Furman

	fixed navigation path postprocessing not working with vertical navlinks near start point
	required by taker portal up move
	#jira FORT-36570

Change 3277580 on 2017/01/30 by Ben.Zeigler

	#jira FORT-36662 Return streamable manager to always use hard references, weak references do not work during AddReferencedObjects at all, because of the unreachable flag that is set during GC. This returns the behavior of forcing assets to be "Force Deleted" if they were loaded by asset manager.

Change 3276903 on 2017/01/29 by Bob.Tellez

	#BlueprintContext Updated copyright notice for 2017

Change 3276902 on 2017/01/29 by Bob.Tellez

	#CommonUI Updated some missed copyright notices for 2017

Change 3276731 on 2017/01/29 by Jeff.Campeau

	Forward modified warning messages

Change 3276642 on 2017/01/28 by Jeff.Campeau

	Change specific errors from packaging multiple configurations into a single package into warnings.

Change 3276228 on 2017/01/27 by Ben.Zeigler

	Fix crash/data loss when a Pin's DefaultObject points to an ObjectRedirector. FixObject will return redirectors so you need to correct for that

Change 3276073 on 2017/01/27 by Ben.Zeigler

	Add some utility functions to core asset manager and streamablemanager and fix various editor interactions.
	Add startup and cook interaction hooks to AssetManager directly and call them form Engine in addition to the game-specific hooks.
	Add concept of BulkScanning to AssetManager, use this when scanning many directories.
	Fix issues with string asset references being wrong for blueprint classes, this would be easier if the assetdata pointed to the class and not the possibly-missing blueprint.
	Change StreamableManager to keep referenced objects as weak pointers. These pointers are effectively soft in the editor, hard outside of the editor. By storing them as raw pointers it was difficult to guarantee their safety without causing issues with deleting assets.

Change 3276058 on 2017/01/27 by Ben.Zeigler

	Add UStruct::ForEachProperty, which recursively iterates properties of a struct and calls a lambda.
	Add some new BaseStructure accessors

Change 3275981 on 2017/01/27 by Alex.Thurman

	Move Item Management Screen input handling into child activatable panels.
	#JIRA FORT-35759
	#JIRA FORT-35758

Change 3275626 on 2017/01/27 by John.Pollard

	First pass at implementing net relevancy for replays

	* All connections are considered when determing if an actor is relevant
	* Enable by setting demo.UseNetRelevancy to 1
	* Override cull distance with demo.CullDistanceOverride

Change 3275221 on 2017/01/27 by John.Pollard

	FORT-36482 - Fix issue with using wrong serializer for re-mapping objects

Change 3274149 on 2017/01/26 by Alex.Thurman

	Expose the Common Widget Switcher as part of the common UI plugin library.
	#fort

Change 3274103 on 2017/01/26 by Michael.Trepka

	Fixed a crash on startup on Mac when using a shader cache populated during cooking and re-enabled cook time cache generation in Fortnite

Change 3273867 on 2017/01/26 by James.Hopkin

	Enabled Stomp for PS4

	#jira FORT-35517

Change 3273749 on 2017/01/26 by James.Hopkin

	Added libwebsocket libraries for PS4

	#jira FORT-35517

Change 3273105 on 2017/01/26 by James.Hopkin

	Moved libwebsockets.h into platform-specific folders (in preparation for PS4 building against slightly more recent version)

Change 3273020 on 2017/01/26 by Jeff.Campeau

	Stage manifest files from loose folder, not binary folder (appdata.bin is no longer created in the binary directory)

Change 3272825 on 2017/01/25 by Saad.Nader

	#fort
	Added function to set the auto activation on or off on a common widget switcher.
	Updated CommonTabListWidget to temporarily turn off activation when setting a linked switcher.
	Added some missing delegate cleanup code.

Change 3272598 on 2017/01/25 by Justin.Augspurger

	#fortnite
	Add activatable panel function that returns if an input handler is set.

Change 3272411 on 2017/01/25 by Michael.Trepka

	Increased g.TimeoutForBlockOnRenderFence on Mac to 5 minutes

Change 3271913 on 2017/01/25 by Lukasz.Furman

	fixed conditions of movement's destinaiton oveshot check to work with setup in FTest maps
	#jira FORT-36375

Change 3271723 on 2017/01/25 by Bob.Tellez

	#UE4 Disabled MfMedia on windows.

Change 3271223 on 2017/01/25 by Jeff.Campeau

	Allow packaging to fall back to the engine directory for the lastchunk file if it's not present in the staged version.

Change 3271066 on 2017/01/24 by Chris.Gagnon

	- Properly clean up the UIManager and Analog Cursor when game/pie exists.
	- FortAnalogCursor now sequesters the mouse during InputSuspension.
	- Change the callback order for activate and deactivate so the classes can chain activate.

Change 3271064 on 2017/01/24 by Chris.Gagnon

	- NavigateToWidget() added to SlateApplication
	- SlistView and it's descendants now have the ability to navigate to the widget scrolled into view

Change 3270778 on 2017/01/24 by Michael.Trepka

	Fixed and enabled cook time binary shader cache generation for Mac

Change 3270645 on 2017/01/24 by Jeff.Campeau

	- New manifest generation (backward compatible)
	- True support for multiconfig packages
	- Settings all based in target settings in editor
	- Localized package resources with support to reduce redundancies
	- Resource table generation and manifest generation combined
	- Further reduced unneeded deploy copies

	#jira FORT-36413

Change 3270191 on 2017/01/24 by Lukasz.Furman

	reverted file unrelated to DecoyDistance fix

Change 3270133 on 2017/01/24 by Lukasz.Furman

	fixed item scoring in DecoyDistance test
	#jira FORT-36034

Change 3269363 on 2017/01/24 by James.Hopkin

	#online #stomp Added error logging for loss of heartbeat

	#jira FORT-34763

Change 3268921 on 2017/01/23 by Saul.Abreu

	#fortnite
	Renamed CommonWidgetGroup to emphasize that it is an abstract base class. Added ability to get the selected button out of CommonButtonGroup.

Change 3268913 on 2017/01/23 by Saul.Abreu

	#fortnite
	Recreated some minor changes to UEnumProperty so that TMap properties don't assert with enums as keys.

Change 3268436 on 2017/01/23 by Michael.Trepka

	Added rhi.Metal.AllowRHIThread to allow games to disable RHI thread on Mac to be able to use shader cache, which currently is incompatible with RHI thread. Disabled RHI thread on Mac in Fortnite.

	Also, temporarily disabled Metal validation layer in Fortnite until I have more information on the cost of various levels of validation.

Change 3266945 on 2017/01/20 by Bob.Tellez

	#UE4 Allowing more configurations to generate debug symbols

Change 3266814 on 2017/01/20 by Bob.Tellez

	#UE4 Moved MfMedia video track handling to the render thread, which removes the need for some buffer management in MediaTextureResource.cpp. Also, Mfmedia now emits the PlaybackEndReached event.

	#JIRA FORT-31753

Change 3266541 on 2017/01/20 by Lukasz.Furman

	moved navigation export of building actor's static mesh into owning actor data instead of using parent chain,
	attempt to fix husks passing through walls that lost navigation data at some point during game
	#jira FORT-35741

Change 3266269 on 2017/01/20 by Fred.Kimberley

	Change async loading of gameplay cues so that the gameplay cue manager maintains ownership of the assets and can control their lifetime.

Change 3266053 on 2017/01/20 by Michael.Trepka

	Fixed issues with shader cache not working properly with Mac Metal (but it still requires -norhithread to work at all). Enabled the shader cache by default if RHI thread is disabled.

Change 3265585 on 2017/01/20 by Bart.Hawthorne

	Enable Oodle in Fortnite

Change 3264678 on 2017/01/19 by Lukasz.Furman

	fixed crash on opening behavior trees with invalid decorator class (empty redirectors)
	#ue4

Change 3264473 on 2017/01/19 by Fred.Kimberley

	Tell the streamable manager to manage gameplay cue assets that are async loaded.

	#jira FORT-35171

Change 3262846 on 2017/01/18 by John.Pollard

	FORT-30352 - Fix by lowering network logging verbosity for benign condition

Change 3262535 on 2017/01/18 by Michael.Trepka

	Fix for FORT-35776

	Make sure to set reasterizer state when rendering with a material in FSlateRHIRenderingPolicy::DrawElements

Change 3262386 on 2017/01/18 by John.Pollard

	Deprecate bPendingNetUpdate, NetUpdateTime and LastNetUpdateTime

Change 3262375 on 2017/01/18 by Ian.Fox

	#UE4, #XMPP - Handle Message stanza errors
	#JIRA OGS-505

Change 3262262 on 2017/01/18 by John.Pollard

	Turn on adaptive network updates by default

Change 3262215 on 2017/01/18 by Rob.Cannaday

	Fix for returned XMPP messages (to invalid recipient) triggering on message received delegates

Change 3262094 on 2017/01/18 by Jamie.Dale

	Cook on the fly builds now resolve string asset references

Change 3262091 on 2017/01/18 by Jamie.Dale

	Guarding against potentially invalid call to FString::Mid

Change 3262089 on 2017/01/18 by Jamie.Dale

	Fixing RedirectCollector issues with projects outside the UE4 directory

	It was storing relative paths, but MakeStandardFilename wouldn't make a relative path for anything outside of the UE4 directory. In addition to this, some code was testing filters using package style paths, so I converted all the code to use package style paths instead.

Change 3261201 on 2017/01/17 by Ben.Zeigler

	Perf improvements to PackageName that improve cooked load times by around a second. These string functions get called very often and Split is very slow, especially backwards searching or case insensitive.

Change 3261098 on 2017/01/17 by John.Pollard

	Fix for FORT-35711 - Edited buildings do not always replicate correctly

	We were removing the actor from the network object list too soon

Change 3260515 on 2017/01/17 by John.Abercrombie

	Fix MoveTo task ending with success when it's interrupted
	- Default the task to an invalid status rather than assuming we are successful

	#jira FORT-35497 - Defender can pick up a weapon from far away as they get knocked DBNO

Change 3260343 on 2017/01/17 by Lukasz.Furman

	fixed end of path conditions for crowd simulation when using string pulled path
	#jira FORT-35713

Change 3259419 on 2017/01/16 by John.Pollard

	Network actor list fixes:

	* Don't add add actor to network list if it will just immediately get removed
	* Remove destroyed actors from actor list on clients
	* Make sure actor Role is set to correct value before adding to network actor list

Change 3259104 on 2017/01/16 by Michael.Trepka

	Change the default for rhi.Metal.RuntimeDebugLevel  to 2, as 3 is too expensive for Development builds and disable METAL_DEBUG_OPTIONS in Test builds

Change 3259017 on 2017/01/16 by Saad.Nader

	#fort
	Added a missing remove delegate handler when widget is destructed.

Change 3258901 on 2017/01/16 by Saad.Nader

	#fort
	Added the ability to remove an input action from the list of actions we are listening for in an activatable panel.

Change 3258844 on 2017/01/16 by Ryan.Rauschkolb

	#fortnite
	Fixed issue where UUMGSequencePlayer:Tick would broadcast OnAnimationFinished before the final frame of the animation plays

Change 3258734 on 2017/01/16 by Michael.Trepka

	Fixed a crash on exit on Mac in FCocoaWindow's windowWillResize:

	#jira FORT-35720

Change 3258353 on 2017/01/16 by James.Hopkin

	#xmpp Fixed UserJid constructor to be constructed by value - same efficiency, less code and allows any combination of rvalues and lvalues.

Change 3257640 on 2017/01/13 by Saul.Abreu

	#fortnite
	#jira FORT-35387
	Item Quantity List widget, not yet complete.
	Minor tweak to widget factory (for pooling) to support player controllers as "outer"s.
	In progress refactor of list of resources given for a mulch operation, using the item quantity list widget.

Change 3257310 on 2017/01/13 by Bob.Tellez

	#UE4 Default stack size for windows is now configurable. There is a different number for windows editor targets than non-editor targets.

Change 3257094 on 2017/01/13 by John.Pollard

	Refactor network actor list management to be more efficient

	* Move dormancy list management to FNetworkObjectList
	* Optimize actor network dormancy by removing actors from the active list that are dormant on all connections
	* Removed NetUpdateTime on actor, and now use the NextUpdateTime on FNetworkObjectInfo (these values are more hot in the cache too)
	* We now early out of the consider logic faster when possible
	* Remove other misc unused network state/code and general cleanup

Change 3255891 on 2017/01/12 by Chris.Gagnon

	Added "Back" action to squads screens and armory landing.
	Added activation widget centering for squads screens.
	Added a couple Explicit navigations to get a better navigation experience.
	Added a bunch of Fkeys to the input binding table.
	Added PanelButton Widget.

Change 3254809 on 2017/01/11 by Bob.Tellez

	#UE4 Crash fix for shader views that get destroyed but still have pointers to them in the SRV cache.

Change 3254651 on 2017/01/11 by Bob.Tellez

	#UE4 Changed MfMedia track sync mode to Unbuffered since buffered causes a crash shortly after playing.

	#JIRA FORT-35566

Change 3254307 on 2017/01/11 by Lukasz.Furman

	fixed "Ftest start" command interfering with automation passes
	#jira FORT-35459

Change 3253625 on 2017/01/11 by Lukasz.Furman

	more accurate overshot detection for crowd simulation trying to reach last path corner
	#jira FORT-35502

Change 3252864 on 2017/01/10 by Lina.Halper

	fix for invalid anim curve issue when duplicating curves.

	#jira: FORT-35151

Change 3252427 on 2017/01/10 by Ben.Zeigler

	#jira UE-40390 Fix crash saving blueprint with an inherited DataTable/CurveTable reference. Delta serialization meant that the necessary name wasn't in the name table, so adding it manually now.
	Copied from CL #3252418

Change 3252344 on 2017/01/10 by Lukasz.Furman

	added navmesh tile observation to hotspots
	now they will be able to reevaluate unreachable slots if nearby navmesh is updated (active only when more than half melee slots is unreachable)
	#jira FORT-35450

Change 3251644 on 2017/01/09 by Saul.Abreu

	#fortnite
	#jira FORT-35388
	Refactored common input so that the actions hold the per-platform key mappings. A config file holds the mapping of individual keys to their per-platform display data (icon-only for now). ALL ENTRIES IN THE INPUT ACTION DATA TABLE ARE NOW MISSING THEIR KEYS. RE-ADD THEM. I did test that it works.

Change 3251118 on 2017/01/09 by David.Hamm

	Corrected ability system logging messages that are turning up in bug reports.

Change 3250932 on 2017/01/09 by Bob.Tellez

	#UE4 Unshelved from DanielW. Fix for memory usage during map save for large maps

Change 3250093 on 2017/01/06 by Jeff.Campeau

	libstrophe UE4 modifications

Change 3249787 on 2017/01/06 by John.Pollard

	Add some replay/network stats

Change 3248808 on 2017/01/05 by Chris.Gagnon

	Fix for ensuring Main Tabs properly activates it's content.
	Includes a pretty hacky delay, will need to deal with that at somepoint.

Change 3248693 on 2017/01/05 by Chris.Gagnon

	NavigationEvent now gets populated with the modifier keys so that Shift  and Ctrl behaviors of the list work.

Change 3248647 on 2017/01/05 by Saul.Abreu

	Fixed shadowed variable warning in Create Event node.

Change 3248358 on 2017/01/05 by Saul.Abreu

	Added return type/outputs to the signature displayed in the CreateEvent node. Also added tooltip describing the syntax for display since it's non-standard.

Change 3247937 on 2017/01/05 by Chris.Gagnon

	- Refactored the Custom Navigation Event to be a part of the Viewport so that it functions properly with Multi PIE and doesn't interfere with the Editor while PIE is running.
	- Added the ability for an FReply to specify an explict navigation attempt directly.
	- Added ENavigationGenesis to the navigation system allowing SListView and STileView's bHandleGamepadEvents functionality to be hooked up again.

Change 3247887 on 2017/01/05 by Bob.Tellez

	#UE4 UpdateExistingPackagePriorities does not work in EDL. It is now disabled.

	#JIRA FORT-35193

Change 3247770 on 2017/01/05 by Fred.Kimberley

	Fix an issue where PreAttributeBaseChange was not always being called and sometimes called after the attribute base value had changed.

Change 3247133 on 2017/01/04 by Saul.Abreu

	UWidget designer method renaming to avoid extremely likely naming collisions.

Change 3246507 on 2017/01/04 by Chris.Gagnon

	Created CommonBorder and UCommonBorderStyle very simple but will allow consistent sharing of styles.
	Cleaned up palette category usage and a few misc things.
	Updated the UI test material, and created a UI Test BorderStyle to utilize it.

Change 3245517 on 2017/01/03 by Chris.Gagnon

	Copying over slate material changes to provide more functionalit.
	Added a UITest Material as an example

Change 3245371 on 2017/01/03 by Lukasz.Furman

	fixed husks attacking props from far away
	#jira FORT-34655

Change 3245363 on 2017/01/03 by Justin.Sargent

	Tracked down a CEF viewport scaling issue to some changes made for supporting high DPI. After talking it over with Trepka, we decided to revert the specific change causing the CEF viewport regression. Trepka will be following up with a proper fix.

	#jira OPP-6513

Change 3244525 on 2017/01/02 by Chris.Gagnon

	Activatable panels now clear out action handlers when the slate widgets are released.

Change 3244517 on 2017/01/02 by Chris.Gagnon

	New frontend major refactors.
	- New content api for UI States
	- New intro / outro functionality for activatable panels
	- New CommonWidgetStack widget
	- Landing pages
	- Navigation suport for SListView, STileView
	- Navigation changes
	- Lots of New UI layout changes and functionality changes
	- More things that I'm forgetting

Change 3242434 on 2016/12/21 by Ben.Zeigler

	Improve package saving time by stopping export sorting from recursing into dependencies outside of the package. It has no control over them so it doesn't care about their load order.

Change 3242433 on 2016/12/21 by Ben.Zeigler

	Small perf improvement for quad tree, stop it from constantly reallocating memory when removing nodes as they will likely get filled again or the node will get deleted

Change 3242294 on 2016/12/21 by Bob.Tellez

	#UE4 Re-applying the fix for rendering editor primitives when r.EarlyZPassOnlyMaterialMasking is enabled

Change 3241034 on 2016/12/20 by John.Abercrombie

	Add or UpdateBlueprintSearchMetadata when we don't have a TargetPlatform
	- Better fix for issue mentioned in CL 3241023

Change 3241023 on 2016/12/20 by John.Abercrombie

	Fixed UBlueprint::PreSave crashing when there is no TargetPlatform (default behavior)

Change 3240988 on 2016/12/20 by Lukasz.Furman

	fixed melee defenders not finishing move then their goal is outside tether range
	#jira FORT-34673

Change 3240966 on 2016/12/20 by Ben.Zeigler

	Disable find in blueprint query when cooking for non editor platforms, saves around 50 seconds off of a Fortnite fast cook.
	UBlueprint::PreSave gets called even though they get filtered out of cooked builds, as the filtering is after PreSave.

Change 3240898 on 2016/12/20 by Lukasz.Furman

	fixed memory corruption in template A* solver
	#fortnite

Change 3239920 on 2016/12/19 by Ben.Zeigler

	Fix warning display for string asset references while cooking, now that failed to find errors add to KnownMissing, we need to check KnownMissing before doing the find, and turn off the internal warnings as the redirect collector has more context info

Change 3239819 on 2016/12/19 by Lukasz.Furman

	fixed uninitialized debug draw delegate pointers
	#ue4

Change 3238789 on 2016/12/16 by Ben.Zeigler

	Fix issue where spawned cues triggered from async loads wouldn't have a proper world
	Fix issue where bShouldSyncLoad/bShouldAsyncLoad were backwards

Change 3238782 on 2016/12/16 by Ben.Zeigler

	#jira FORT-34825 Fix issue where Macro CDOs had corrupted persistent ubergraph frames during blueprint compile on load, by changing it so no CDOs have persistent frames.
	This also saves memory as using persistent frames is incorrect for CDOs, things like latent functions do not make sense.
	Fix from Dan O'Connor

Change 3238685 on 2016/12/16 by Bob.Tellez

	#UE4 Graceful recovery for actors that changed mobility between frames in TextureInstanceManager.

	#JIRA FORT-34833

Change 3238671 on 2016/12/16 by Ben.Zeigler

	Fix ensure opening widget palette view, it was trying to create asset data for trash classes becuase it was just doing a raw class iterator, which is no longer supported.

Change 3238606 on 2016/12/16 by Rob.Cannaday

	Fix crash in FInternetAddrBSD::SetIp when InAddr is an empty string.
	#jira FORT-34826

Change 3238594 on 2016/12/16 by Ben.Zeigler

	#jira FORT-34704 Fix bNetTemporary actors to be created with reliable packets, to keep sending until their initial send is done.
	The code that used to resend incomplete net temporary actors appears to have stopped working sometime during UE4 networking refactors. Remove unused flags related to that code

Change 3238315 on 2016/12/16 by Lukasz.Furman

	fixed composite navigation path usage for husks not controlled by crowd simulation
	#jira FORT-34509

Change 3238145 on 2016/12/16 by Lukasz.Furman

	fixed crash in EQS profiler
	#jira FORT-34831

Change 3237479 on 2016/12/15 by Ben.Zeigler

	Don't crash if cue manager has no world, not sure how it got into this state

Change 3236992 on 2016/12/15 by Michael.Trepka

	Don't fall back to SM4 on Intel GPUs on Mac any more

Change 3236929 on 2016/12/15 by Bob.Tellez

	#UE4 Fixed an ensure that was caused by an FResourceSizeEx being initialized with the wrong type

Change 3236867 on 2016/12/15 by Bob.Tellez

	#Fortinte Submitted change from Gil to fix EDL crash loading into Outpost on PS4

	#JIRA FORT-34794

Change 3236747 on 2016/12/15 by Ben.Zeigler

	Fortnite fixes for asset manager/async loading changes
	FortItemDefinitions now async load needed assets on demand. Currently this is only loading AttributeTemplate, which may not even be in use
	The blueprints needed for weapons are now async loaded when the player puts them on their quickbar, instead of being loaded once and staying in memory forever
	FortAssetManager is now being used in parallel to the loading code in FortGlobals, I will remove the FortGlobals code in the next checkin once I know things are working
	Change it so the MissionEventNames are loaded asynchronously when clicking the picker, this code was half completed already so I finished it up
	Change it so GameplayCueNotifies get async loaded on demand instead of async loaded at startup, this improves startup load times
	Change it so the CommonUIModule uses the global assetmanager instead of a passed in StreamableManagerHandler
	Item json changed because it got resorted, no actual json changes other than a few cosmetics that were added yesterday
	Change it so FortItem implements the mcp item interface directly, instead of FortWorldItem and FortAccountItem implementing it separately

Change 3236746 on 2016/12/15 by Ben.Zeigler

	Add ProcessAsyncLoadingUntilComplete which will process async loading until a predicate is true or time runs out
	Change streamable manager to return a handle structure, that can be used to block or poll as needed. Active handles will keep objects in memory even after the load finishes
	FStreamableManager::SynchronousLoad now does high-priority-async-load-and-wait instead of doing a full async flush/static load object if asynch loading is in progress, this should make stalls much shorter when sync loading a single asset
	Deprecate some of the StreamableManager functions now that handles exist. The fact that SynchronousLoad kept an object from ever GCing was not expected behavior by most users

	Add Experimental feature AssetManager, which is a global singleton that supports loading assets on demand. It is disabled by default
	Add concept of PrimaryAssetID which is a Type:Name pair that globally identifies an asset. This is returned by GetPrimaryAssetId on UObject and is needed for the asset manager to work
	Add PrimaryAssetData class, which supports the primary asset and bundle concepts natively
	Add concept of an AssetBundleEntry/Data, which is a scoped map from name -> list of assets. If you modify an AssetBundleData it will get baked into the asset registry at runtime

	Fix KismetSystemLibrary and GameplayCueManager to use the new streaming functionality

Change 3234031 on 2016/12/13 by Ian.Fox

	#UE4, #XMPP - Finish libstrophe MUC (Multi-User Chat) implementation
	- Pull history when joining channels
	- Handle configuring of XMPP channels we create (and global chat rooms if we managed to create them)

[CL 3291644 by Bob Tellez in Main branch]
2017-02-07 23:55:24 -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
38bf78fb98 UBT: Prevent default resource files being linked in to binaries that already have their own resources. Fixes local compilation of ShooterGameEditor et al.
#rb none
#lockdown Nick.Penwarden

[CL 3213507 by Ben Marsh in Main branch]
2016-11-29 12:25:55 -05:00
Ben Marsh
7f06f93ff9 Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209300)
#lockdown Nick.Penwarden
#rb none

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

Change 3146735 on 2016/09/30 by Ben.Marsh

	EC: Add the standard postprocessor onto conform job steps.

Change 3147190 on 2016/09/30 by Ben.Marsh

	UBT: Add a whitelist for circular dependencies between modules, and output a warning if any new circular dependencies are added.

Change 3148611 on 2016/10/03 by Matthew.Griffin

	Added list of Dependant modules to EULA check
	#jira UE-29432

Change 3149098 on 2016/10/03 by Ben.Marsh

	PR #2821: Fix to stop BuildGraph-created files from being tracked by Git (*.manifest and 'LocalBuilds/') (Contributed by BrodyHiggerson)

Change 3149395 on 2016/10/03 by Ben.Marsh

	UBT: Don't execute pre- and post-build steps when generating project files.

Change 3150398 on 2016/10/04 by Ben.Marsh

	UBT: Fix support for the OptimizeCode setting on Mac, HTML5, Android, Linux, iOS, and XboxOne, and use it to control optimization level in DebugGame configurations. Also determine whether optimization should be enabled for a module at the UEBuildModule level, rather than deriving it (inconsistently) from the ModuleRules enum in the toolchain.

	#jira UE-18652

Change 3150569 on 2016/10/04 by Ben.Marsh

	UBT: Remove the NativeBuildEnvironmentConfiguration and NativeBuildEnvironmentConfiguration.TargetInfo classes; store the platform/configuration/architecture on the CPPEnvironment and LinkEnvironment directly.

Change 3150606 on 2016/10/04 by Ben.Marsh

	UBT: Remove support for C++/CLR modules. There's quite a lot of baggage to support it, and I suspect it's already rotted since we don't use it.

Change 3150628 on 2016/10/04 by Ben.Marsh

	UBT: Remove .NET framework assembly paths for C++ modules.

Change 3150640 on 2016/10/04 by Ben.Marsh

	UBT: Move functionality for finding headers into its own class (CPPHeaders), rather than hijacking CPPEnvironment.

Change 3152101 on 2016/10/05 by Ben.Marsh

	UBT: Always force include PCHs, even if they're the first header in the file. Clang already has to work this way, as do shared pchs on Windows, and it's simpler to use the same system universally.

Change 3153231 on 2016/10/06 by Ben.Marsh

	UBT: Write arguments for the Visual C++ toolchain to the response file on separate lines, for easier debugging.

Change 3154868 on 2016/10/07 by Richard.Fawcett

	Ensure that child instances of UAT invoked by BuildGraph honor p4 and submit properties

Change 3155017 on 2016/10/07 by Ben.Marsh

	Lightmass: Add a prefix to all SSE macros to distinguish from overlapping implementations in Core.

Change 3156159 on 2016/10/08 by Ben.Marsh

	UBT: Rewrite code to generate/consume shared PCHs in a way that is compatible with Clang platforms (and which doesn't require supressing warnings on Windows)

	* Per-module defines are now set via a generated header rather than the command line (Definitions.<ModuleName>.h). This header is force-included AFTER the shared PCH header.
	* Shared PCHs are now built using the public compile environment only, eliminating situations where private include paths and definitions from the first module using the shared PCH were being passed to the compiler.
	* Shared PCHs can now be generated in separate optimized/unoptimized variants if necessary due to per-module optimization settings
	* Names of shared PCHs now follow the pattern "SharedPCH.<ModuleName>.h" to distinguish from private PCHs
	* Enabled shared PCHs for Mac, iOS, Linux.

	Reduces UE4Editor Mac build times by ~25% (~21m vs ~28m).

Change 3163040 on 2016/10/14 by Ben.Marsh

	UBT: Add an option to export a target's properties, modules, and binaries for external analyzers (-jsonexport and -jsonexport=<filename>). Also add an option to specifically supress building a target (-skipbuild).

Change 3165028 on 2016/10/17 by Ben.Marsh

	PR #2799: Set Windows exe properties from ini (Contributed by projectgheist)

Change 3165076 on 2016/10/17 by Ben.Marsh

	Build: Remove run conditions from agent setup steps. Should fix issues where an agent doesn't run because the preconditions for one of its nodes failed, but which doesn't prevent another node from running. (Also: being able to see an expanded list of job steps is a useful feature, and it doesn't take much time to run if it's a no-op).

Change 3167773 on 2016/10/19 by Ben.Marsh

	BuildGraph: More flexible <Copy> task for BuildGraph. Now takes "From" and "To" attributes, which may take individual files as well as wildcards, and permits renaming as part of copies. Separate "Files" attribute is still supported, but is now optional, and is used to filter the list of source files.

	Examples, taken from Engine/Build/Graph/TagsAndFiles.xml:

	    <!-- Source and destination are treated as directories due to presence of 'Files' attribute -->
	    <Copy Files="..." From="Engine/Build" To="Output0" />

	    <!-- Single file -->
	    <Copy From="Engine/Build/Build.version" To="Output1/Output.version" />

	    <!-- Output treated as directory -->
	    <Copy From="Engine/Build/.../*.txt" To="Output2" />
	    <Copy From="Engine/Build/.../*.txt" To="Output3/" />
	    <Copy From="Engine/Build/....txt" To="Output4" />

	    <!-- With rename -->
	    <Copy From="Engine/Build/....txt" To="Output5/....old" />

	    <!-- Copy only subdirectories of Engine/Build, but maintain directory structure -->
	    <Copy From="Engine/Build/*/....txt" To="Output6/" />

	    <!-- Match bat*/.../*.txt -->
	    <Copy From="Engine/Build/bat...txt" To="Output7" />

	    <!-- Copy only PS4 subfolders -->
	    <Copy From="Engine/Build/.../ps4/..." To="Output8" />

Change 3167852 on 2016/10/19 by Ben.Marsh

	BuildGraph: Add a <Move> task, which can move or rename files using the same syntax as the <Copy> task.

Change 3168034 on 2016/10/19 by Ben.Marsh

	BuildGraph: Add support for multi-line properties, declared inside a <Property> tag.

	Mutli-line properties can be useful for making lists for filtering. Each non-empty line inside the property tag is stripped of leading and trailing whitespace, and appended to the property value separated by a semicolon. For example, the following two properties have an identical value:

	    <Property Name="Prop1" Value="One;Two;Three;One hundred"/>

	    <Property Name="Prop2">
	        <!-- Some numbers -->
	        One
	        Two
	        Three

	        <!-- Values are delimited by newlines; spaces within a line are preserved -->
	        One hundred
	    </Property>

Change 3169256 on 2016/10/20 by Ben.Marsh

	UBT: Fix chronic algorithmic complexity of StableTopologicalSort(). Was recursively building lists of dependencies for each module, scanning linearly to find dependencies, and only caching pairs of modules being checked. Now caches a flat set of dependencies for each module.

	Previously took >10s to run on my machine, now takes < 0.2s.

Change 3169271 on 2016/10/20 by Ben.Marsh

	BuildGraph: Modify implementation of task merging. Instead of combining multiple tasks together, allow any task to supply a proxy executor instance deriving from ITaskExecutor, to which other tasks can be added. Keeps the in-memory representation closer to the script representation, and makes it easier to re-export preprocessed scripts and do in-memory analysis of the graph.

Change 3179662 on 2016/10/31 by Matthew.Griffin

	Fixed last remaining issues with building QAGameEditor as a monolithic executable
	Added a node for building mono editor in CIS so that we catch any new issues
	#jira UE-32712

Change 3184857 on 2016/11/03 by Matthew.Griffin

	Removing CopyVisualizers now that UE4.natvis is included in solution and we're not supporting VS2013
	#jira UE-35628

Change 3187232 on 2016/11/04 by Ben.Marsh

	UGS: Fix editor .target file being deleted when doing a content-only sync, and causing a prompt to rebuild the editor when trying to launch.

Change 3188413 on 2016/11/07 by Matthew.Griffin

	Added Switch to Installed Build so that it matches pattern for other confidential platforms

Change 3188426 on 2016/11/07 by Matthew.Griffin

	Changed BuildPlugin command so that it reads from installed platform data to get list of target platforms
	Some hard coding remains so as to not change functionality for code users, Mac only built on Mac etc.
	#jira UE-36205

Change 3189363 on 2016/11/07 by Ben.Marsh

	Consolidate functionality for determining the path to MSBuild.exe to use for compiling UE4 tools into a single batch file (GetMSBuildToolPath) and fix "Clean" not working on PS4 due to include/library paths being set to something by the Visual Studio environment.

Change 3191372 on 2016/11/09 by Ben.Marsh

	UGS: Ensure project config file remains valid even if sync is aborted due to files needing resolve. Prevents user configuration from not being applied onto build steps.

Change 3191381 on 2016/11/09 by Ben.Marsh

	UGS: Allow Ctrl-A to select all in the log window.

	#jira UE-38378

Change 3193388 on 2016/11/10 by Ben.Marsh

	Change installed plugins to be disabled by default, but display a notification in the editor the first time you load a project with a new one. Installed plugins which are new to this project will be adorned with a "NEW!" badge in the plugin browser.

Change 3193677 on 2016/11/10 by Ben.Marsh

	UBT: Remove global static instance of ActionGraph. Instance is now instantiated and passed around to functions that require it.

Change 3193942 on 2016/11/10 by Ben.Marsh

	UBT: Store the include cache as an instanced object on each target, rather than looking up separate caches in a global variable.

Change 3198296 on 2016/11/15 by Ben.Marsh

	UBT: Include .modules files in target receipts and manifests.

Change 3200284 on 2016/11/16 by Matthew.Griffin

	Move Sample game projects into a different solution folder like Templates

Change 3205168 on 2016/11/19 by Ben.Marsh

	Update strings to refer to Visual Studio "15" as Visual Studio 2017.

Change 3206333 on 2016/11/21 by Ben.Marsh

	Merge fix to detection of VS2017 RC from 4.14 release.

Change 3206786 on 2016/11/21 by Ben.Marsh

	BuildGraph: Spawn child processes to embed source server information into PDB files in parallel.

Change 3207588 on 2016/11/22 by Ben.Marsh

	UBT: Reduce the number of resource files needed to compile local builds. ModuleVersionResource.rc.inl is now always only compiled once, and linked into each output binary. The default PCLaunch.rc file is also only compiled once, expect when making formal builds (where -formal is passed on the command line, or a changelist is set in Build.version). This ensures that the OriginalFileName metadata is still set for output binaries in binary releases.

[CL 3209331 by Ben Marsh in Main branch]
2016-11-23 15:34:07 -05:00
Josh Adams
ac8b6f2e72 Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3046626)
#rb none
#lockdown Nick.Penwarden

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

Change 2948322 on 2016/04/19 by Nick.Shin

	update libwebsockets to v1.7.4

	part 4 of 4 - doing this in stages for tracking purposes

	#jira UEPLAT-1246  -  Update libWebsockets
	#jira UEPLAT-1221  -  update websocket library
	#jira UEPLAT-1204  -  Rebuild libwebsockets with SSL

Change 2970016 on 2016/05/07 by Nick.Shin

	undo all of the following upgrades:
	- zlib
	- openssl
	- libcurl
	- libwebsockets

	and reset webrtc

	#jira UE-30298 - Fortnite and Orion crash on login

Change 3020547 on 2016/06/20 by Jeff.Campeau

	Support for applocal deployment of binaries
	-applocaldir added to UAT to specify a per project directory to gather packages for applocal deployment
	Added ApplocalPrerequisitesDirectory property to packaging settings to set -applocaldir for packages built from the editor.

Change 3020552 on 2016/06/20 by Jeff.Campeau

	Add switch to disable debug symbol cache creation

Change 3020567 on 2016/06/20 by Jeff.Campeau

	constexpr enabled for Xbox One

Change 3020568 on 2016/06/20 by Jeff.Campeau

	Separate setting for debug
	#jira UEPLAT-1348

Change 3020628 on 2016/06/20 by Jeff.Campeau

	Use global view instead of relying on current thread (fixes issues if pump message is called from a different thread).

Change 3020629 on 2016/06/20 by Jeff.Campeau

	Use Slate tick to drive message processing during blocking loads (improves PLM).

Change 3020633 on 2016/06/20 by Jeff.Campeau

	Fix Xbox One toolchain pathing to work for environment variables with and without trailing slashes.
	Pass requested XDK edition to VCVars batch file (fixes issues in building with a newer XDK installed SxS than the engine is configured for).

Change 3020873 on 2016/06/21 by Lee.Clark

	PS4 - Fix missing audio when using A3D.

Change 3021225 on 2016/06/21 by Keith.Judge

	Optimized away a bunch of GetVertexShader() calls in FSplineMeshVertexFactoryShaderParameters::SetMesh(). Saves about 0.9ms across a 100ms capture.

Change 3021286 on 2016/06/21 by Dmitry.Rekman

	Linux: symbolication for memory profiler.

	- Also repaired/improved finding function name from debug info and overall callstack parsing.

	#tests Ran Linux editor and TestPAL, crashed multiple times

Change 3021512 on 2016/06/21 by Mark.Satterthwaite

	Compile fixes for new clang version.

Change 3021521 on 2016/06/21 by Mark.Satterthwaite

	Duplicate Fortnite CL #3013418: Don't release Metal buffers directly into the buffer pool, instead defer this until the command-buffer is known to have finished. This prevents the CPU from trying to modify the buffer while the GPU is still reading it if the GPU has fallen so far behind the CPU and therefore eliminates one possible cause of invalid access on the GPU.

Change 3021528 on 2016/06/21 by Mark.Satterthwaite

	Make the Metal buffer pool cull after 30 frames - this will better match Apple's GART which unwires unused allocations after 1sec of idle, making them as expensive to use allocating a new buffer.

Change 3021595 on 2016/06/21 by Mark.Satterthwaite

	Consolidate the way in which optional Metal features are exposed across macOS, iOS & tvOS devices & expose all the available features, unifying more of the code across all three platforms.
	- Implement Metal Depth-16 and stencil-texture-view support where available.
	- Use counting queries in Metal when available and expected (i.e. Metal_SM4+ or Metal_MRT+).
	- On latest iOS devices running Metal export support for GRHISupportsBaseVertexIndex & GRHISupportsFirstInstance when available.
	- On latest iOS devices running Metal export support for indirect buffer draw and dispatch calls.
	- Specify Metal layered rendering like any other and change the code so that there aren't preprocessor defines in the code. This lets the Metal MRT path assert if anyone ever tries to issue a layered draw call as its only supported on Mac.
	- Add support to Metal for setting UAVs from a uniform buffer.
	- Remove unused GlobalUniform header from MetalRHI.
	- Remove unnecessary FrameCount delay from Metal resource free lists.

Change 3021702 on 2016/06/21 by Mark.Satterthwaite

	Fix mis-use of FreeListMutex instead of PoolMutex in MetalContext.

Change 3022152 on 2016/06/21 by Nick.Shin

	Back out revision 5 from //UE4/Dev-Platform/Engine/Source/Runtime/NetworkFileSystem/Private/NetworkFileServerHttp.cpp

	forgot to un-do this when the giant revert (CL: #2970016) was done

	#jira UE-22166 HTML5 Cook on the fly will launch and then close browser

Change 3022409 on 2016/06/21 by Dmitry.Rekman

	Fixed inability to run Setup.sh on Ubuntu 14.04 (UE-29289).

	- Contains PR #2258 (contributed by wshearn).

Change 3022541 on 2016/06/22 by Lee.Clark

	PS4 - Make sure the render target masks are set correctly for disabled render targets.
	Fixes a validation check for shaders expecting to write to NULL render targets.

Change 3022973 on 2016/06/22 by Michael.Trepka

	Fixed a problem in MacToolChain where both BuildConfiguration.bGeneratedSYMFile and BuildConfiguration.bUsePDBFiles set to false would not disable dSYM generation.

Change 3023106 on 2016/06/22 by Dmitry.Rekman

	Linux: enable code to catch memory stomps during async loading.

	- Changed FLinuxPlatformMemory::BinnedAllocFrom/FreeToOS() to use mmap()/munmap(). Updated platform function signature accordingly.

	#tests Ran OrionServer on Linux (and OrionClient on Windows as a zero probe), tested also with running Linux editor with binned malloc.

Change 3023256 on 2016/06/22 by Mark.Satterthwaite

	Fix compile errors from latest Metal changes that broke iOS.

Change 3023268 on 2016/06/22 by Mark.Satterthwaite

	Use the Linux mmap/munmap/mprotect code to implement BinnedAllocFromOS/BinnedFreeToOS/PageProtect on Apple platforms as they are all equivalent.

Change 3023651 on 2016/06/22 by Mark.Satterthwaite

	Make Metal SM5 the default for 10.11.5 or later, this time most of the features should be working on AMD & Nvidia, though tiled-reflections and distance-field AO/Shadows must still be forcibly disabled on Intel.

Change 3023777 on 2016/06/22 by Brent.Pease

	 + Update config for Android and iOS

Change 3023781 on 2016/06/22 by Chris.Babcock

	Use mmap/munmap for Android BinnedAllocFromOS
	#ue4
	#android

Change 3023947 on 2016/06/22 by Mark.Satterthwaite

	Added a command-line switch for Mac "-RedirectNSLog" that will capture the output of NSLog using an NSPipe and write it into our log instead when not running under the debugger, thereby capturing output from underlying libraries that would otherwise be lost when outside a debugger.

Change 3024434 on 2016/06/23 by Lee.Clark

	PS4 - Remove Delta Color Compression support

Change 3024735 on 2016/06/23 by Mark.Satterthwaite

	Changes to MetalStatistics module initialisation.

Change 3024741 on 2016/06/23 by Mark.Satterthwaite

	Change the way we test for Metal GPU support to avoid instantiating any MTLDevice's until MetalRHI is loaded so we can properly instantiate optional modules.

Change 3025477 on 2016/06/23 by Brent.Pease

	 + Added UnrealPluginLanguage.cs based on AndroidPluginLanguage.cs
	 + Change UEDeployAndroid.cs to use UnrealPluginLanguage

Change 3026085 on 2016/06/23 by Jeff.Campeau

	Separate Xbox One target settings for editor only values
	Move values that need to be loaded by the editor into the default inis (editor won't load target specific inis)
	Eliminate circular dependency on Xbox One settings (causing settings to either not load or memory corruption on shutdown)
	Clean up cached ini sections for UBT/UAT

Change 3026093 on 2016/06/23 by Jeff.Campeau

	Cleanup unused files

Change 3026745 on 2016/06/24 by Mark.Satterthwaite

	+ Implemented rudimentary runtime debugging of MetalRHI with several different levels of complexity controlled by the new console-variable "rhi.Metal.RuntimeDebugLevel".
	+ The MetalStateCache must also correctly set the render-pass descriptor when the previous render-target load action was 'Clear' as we will need to switch render targets or we'll mistakenly clear again.
	+ Queries must not reset the MetalStateCache when they overflow the available buffer space, they simply break the encoder.

	-  By default "rhi.Metal.RuntimeDebugLevel" is off & it is compiled out for Shipping - when enabled each higher level collects more data or changes the MetalRHI behaviour to make a command-buffer failure mode debuggable at the expense of performance. In order for this to work the number of command-buffers that may be allocated from the command-queue is also controllable via a console-variable "rhi.Metal.CommandQueueSize" which must be set prior to startup.

Change 3026831 on 2016/06/24 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3026940 on 2016/06/24 by Brent.Pease

	PR #2458: added GetGameBundleId blueprint function (Contributed by derekvanvliet)

Change 3027396 on 2016/06/24 by Brent.Pease

	Add BuildGraph.csproj to get Xamarin .sln builds working again

Change 3029211 on 2016/06/27 by Michael.Trepka

	Added a setting (on by default) to make the game window preserve its content's aspect ratio while being resized by user

Change 3029518 on 2016/06/27 by Josh.Adams

	Rollback //UE4/Dev-Platform/Engine/Build/BatchFiles/Mac/xcodeunlock.sh to revision 1

Change 3030385 on 2016/06/28 by Keith.Judge

	Fix XB1 deployment issues with AppXManifest for Paragon.

Change 3030416 on 2016/06/28 by Lee.Clark

	PS4 - Fix Mediaplayer IsPlaying

Change 3030922 on 2016/06/28 by Keith.Judge

	XB1 - Add pass through _RenderThread resource creation functions to D3D11.x RHI. Stops the render/RHI threads from stalling so much.

Change 3030948 on 2016/06/28 by Jeff.Campeau

	Revert to using constant chunk indexes instead of polling the OS.
	(OS API has a bug that will not be fixed.)

Change 3031016 on 2016/06/28 by Brent.Pease

	UEPLAT-1244 - Archive dSYM file
	UEPLAT-1359 - Support creating dSYM bundle

	Changes:
	 + Added ios settings flag for dsym bundle
	 + Added ios setting for creating xcode archive
	 + xcode archive is now only put in the mac host or build machine's ~/Library/Developer/Xcode/Archives folder, it is not copied into the -archive folder like the ipa is

Change 3031352 on 2016/06/28 by Bob.Tellez

	Added tps file for xcodeunlock

Change 3031604 on 2016/06/28 by Mark.Satterthwaite

	Add an additional cast to flush-to-zero in the Metal shader translator bounds-checking code to avoid an internal GPU compiler error.

Change 3031879 on 2016/06/28 by Brent.Pease

	 + PhysX libraries for bitcode support on tvOS.

Change 3032374 on 2016/06/29 by Keith.Judge

	Enable Oodle Handler Component on Xbox One

Change 3032407 on 2016/06/29 by Keith.Judge

	Xbox One - Disable UpdateBufferStats when STATS is 0. Small perf gain.

Change 3032432 on 2016/06/29 by Keith.Judge

	XB1 CPU Perf - Make CreateVertexDeclaration_RenderThread much faster by implementing a pass through to the RHI function rather than stalling the RHI thread.

Change 3033474 on 2016/06/29 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3033603 on 2016/06/29 by Brent.Pease

	 + Support UnrealPluginLanguage for IOS and TVOS builds
	 + Allow ios/tvos UPL files an opportunity to modify a package's info.plist file

Change 3034004 on 2016/06/30 by Lee.Clark

	PS4 - Use SDK 3.508.101

Change 3034007 on 2016/06/30 by Lee.Clark

	PS4 - VRTracker now uses SCE_VR_TRACKER_ROBUSTNESS_LEVEL_HIGH

Change 3034173 on 2016/06/30 by Lee.Clark

	PS4 - Make sure depth target is null when eliminating fast clears. Fixes a GNM Validation failure

Change 3034498 on 2016/06/30 by Jeff.Campeau

	Use MSBuild version 14 when generating project files.

Change 3034943 on 2016/06/30 by Mark.Satterthwaite

	For Metal modify the MTLVertexDescriptor when calls to SetStreamSource provide different strides than the initial vertex-declaration which then requires compiling a different MTLRenderPipelineState. This silences errors reported by the Metal debug layer where the larger stride would see the shader read beyond the end of the buffer, but the smaller stride provided by SetStreamSource would work correctly. This may eliminate some more causes of Page-Fault GPU restarts.

Change 3035416 on 2016/07/01 by Lee.Clark

	PS4 - Replace export vertex shader check with a CFLAG

Change 3036093 on 2016/07/01 by Brent.Pease

	 + Fix dSYM bundle path on Windows ios builds
	 + Search for DeltaCopy directory if its not found from the user settings
	 + Do not build an XCArchive file when building for ios on non-mac platforms

Change 3036726 on 2016/07/02 by Brent.Pease

	 + Add missing tvOS bitcode library

Change 3037455 on 2016/07/05 by Lee.Clark

	PS4 - Default SmoothFrameRate to false

Change 3037470 on 2016/07/05 by Keith.Judge

	Xbox One - Allow framerate smoothing, but default to off for consistency with PS4.

Change 3038322 on 2016/07/05 by Jeremiah.Waldron

	Fix for asset packages with Unicode characters in their name not being loaded on Android.

	Fixing AndroidString's WIDECHAR* Strstr(WIDECHAR*, WIDECHAR*) function
	  - Using an implementation of wcsstr, with a fix integrated for the incorrect implementation in Android ndk master branch, instead of converting the incoming WIDECHAR strings to ANSI strings just to be able to use strstr on them.

	The previous method was prone to causing the FString's Find and Contains functions to return false positives because when we convert wide to ansi, any character over the value of 255 is just set to '?'
	This in turn caused any package path strings with one of those characters in it to fail to load since they would be interpreted as having a question mark in their path, which is an invalid path character.

	#jira UE-18643
	#android

Change 3038693 on 2016/07/05 by Mark.Satterthwaite

	Change the way we store debug info for Metal shaders - the KeepDebugInfo flag now does precisely that, storing the shader code into the Metal header along with the path it was generated from. That means if KeepDebugInfo is enabled and Optimise is disabled then we can still access the shader code from within the Metal tools. On iOS/tvOS the shader code will be runtime compiled so that it shows up in the tooling but on Macs it will prefer to load the optimised version and simply unpack the shader code to the path from which it was compiled. This only works if we change the Metal shader compiler to emit temporary Metal files to the OS temporary directory so that the tools can read the file directly.

Change 3039880 on 2016/07/06 by Mark.Satterthwaite

	Implement point-light shadow caching for RHI's that support specifying the render target layer from the vertex shader in lieu of geometry shaders. This requires changing FScreenVSForGS to TScreenVSForGS so that there can be a vertex-shader-layer variant (only compiled on RHI's that use it) whose output matches FCopyShadowMapsCubePS input. This alternative rendering path also requires adding the instance count to DrawRectangle so that we can render to all faces of the cubemap from a single draw call.

Change 3040407 on 2016/07/06 by Michael.Trepka

	Added View->Enter Full Screen menu item for games on Mac

Change 3040550 on 2016/07/06 by Mark.Satterthwaite

	Intel Metal compiler requires bool expressions be cast to 'int' rather than 'uint'.

Change 3041098 on 2016/07/07 by Peter.Sauerbrei

	initial changes to get IOS builds from PC in launcher release of engine

Change 3041310 on 2016/07/07 by Keith.Judge

	Xbox One - Optimize away GetDesc() and checks for D3D11_USAGE_DYNAMIC deep in the state cache as it's impossible for any buffer to have that flag set.

Change 3041327 on 2016/07/07 by Keith.Judge

	Xbox One - Remove pointless memory barrier call in D3D11Query

Change 3041352 on 2016/07/07 by Keith.Judge

	Xbox One - Add _RenderThread version of UpdateTexture2D() that just passes through to the RHI one. Saves a fairly significant chunk of time on the render/RHI thread when this is called a lot.

Change 3041419 on 2016/07/07 by Jeff.Campeau

	Xbox One toolchain fix for VS2015 Update 3

Change 3041635 on 2016/07/07 by Jeff.Campeau

	Don't change game render resolution in response to WM_SIZE messages when in fullscreen (the game will restore the correct video mode when the window is restored).
	#jira OR-15578

Change 3041735 on 2016/07/07 by Peter.Sauerbrei

	re-enabled the build parameters for launcher release builds in IOS

Change 3041783 on 2016/07/07 by Joe.Graf

	Changed bAutpApplyFailed to bAutoApplyFailed (typo)

Change 3041784 on 2016/07/07 by Joe.Graf

	Fixed missing %s from a log message in UResavePackagesCommandlet

Change 3042434 on 2016/07/08 by Lee.Clark

	PS4 - Fix compilation failure when Unsafe Command Buffers are enabled.

Change 3042658 on 2016/07/08 by Lee.Clark

	PS4 - Use SDK 3.508.201

Change 3042970 on 2016/07/08 by Josh.Adams

	Redoing CL in 3040890 in Dev-Platform

Change 3043243 on 2016/07/08 by Chris.Babcock

	clamped allowed slot range for gameplay debugger's categories
	copy of CL# 3040313 from //UE4/Dev-Framework
	#jira UE-32866

Change 3043500 on 2016/07/08 by Mark.Satterthwaite

	Downgrade "-Wdelete-non-virtual-dtor " to a warning again for Xcode 8 on iOS/tvOS to match macOS.

Change 3044628 on 2016/07/11 by Mark.Satterthwaite

	Disable ShaderCache by default - it was implemented prior to RHI-thread/parallel-execution so it isn't thread-safe and can't be enabled by default on Mac now that Metal supports these features.
	#jira UE-32989

Change 3044948 on 2016/07/11 by Dmitry.Rekman

	Fix editor crash (happened on Linux, but not really specific to it) (UE-32973)

	- We can pass flags with shadows enabled when rendering asset thumbnails; thus disable shadows always when r.ShadowQuality is 0. (Redoing CL 3029574 by Bob).
	- Also fix mismatched 'noperspective' qualifier that caused NVidia drivers to refuse to link GL shaders.

	#jira UE-32973

Change 3045322 on 2016/07/11 by Josh.Adams

	Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)

Change 3046028 on 2016/07/12 by Lee.Clark

	PS4 - Check for correct SDK installation
	Allow use of 7th core when Morpheus is enabled

Change 3046339 on 2016/07/12 by Peter.Sauerbrei

	fix for incorrect error message when iPhone Plus icon is the correct size

[CL 3046645 by Josh Adams in Main branch]
2016-07-12 15:06:08 -04:00
Matthew Griffin
f180dff107 Copying //UE4/Release-Staging-4.12 to //UE4/Dev-Main
#lockdown Nick.Penwarden

(Will update with full description tomorrow)

[CL 2984534 by Matthew Griffin in Main branch]
2016-05-19 19:35:35 -04: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
Ben Marsh
2802f43c08 Convert everything in UBT to use standard C# XML comments, so IntelliSense can display useful information in tooltips.
[CL 2704759 by Ben Marsh in Main branch]
2015-09-24 13:47:13 -04:00
Ben Marsh
df83418aeb Auto-format UBT for consistent spacing. All default Visual Studio settings, but tabs instead of spaces.
[CL 2704665 by Ben Marsh in Main branch]
2015-09-24 12:37:21 -04:00
Ben Marsh
5a0150033b Remove calls to UEToolChain.GetPlatformToolChain(). iOS and Mac deployment for remote tool chains is now done through UEToolChain.PostBuildSync() rather than UEBuildDeploy.PrepTargetForDeploy().
#codereview Peter.Sauerbrei

[CL 2704192 by Ben Marsh in Main branch]
2015-09-24 08:08:38 -04:00
Ben Marsh
9610023ca5 Use FileReference and DirectoryReference classes instead of strings for paths. Massively reduces the amount of paranoid calls to GetFullPath(), CleanDirectorySeparators() et al., and improves performance for really common UBT operations like making relative paths or checking if files are under a directory. Strong typing ensures that intention of parameters is explicit.
[CL 2678429 by Ben Marsh in Main branch]
2015-09-03 08:47:24 -04:00
Steve Robb
499def698b UBT cleanups:
* Removal of some null checks.
* Some arrays changed to Lists.
* Some lists changed to IEnumerables.
* Some loops changed to Linq actions.
* FilterOnlyModules and FilterGameModules renamed to GetFiltered* functions, which better represent what they do.
* Some indentation fixes.
* Some thrown exceptions moved around to more appropriate locations.

#codereview robert.manuszewski

[CL 2554771 by Steve Robb in Main branch]
2015-05-18 08:16:56 -04:00
Ben Marsh
0de65e95bd Deprecate bBuildAdditionalConsoleApplication from LinkEnvironment, and move it to UEBuildBinaryConfiguration instead - it's not actually used by anything that does linking; it's a higher level behavior. The default is now false, which mirrors the only use case we had for it (and removes a hack for checking UEBuildConfiguration.bBuildEditor).
[CL 2499917 by Ben Marsh in Main branch]
2015-04-02 11:09:01 -04:00
Mikolaj Sieluzycki
5dd319203e Fix linker errors on non-monolithic shipping builds.
[CL 2478401 by Mikolaj Sieluzycki in Main branch]
2015-03-13 06:29:19 -04:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Michael Trepka
8532434e22 Use Clone() instead of assignment for arrays added to support multiple output items in UBT so they can be modified independently.
#codereview Josh.Adams

[CL 2282963 by Michael Trepka in Main branch]
2014-09-03 10:13:05 -04:00
Josh Adams
ddea2d2fe0 - Changed UBT to allow for multiple OutputPaths in a given UE binary (this is needed by Android to output multiple .so files per UBT run, for armv7, x86, etc)
#codereview ben.marsh

[CL 2281777 by Josh Adams in Main branch]
2014-09-02 14:26:49 -04:00
Josh Adams
d67a3a64a5 - Initial "Fat" binary support for Android - multiple architectures at once, by compiling multiple .so's in one go of UBT (will be controlled by Project Settings, intentionally hidden for now)
- Added option to allow for splitting up into multiple .apks, or a single "fat" .apk (also not exposed yet in the project settings)
- A fat binary is just named <Project>.apk, no longer <Project>-armv7.apk
- x86 almost works, except missing libCurl and ICU
- x64 and arm64 will come next now that this framework is in place
#codereview chris.babcock

[CL 2272105 by Josh Adams in Main branch]
2014-08-26 09:56:29 -04:00
Michael Trepka
e5fa9d51e7 Initial support for specifying additional files or folders that need to be copied to Mac app bundle in module's Build.cs file. For now only used for Mac CoreAudio's RadioEffectUnit plugin. More files and support for iOS bundles will follow soon.
[CL 2234811 by Michael Trepka in Main branch]
2014-07-28 14:55:48 -04:00
Jaroslaw Palczynski
220c44b806 [GitHub] 132 : Introduce NativeBuildEnvironmentConfiguration
#github 132
#ttp 334942

[CL 2098971 by Jaroslaw Palczynski in Main branch]
2014-06-09 11:12:01 -04:00
Jaroslaw Palczynski
17d9ce9ab2 [GitHub] 131 : Improve cloning of Environments
#ttp 334941
#codereview Robert.Manuszewski

[CL 2081720 by Jaroslaw Palczynski in Main branch]
2014-05-22 04:16:41 -04:00
John Pollard
d99028f75e Support for third party iOS framework bundled assets
* Work in progress, works with RPC utility, local mac support incoming
* Changed AdditionalPublicFrameworks from storing just string, to storing the frame work name, zip name, and bundled asset name that needs to be copied
* We also now store the module that added this framework, so we can derive the module project path, etc when we need it for when we create intermediate directories

#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland, Gil.Gribb, Robert.Manuszewski

[CL 2068603 by John Pollard in Main branch]
2014-05-09 16:38:26 -04:00
John Pollard
5e2d1c2dea Modifications to build/cook/run pipeline to support third party frameworks on iOS
#Codereview Josh.Adams, Peter.Sauerbrei, Michael.Noland

[CL 2060181 by John Pollard in Main branch]
2014-04-30 14:09:06 -04:00
Tim Sweeney
324683ce78 Engine source (Main branch up to CL 2026164) 2014-03-14 14:13:41 -04:00