==========================
MAJOR FEATURES + CHANGES
==========================
Change 2986511 on 2016/05/23 by Ben.Marsh
UdpMessaging: Force references to symbols in the files containing UDP automated tests. Since plugins are compiled into static libraries before being linked into the executable, the linker will exclude any object files which don't have any referenced symbols. In non-unity builds, or adaptive unity builds with modified test files, this results in the tests not being linked in.
Change 2993274 on 2016/05/27 by Ben.Marsh
Fix UGS enumerating deleted .target.cs files when trying to detect editor target name.
Change 2994265 on 2016/05/31 by Ben.Marsh
Add info about setting up CIS integration and zipped editor builds in UGS.
Change 2994275 on 2016/05/31 by Ben.Marsh
PR #2443: [Unreal Game Sync] Added -project so shortcut or script can hint at the project file to open. (Contributed by paulevans)
Change 2994287 on 2016/05/31 by Ben.Marsh
UnrealGameSync: Add information about how UGS self-patches and updates.
Change 2996928 on 2016/06/01 by Ben.Marsh
UnrealGameSync: Fix trying to sync files which are open for branch or move/add. They don't exist on the server yet.
Change 2997619 on 2016/06/02 by Ben.Marsh
UAT: Fix PRX files not being remapped on PS4. All non-UFS should be allowed to be remapped, and UFS files can be if we're not using a PAK file.
Change 2999769 on 2016/06/03 by Ben.Marsh
UBT: Fix codepaths which assume that the current user account has a personal folder. The SYSTEM account (which Jenkins defaults to using) does not.
Change 3004879 on 2016/06/07 by Ben.Marsh
Remove copy of AWSSDK in NotForLicensees folder.
Change 3004902 on 2016/06/07 by Ben.Marsh
UAT: Switch MCP to use version of AWSSDK that's not in a NotForLicensees folder.
Change 3005892 on 2016/06/08 by Ben.Marsh
Add the GitHub promotion to the UE4 binary release build.
Change 3016241 on 2016/06/16 by Ben.Marsh
UGS: Always sync version files at the same changelist as everything else (rather than head revision)
Change 3016446 on 2016/06/16 by Ben.Marsh
PR #2279: Use MSBuild instead of DevEnv for solution builds (Contributed by FineRedMist)
Change 3016472 on 2016/06/16 by Ben.Marsh
PR #2442: pointing to the pull requests page of the repo (Contributed by KrishMunot)
Change 3017694 on 2016/06/17 by Ben.Marsh
EC: Produce an error if trying to sync back to a changelist more than 30 days before the most recent change. Meant to catch errors in entered CL fields from the dashboard. Can be overridden by specifying --allow-old-change in the build arguments.
Change 3017695 on 2016/06/17 by Ben.Marsh
UBT: Use a well defined order for parsing configuration files, rather than ignoring one file if another has a newer timestamp. Prevents confusing behavior where settings can be present, but are completely ignored. Now prioritizes the BuildConfiguration.xml file in the My Documents/Unreal Engine/UnrealBuildTool, followed by the one in AppData/Roaming/Unreal Engine/UnrealBuildTool. Both are added to the Config section of the solution if present, under different folders.
#jira UE-24271
Change 3017698 on 2016/06/17 by Ben.Marsh
Rename the <MsBuild> task to <CsCompile>, highlighting the fact that it only actually works on .csproj files (and not .sln files or other project types).
#jira UEB-664
Change 3017701 on 2016/06/17 by Ben.Marsh
BuildGraph: Relax a lot of the restrictions relating to using output tags from nodes. Output tags may contain an arbitrary set of files, including files which are also in other tags or produced by other nodes, but will not be written to temp storage more than once. The default tagged set of files for a node (eg. #MyNodeName) now includes all build products produced by that node.
Temp storage now separates the storing of build products from the tags which reference them. A TempStorageFileList object is written for each output tag, which includes a list of files as well as a list of the storage blocks referenced by it. When a node depends on a tag, the TempStorageFileList is read first and used to determine which storage blocks to read.
All tasks now have overloaded functions for returning the tags which they modify and/or reference, and errors are produced if an existing tag is modified, or referenced without being added as an input dependency.
Change 3017714 on 2016/06/17 by Ben.Marsh
BuildGraph: Allow specifying multiple tag names in the 'Tag' attribute of build tasks (or 'With' attribute of the 'Tag' task).
Change 3018007 on 2016/06/17 by Ben.Marsh
UBT: Add sections to the target receipt listing files which are required to build using precompiled binaries (as previously generated using -generateexternalfilelist), and runtime dependencies that may be required when using precompiled binaries but aren't actually required for the current target (which previously had to be specified through InstalledEngineFilters.ini). Tested by running UBT with arguments "UE4Game Win64 Development -precompile -xgeexport" and examining target receipt.
#jira UE-28761
Change 3018322 on 2016/06/17 by Ben.Marsh
PR #2518: Improvements for Clang on Windows (Contributed by Mattiwatti)
Change 3018365 on 2016/06/17 by Ben.Marsh
Misc: Fixes for warnings compiling ShaderCompileWorker on Clang
Change 3018397 on 2016/06/17 by Ben.Marsh
UnrealVS: Add an UnrealVS command to run a single-file-compile with UBT
Change 3019421 on 2016/06/20 by Ben.Marsh
Fix compilation of FreeType on Clang for Windows - there's an fttypes.h header already in the Windows SDK, so use a relative include path instead.
Change 3019423 on 2016/06/20 by Ben.Marsh
PR #2518: Improvements for Clang on Windows (Contributed by Mattiwatti)
Change 3020377 on 2016/06/20 by Ben.Marsh
UBT: Fix strings not being escaped before writing to JSON files.
Change 3020378 on 2016/06/20 by Ben.Marsh
UBT: Exclude precompiled files from the target receipt which are outside the engine and project directories. We don't need SDK libs being added to the precompile list.
Change 3020966 on 2016/06/21 by Ben.Marsh
EC: Allow scheduling builds at a certain offset past midnight, using the schedule formatted like "Every 20m from 04:00", and add scheduled builds of target platforms for dev streams every 4 hours. Also make the meaning of "Editor Only" and "Editor, Tools & Monolithics" build names consistent between Dev streams and Main, and add a new "Editor, Tools, Monolithics & DDC" build type includes additional DDC build for //UE4/Main.
#rb none
#lockdown Nick.Penwarden
[CL 3020980 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2976484 on 2016/05/12 by Jason.Bestimt
#ROBOMERGE-AUTHOR: nick.atamas
Added queueing to HUD Alerts so they don't clobber each other.
Added input visualization so that keys show up in game.
SRichTextBlock/UOrionRichTextBlock now have a MinDesiredWidth
#test PIE
#ROBOMERGE-SOURCE: CL 2976474 in //Orion/Release-0.26/... via CL 2976481 via CL 2976482 via CL 2976483
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976256 on 2016/05/12 by Zak.Middleton
#ue4 - Fix for shipping build.
#tests compiled
Change 2976205 on 2016/05/12 by Zak.Middleton
#ue4 - (Merge 2957866) Add MaxDepenetration for characters against geometry and pawns.
#tests MP PIE PlayGo
(Merging CL 2957866 using Framework->DevGeneral)
Change 2976166 on 2016/05/12 by Daniel.Lamb
Cooking optimziation to unsolicited markup saves 150 seconds paragon cook time.
#test Cook paragon
Change 2976161 on 2016/05/12 by Zak.Middleton
#ue4 - Make sure LastUpdateLocation, Rotation, and Velocity are updated on client and server error corrections. ForcePositionUpdate should call PerformMovement regardless of velocity (there may be root motion or gravity effects).
#tests PIE MP w/ real-world networking
Change 2976092 on 2016/05/12 by Mieszko.Zielinski
Modified adding dynamic subtrees to BT component so that we get a log info if it fails #UE4
#test golden path
Change 2976001 on 2016/05/12 by Robert.Manuszewski
Don't log to memory on dedicated servers
#jira UE-30693
#test Cooked dedicated server and client
Change 2975855 on 2016/05/12 by Lukasz.Furman
fixed behavior tree serialization spawning duplicates of task services
#tests BT editor
Change 2975706 on 2016/05/12 by Daniel.Lamb
Fixed redirect collector stats.
#test Compile
Change 2975636 on 2016/05/12 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge DUI @ CL 2975557
#RB:none
#Tests:none
[CodeReviewed]: matt.schembari, kerrington.smith, tony.oliva, jaymee.stanford, mona.huang, alex.conner, jacob.lawyer, paul.shank
#ROBOMERGE-SOURCE: CL 2975635 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2975592 on 2016/05/12 by Zak.Middleton
#ue4 - Add stat for SetHitResultFromShapeAndFaceIndex().
#tests PIE
Change 2975589 on 2016/05/12 by Zak.Middleton
#ue4 - Avoid filling temp variable unless in Editor builds. It's only used later in the function in Editor builds.
#tests PIE
Change 2975588 on 2016/05/12 by Zak.Middleton
#ue4 - Minor tweak to avoid array read each loop iteration.
#tests PIE
Change 2975587 on 2016/05/12 by Zak.Middleton
#ue4 - Add "IsPlayerController()" function to AController. Variable already existed, just wasn't exposed.
#tests PIE
Change 2975504 on 2016/05/12 by Daniel.Lamb
Remove new stats system because it broke build.
#test cook paragon
Change 2975500 on 2016/05/12 by Daniel.Lamb
Enable redirect timers so I can get stats from build machines.
#test cook paragon.
Change 2975367 on 2016/05/12 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.nikdel
#OGF #CatalogService #OSS #Localization
- Flush the cached offers/items in CatalogServiceMcp when the culture changes since they contain localized text
- Flush the cached virtual catalog offers/items in McpCatalogHelper when the culture changes since they contain localized text
- Replaced SetForceCatalogRefresh with ClearCache per CR with SamZ (will require Launcher fixup)
[CodeReviewed]: Sam.Zamani, Matt.Kuhlenschmidt
#RB: Sam.Zamani
#TESTS: storefront w/ language change
#ROBOMERGE-SOURCE: CL 2975366 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2975209 on 2016/05/12 by Simon.Tovey
Fixed initialization order warning.
#tests none
Change 2975200 on 2016/05/12 by Simon.Tovey
Translucency GPU time stats for automation.
Refactored separate translucency gpu timer to more general helper class and used it to also time regular translucency.
Feeding both of these into a stat to help art identify poorly performing VFX for more detailed investigation.
There are occasional spikes when the GPU is starved but overall the data out seems good.
#tests GoldenPath, Editor, Auto downsampling works, new stat produces reasonable data.
Change 2974984 on 2016/05/11 by Mieszko.Zielinski
Fixed a bug in graph-a-star heuristics' calculation #UE4
#test golden path
Change 2974916 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26 @ CL 2974578
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2974915 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974869 on 2016/05/11 by Ben.Marsh
BuildGraph: Add a MergeTelemetryWithPrefix="..." parameter to the <Command> task which allows merging the telemetry data from a child UAT run, adding a given prefix to all the key names.
#tests none
Change 2974673 on 2016/05/11 by Mieszko.Zielinski
Fix to BT not stopping if "StopTree" called while BT was waiting for a task to latently abort #UE4
(change by ?ukasz.Furman)
#test golden path
Change 2974581 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
Merged CL 2974565 from Release-.26 -> Main:
Fixed loc region not saving in shipping builds
Partially fixed store not refreshing when changing regions. Real money currency items are pending additional fixes
#ROBOMERGE-SOURCE: CL 2974578 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974444 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: richard.fawcett
Reimplement support for specifying BuildPatchTool version used in chunking
This is now possible after Ben Marsh's fix to BuildGraph with CL 2974407.
#tests none
#ROBOMERGE-SOURCE: CL 2974441 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974408 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: ben.marsh
BuildGraph: Fix support for variable expansion in user-defined enum types. Enums in the schema are now represented as the union of valid values and a regex matching a balanced property expansion string, which still validates/autocompletes cleanly in Visual Studio.
#tests none
[CodeReviewed] Richard.Fawcett
#ROBOMERGE-SOURCE: CL 2974407 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974392 on 2016/05/11 by Daniel.Lamb
Optimizing resolve string asset reference resolution.
Added timing stats (disabled by default).
#test Cook paragon.
Change 2974349 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: richard.fawcett
Back out changelist 2974298. An issue with the BuildGraph system has prevented this change from working on the build farm.
#tests none
#ROBOMERGE-SOURCE: CL 2974347 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974299 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: richard.fawcett
Add support for chunking builds with the pre-release version of BuildPatchTool.
#tests None. This code will be tested by creating a build on the build farm immediately after submission.
#ROBOMERGE-SOURCE: CL 2974298 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2974277 on 2016/05/11 by Lina.Halper
Fix up of retargeting when it skips replacing nested reference
#tests: retargeting anim BP
Change 2974210 on 2016/05/11 by Bart.Bressler
Merging Oodle changes from Dev-Networking
Change 2939167 on 2016/04/10 by John.Barrett
Updated packet bit termination code, so that both UNetConnection's and the PacketHandler use a termination bit (required for both PacketHandler/UNetconnection, as HandlerComponent's such as Oodle, are byte-aligned and do not preserve packet bit size).
Added new 'stat packet' stats group, for tracking reserved packet bits.
Added '-NoPacketHandler' commandline parameter, for disabling the PacketHandler and all HandlerComponent's (including stateless handshake) - restoring netcode to pre-PacketHandler state.
Removed PacketHandler 'packet overhead' method of packet bit size calculation - replaced with termination bit. Still partially used for reserving bits within packets (but renamed to avoid conflict with other 'PacketOverhead' variable).
Refactored/consolidated some PacketHandler code. Added more stringent bounds checking on packet sizes.
Change 2939168 on 2016/04/10 by John.Barrett
Updated Oodle to support new packet bit-termination code.
Added Oodle protocol support for selective packet compression (packets can now be sent uncompressed - game code will require a hook for this) - required for new bit-based netcode (Oodle outputs byte-aligned data, allowing compressed data to exceed size of uncompressed data - and thus, maximum packet size if not sent uncompressed - in rare edge cases).
Added '-CompressionTest' commandline parameter to Oodle dictionary generation commandlet, which reserves a portion of captured packets, for determining the compression savings percentage.
Added '-OodleDebugDump' commandline parameter, which disables normal dictionary generation, and converts packet captures into a .bin file, which is compatible with the Oodle 'example_packet.cpp' code.
Added temporary security bandaids to Oodle code, based on report that Luigi Auriemma put together, which deals with potential weaknesses in the Oodle API
Added 'stat oodle' stats for tracking failed attempts at compressing packets.
Change 2942964 on 2016/04/10 by Ryan.Gerleve
Fix broken indentation/formatting
Change 2958260 on 2016/04/27 by Bart.bRessler
Add branch name and changelist to oodle packet capture filenames.
Change 2964360 on 2016/05/03 by John.Barrett
Updated Oodle to support using a dictionary and capturing packets at the same time.
The dictionary is now always loaded, if specified, and whenever -OodleCapturing is on the commandline, packets are captured alongside the active dictionary.
Added several debug commands, to aid with testing compression performance (not QA-ready; only works with 1 player on a server):
"Oodle Compression On/Off" - enables/disables packet compression (but still decompresses received compressed packets)
"Oodle Dictionary Unload/Load" - unloads/loads the dictionary files, to allow releasing the files for dictionary generation, and reloading the new dictionary.
"Oodle Capture On/Off" - Enables/Disables packet capturing at runtime - requires '-OodleCapturing' on commandline.
"Oodle ResetStats" - resets the 'stat oodle' stat counters.
The NetcodeUnitTest plugin should be enabled, so that these commands can automatically execute on the server as well, as needed.
Change 2964553 on 2016/05/03 by Bart.Bressler
Add process ID to oodle capture filenames
Change 2966247 on 2016/05/04 by John.Pollard
Oodle 2.1.5 SDK
Change 2968761 on 2016/05/06 by Bart.Bressler
- Added changelist number as parameter to most command line tasks to filter captures by their changelist number (use "all" to get everything)
- Moved a bunch of the file searching/processing code outside of the tasks themselves so that the tasks all just operate to an array of capture files, this makes it easier to create new command line options
- When looking for capture files, we will now recursively search subdirectories
Change 2970529 on 2016/05/09 by Bart.Bressler
Add an optional "CapturePercentage" command line parameter that has a percentage chance of generating capture files per connection
Change 2970874 on 2016/05/09 by Bart.Bressler
- Turn on OODLE_DEV_SHIPPING in the Orion server shipping config so that captures can be generated in shipping builds
- Link to version 215 of oodle
Change 2971233 on 2016/05/09 by Bart.Bressler
Update Oodle DLLs in Orion
Change 2971362 on 2016/05/09 by Bart.Bressler
Create script for building an oodle dictionary out of capture files in an arbitrary location
Change 2972176 on 2016/05/10 by Bart.Bressler
Update oodle references to version 215 in OodleHandlerComponent.Build.cs
#tests used solo vs. ai to test oodle captures and using them
Change 2974035 on 2016/05/11 by Simon.Tovey
Adding fx.ParticleCollisionIgnoreInvisibleTime to replace hard coded time.
This is the time a PSC needs to be invisible for to have all it's collisions ignored.
This is potentially the cause of a bug Tim et al are seeing.
#tests Editor, Can be used to repro/fix the issue.
Change 2973985 on 2016/05/11 by Lina.Halper
Retargeting fix with editor saving issue
#tests: retargeting
Change 2973695 on 2016/05/11 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26 @ CL 2973469
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2973694 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2973679 on 2016/05/11 by Graeme.Thornton
UAT parameter -signedpak now no longer implies -pak
#tests win64 cooked client. checked that pak generation works as expected through project launcher
Change 2973588 on 2016/05/11 by Simon.Tovey
OR-21033 - Get physical material from particle collision event exposed in Cascade / Blueprint
Particles can now receive collision events selectively based upon the phyisics material of the hit.
Physics material is passed through the event and can be accessed in BPs.
The Event Receiver Spawn node also now has an array of Allowed and Banned phys materials.
#tests Editor and game. Coudln't test cooked as having unrelated crashes in cooked games. Shouldn't be any cooked/uncooked issues here.
Change 2973394 on 2016/05/11 by bruce.nesbit
Fixed couple of shadow vars
#tests compiled
Change 2973335 on 2016/05/11 by Andrew.Grant
Warning fix
#tests compiled
Change 2973308 on 2016/05/10 by Dmitry.Rekman
Add "unplayable condition" reporting.
- The server will report an unplayable condition by creating a local file (under Saved).
- An external script can possibly notice this and, applying its own logic on % of servers reporting it, profile or shutdown the whole machine.
- Report file is to be deleted by an external script.
#tests Compiled and ran Linux server, subjected it to various hitches.
Change 2973235 on 2016/05/10 by Zak.Middleton
#ue4 - Removed allocs after initial spawn from client saved move processing in character movement.
#tests PIE multiplayer w/ Bots
Change 2973157 on 2016/05/10 by Olaf.Piesche
Merging CL 2973112 from //UE4/Dev-Rendering->//Orion/Dev-General
Providing particle source and target for beam emitters
#tests editor game PC
Change 2972715 on 2016/05/10 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26 @ CL 2972681
#RB: none
#Tests:none
#ROBOMERGE-SOURCE: CL 2972712 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2972678 on 2016/05/10 by Mieszko.Zielinski
Fixed babysitter bot not avoiding enemy towers when pathfinding back to base #Orion
#jira OR-18590
#test golden path
Change 2972595 on 2016/05/10 by Lina.Halper
Animation Retargeting fix for blendspaces
#code review: Benn.Gallagher, Martin.Wilson
#tests: retargeting anim BP
Change 2972282 on 2016/05/10 by Daniel.Lamb
Optimized string asset reference resolution slightly to help get back missing 10 minutes from paragon cook.
#test cook paragon.
Change 2972260 on 2016/05/10 by Laurent.Delayen
Fixed crash in UCharacterMovementComponent::HasRootMotionSources().
#tests Chains pull not crashing anymore.
Change 2972241 on 2016/05/10 by Frank.Fella
UMG - Fixes for material animation copied from 4.12.
#RB Matt K.
#TESTS Struct materials can now be animated and animated materials are named nicely.
Change 2971643 on 2016/05/09 by Dmitry.Rekman
Add reporting of "zero load" frame times (OR-21035).
- Added a thread that does nothing but sleeps and counts how often it missed the target FPS.
- Added an analytics event ServerZeroLoadFrameTimeDistribution that is sent at the end of the match.
- Server only.
#tests Compiled and ran Linux server on a compatible content, played few matches in a row.
Change 2971544 on 2016/05/09 by Ben.Marsh
EC: Use a full path to the telemetry file, to account for UAT switching directories.
Change 2971532 on 2016/05/09 by Wes.Hunt
Alter the cook stats hierarchical profile data to reflect the latest cook changes.
#tests none
Change 2971527 on 2016/05/09 by Ben.Marsh
UAT: Move telemetry object into CommandUtils, so we can add stats from anywhere.
#tests none
Change 2971461 on 2016/05/09 by David.Ratti
Fix issues with mesh swap skins:
-Front end intro animations not playing
-In game spawn animations not playing
-Some attachment weirdness (twinblast)
#tests golden path
Change 2971460 on 2016/05/09 by David.Ratti
Fallback to Target actor if there is no instigating actor in the GAmeplayCue parameters when determining if we should play "local only" effects
#tests pie
Change 2971364 on 2016/05/09 by Ben.Marsh
EC: Add support for adding custom telemetry data from UAT scripts, which gets piped through to the trends panel in EC.
#tests none
Change 2971245 on 2016/05/09 by Dmitry.Rekman
Add a "hitchhunter" log message to catch hitches while sleeping.
#tests Compiled and ran Linux server on a compatible content.
Change 2971196 on 2016/05/09 by jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2971139
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2971168 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Coil/Audio/Body/Pixie_Cranking_Loop_Cue.uasset - can't branch exclusive file already opened
#CodeReview: david.nikdel, jason.bestimt
Change 2971113 on 2016/05/09 by Dmitry.Rekman
UdpMessaging: Fixed broken filters for when to enable UDP transport.
- Redoing MaxP's change from Dev-Sequencer (CL 2963357).
- Reduces number of threads spawned by the server.
#tests Compiled Linux server, ran it on a compatible content.
Change 2971040 on 2016/05/09 by jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2970990
#RB:none
#Tests:none
[CodeReviewed]: jon.lietz
#ROBOMERGE-SOURCE: CL 2971027 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ROBOMERGE-SAYS: Beep boop! I couldn't merge this change. Please do it yourself, human.
#CodeReview: david.nikdel, jason.bestimt
Change 2970555 on 2016/05/09 by Ben.Marsh
BuildGraph: Only show warnings and errors for the SavePackage log during cooks. Prevents redundant display of information that's already in the Cook log.
#tests preflight here: https://ec-01.epicgames.net/commander/link/jobDetails/jobs/6443796
Change 2970507 on 2016/05/09 by David.Ratti
Support for linking passive abilities to a key binded ability. E.g., allow a passive ability to be unlocked and leveled up in step with a key binded ability.
Cleaned up the TryLevel/CanLevelUp code a bit: moved to Orion Ability System Component
#tests pie
Change 2970414 on 2016/05/09 by Graeme.Thornton
Don't take a copy of the child tags array when doing UGameplayTagsManager::FindTagNode, just take a const&
#tests win64 client golden path
Change 2969729 on 2016/05/06 by Mieszko.Zielinski
Fixed a dumb mistake in a conditional expresion in UNavigationQueryFilter::GetQueryFilter #UE4
#test golden path
Change 2969675 on 2016/05/06 by Mieszko.Zielinski
Implemented "meta navigation filter" that can fetch a filter class based on given agent #UE4
Added NavFilter_AIControllerDefault that fetched DefaultNavigationFilter from AIController
Reverted hack-feature that supplied same functionality to EQS
#test golden path
Change 2969652 on 2016/05/06 by Michael.Noland
HLOD: Changed UI gating code so that whether or not a LOD Actor is valid is based on the presence of at least two static mesh components, rather than at least two actors (to improve handling when including BPs)
- Repurposed HasValidSubActors for this check, and introduced HasAnySubActors() for the existing uses as this better matches the intent of how the function was used
#tests Added a single BP containing 7 mesh components to a new ALODActor and verified that it allowed a proxy to be generated
Change 2969651 on 2016/05/06 by Michael.Noland
Simplygon: Added time taken for simplygon mesh reduction to the log message
#tests Simplified a LOD cluster and inspected the log
Change 2969604 on 2016/05/06 by Uriel.Doyon
Changed default value to true for UParticleModuleVectorFieldLocal::bUseFixDT.
#tests confirmed that default value has changed for old assets, while allowing override.
Change 2969418 on 2016/05/06 by jason.bestimt
#ROBOMERGE-AUTHOR: andrew.grant
Fixed unconverted char string being passed as part of build info
#tests ran & verified patch check passes
#ROBOMERGE-SOURCE: CL 2969417 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2968817 on 2016/05/06 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2968572
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2968813 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2968383 on 2016/05/05 by Mieszko.Zielinski
Added "default navigation filter" to AIController #UE4
Also, made EQS take advantage of that
#test golden path
Change 2968225 on 2016/05/05 by John.Pollard
Add sanity checks and more info to help track down possible memory corruption
#tests Networking, replication
Change 2967903 on 2016/05/05 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2967827
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2967902 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2967899 on 2016/05/05 by Lina.Halper
Merged change of 2956152
Remove invalid ensure - this didn't work if you have composite inside.
#tests: none
Change 2967870 on 2016/05/05 by Andrew.Grant
Fix for OR-20731 (gamever crashes client)
#tests gamever at console with -game
Change 2967606 on 2016/05/05 by Wes.Hunt
Tweaked output log message for HTTP module shutdown.
#tests none
Change 2967359 on 2016/05/05 by Wes.Hunt
HttpManager will log outstanding requests on shutdown so people can debug shutdown issues and ensure their requests get flushed properly. Also changed default LogHttp logging level to display so these messages can be shown by default without using warning level.
#tests ran editor build and queued up an event using the console command, then quit immediately. the log indeed showed that HttpManager had to wait at least 0.5 seconds for the request to complete.
Change 2966987 on 2016/05/05 by Dmitry.Rekman
Fix editor build.
#tests Compiled Win64 editor.
Change 2966977 on 2016/05/05 by Dmitry.Rekman
Added collecting and reporting periodic server frame time distribution.
- Added generic FHistogram class and necessary analytic events.
- Also added reporting hostname (OR-20842).
#tests Built Linux server and ran a few matches on a compatible content.
Change 2966920 on 2016/05/04 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2966805
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2966919 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2966778 on 2016/05/04 by Michael.Noland
Rendering: Fixed shadow variable warning in GPUProfiler
#tests Compiled and tested GPUProfiler command
Change 2966769 on 2016/05/04 by Mieszko.Zielinski
Fixed GraphAStar not resetting the output path before fillinf it with results #UE4
#test golden path
Change 2966704 on 2016/05/04 by Michael.Noland
Rendering: Added triangle and draw call summaries to ProfileGPU output, broken up by asset and material
- This is controlled by r.ProfileGPU.PrintAssetSummary, which defaults to 1, but you really need r.ShowMaterialDrawEvents 1 enabled as well for a complete picture
- It can also output a summary line for speciifc asset names using a comma separated list in r.ProfileGPU.AssetSummaryCallOuts (e.g., "LOD,HeroName")
#tests Used ProfileGPU a number of times
Change 2966696 on 2016/05/04 by Michael.Noland
Engine: Embedded FPS chart preamble/postamble/row .html files into ChartCreation.cpp to permanently solve packaging woes
#tests Tested FPS charts in an uncooked and cooked build
#jira OR-19713
Change 2966336 on 2016/05/04 by Lukasz.Furman
fixed jungle minions unable to reach spawn locations when camp resets
#jira OR-20700
#tests jungle camp POC
Change 2965948 on 2016/05/04 by David.Ratti
Changes to how passive abilities activate
-Passives now continually try to activate by default rather than only on spawn
Support for Status.Immortal
-Prevents death, fies AbilityTriggerEvent.ImmortalProc when this happens.
-Clamps health to 1.
Fixed bug in muriel passive where ShieldHealthRegen would be left in the world where muriel died.
Fixed bunch of crap in GA_OnSpawn that was causing desync on client at start of match
#tests multi pie
Change 2965870 on 2016/05/04 by Ryan.Gerleve
Duplicated fix from Release-4.12 by marc.audy, CL 2960819:
Owned components are once again referenced by their Owning actor for GC purposes
#jira UE-29131
#tests golden path
Change 2965798 on 2016/05/04 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2965789
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2965796 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2965220 on 2016/05/03 by Dmitry.Rekman
Log instance id and system id (OR-20782).
- These ids get reported in multiple analytics events, having them logged is helpful for quickly mapping events to the log file.
#tests Compiled Linux server, ran on compatible client.
Change 2964907 on 2016/05/03 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 2964858
#RB:none
#Tests:none
Change 2964530 on 2016/05/03 by Laurent.Delayen
Renamed GetSlotRootMotionWeight to GetSlotNodeGlobalWeight and made it double buffered to it's safe to access anytime.
Added GetSlotMontageGlobalWeight() to get the Global Weight of a montage being played on a Slot. (Also double buffered).
Added GetInstanceMachineWeight() to get Global Weight of a State Machine in the AnimGraph. (Also double buffered)
Added FAnimInstanceProxy::GetStateMachineIndexAndDescription to avoid searching through the AnimNodeProperties twice.
#tests Chains full feature system in PIE.
Change 2964498 on 2016/05/03 by Frank.Fella
DecalComponent - Fix visibility so that it behaves like other scene components with regard to the editor visibility, component visibility, and actor hidden in game flags.
#RB Andrew Rodham
#TESTS Visibility for decals works like other scene components in the editor, and their visibility can now be animated properly by sequencer.
Change 2964428 on 2016/05/03 by Benn.Gallagher
Fixed stale clothing chunk/section references after container realloc in editor
#tests editor
Change 2964316 on 2016/05/03 by bruce.nesbit
Banner revisions
Banners now use components for various banner items
Banners can now be enabled when killing a hero.
#tests PIE+Game
Change 2964187 on 2016/05/03 by Jon.Lietz
Speeding up the tag count check in UAbilitySystemComponent::RegisterAndCallGameplayTagEvent()
- Remove the call to GetAggregatedStackCount and creating a FGameplayEffectQuery every time we call RegisterAndCallGameplayTagEvent
- Added GetTagCount to the UAbilitySystemComponent that will call GetTagCount on the GameplayTagCountContainer
#RB DanY
#tests JIP shadow pad still works.
Change 2964136 on 2016/05/03 by Laurent.Delayen
Fix crash while switching tabs using Persona.
#tests not crashing anymore.
Change 2964083 on 2016/05/03 by jason.bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 25.2 @ CL 2963929
[CodeReviewed]: andrew.grant
HTTP Manager has larger stack size (1024)
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2964080 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2963771 on 2016/05/02 by Nick.Atamas
Setting a desired size scale invalidates layout and volatility.
#test none
Change 2963555 on 2016/05/02 by Rob.Cannaday
Fix PS4 Orion players being able to whisper chat with non-Orion players
#jira OR-20626
#tests chat with launcher, fortnite
Change 2963387 on 2016/05/02 by Laurent.Delayen
Added GatherDebugData to FABRIK node.
#tests showdebug animation works on Chains now.
Change 2963331 on 2016/05/02 by Jon.Lietz
fixing compile error, dont need the clamp just the ternary on the EventType and pass down the tag count or 1.
#RB none
#tests compiles
Change 2963106 on 2016/05/02 by Rob.Cannaday
Increase HTTP thread's stack size to 128k
We discovered a stack overflow when the stack size was 64kb in LavasoftTcpService64.dll (Ad-Aware's Lavasoft Web Companion)
#tests log in
Change 2963047 on 2016/05/02 by Jon.Lietz
OR-20206 for JIP we need to call the bound function if we already have the tag on reconnect.
- adding a new function in UAbilitySystemComponent, RegisterAndCallGameplayTagEvent this will bind the passed in delegate and if the ability system has that tag already will execute the delegate.
#RB Dave.Ratti
#test shadow pad, slow, stun and root still trigger and trigger for JIP players.
Change 2962836 on 2016/05/02 by jason.bestimt
#ROBOMERGE-AUTHOR: andrew.grant
[NULL MERGE]
Duplicating 2961899 - Fix minimal code builds for Linux not overwriting files
[CodeReviewed] Ben.Marsh
#ROBOMERGE-SOURCE: CL 2962812 in //Orion/Release-0.24.2/... via CL 2962830 via CL 2962833 via CL 2962834 via CL 2962835
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2962570 on 2016/05/02 by Jason.Bestimt
#ORION_MAIN - Merge MAIN @ CL 2962544
#RB:none
#Tests:none
Change 2962552 on 2016/05/02 by Ben.Marsh
Avoid output of warnings containing the string "error:" (and causing the EC post processor to fail the build) if posting build info has a human-readable error message instead. Output should probably be changed to parse out/sanitize the actual failure message if it's meant to retry and succeed, but this will stop failures caused by multiple builds being posted with the same build version.
#tests none
Change 2962506 on 2016/05/02 by Ben.Marsh
Add a version string to identify a given build (FApp::GetBuildVersion()/BUILD_VERSION) which is distinct from the engine version. Defaults to <Escaped Branch Name>-CL-<Changelist>, but can be overriden by specifying a -Build=... argument to UpdateLocalVersion or the "Build" attribute to the SetVersion BuildGraph task.
#tests Preflighted Win64 client/server build (P:\Builds\Orion\++Orion+Dev-General-CL-2962228-PF-2945494-6398155-PF-2945494-6398155) and loaded into Agora. Checked that version strings appear correctly in generated executables.
Change 2962228 on 2016/04/30 by Dmitry.Rekman
Move processing HTTP requests into separate thread (OR-20723).
- First iteration of the implementation, pending implementing feedback.
- Adds a separate thread for CurlHttp where actual processing is performed.
- Coded by RobC, post-processed by me.
#tests Compiled Linux server and Windows client, ran them on compatible content, played a match.
Change 2961899 on 2016/04/29 by Ben.Marsh
BuildGraph: Fix minimal Linux server builds not overwriting the existing executables, by adding an "Overwrite" parameter into the staging task. Windows exe-only patches already happen to bypass this bug by deleting the Binaries/Win64 directory (designed to remove any configurations that weren't built this time), but could still fail if changes had been made to some other staged binaries.
#tests preflighted code-only build against DG CL 2960870 and compared output (P:\Builds\Orion\++Orion+Dev-General-CL-2961878-PF-2961895-6393603)
Change 2961587 on 2016/04/29 by Daniel.Lamb
Redirector doesn't fire callback if it fails to be loaded.
#test Cook orion.
Change 2961458 on 2016/04/29 by Wes.Hunt
Cooker Stats improvements. Also removed some old UBT telemetry that was not being used.
#tests many cooks of orion
Change 2961136 on 2016/04/29 by Daniel.Lamb
Readded caching of platform data into postload of materials.
#test Cook paragon.
[CL 2979220 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2909886 on 2016/03/15 by Matthew.Griffin
Adding a build exception to give a message instead of crashing when trying to generate all project files from an installed build.
Change 2911727 on 2016/03/16 by Matthew.Griffin
Added Platform Type and Architecture to Installed Platform Info
Reworked the different IsValid... functions to use lamdas to reduce duplicated code looping and checking receipts
Moved the code to write config file entries into InstalledPlatformInfo so that it can be reused by anyone wanting to make installed builds
Added temporary hack to write Android architecture until I can get it from build process
Change 2913692 on 2016/03/17 by Ben.Marsh
UAT: Move script to archive a build for UGS into a public folder.
Change 2915445 on 2016/03/18 by Ben.Marsh
UAT: Reduce the number of redundant log warnings/errors after a reported build failure, and simplify calls to ParallelExecutor which don't need retrying.
Change 2915450 on 2016/03/18 by Ben.Marsh
UAT: Suppress warning messages trying to kill child processes if the operation failed because it's already exited.
Change 2925830 on 2016/03/29 by Matthew.Griffin
Added new selective download tags
Added a test for whether installed platforms are missing required files so that we can try to open the launcher to the installer settings
Change 2926437 on 2016/03/29 by Ben.Marsh
PR #2210: Fix "Rebuild.bat" for paths with parentheses (Contributed by amcofi)
Change 2927399 on 2016/03/30 by Matthew.Griffin
Updating use of PDBCopy to look in VS2015 folder and fall back to VS2013 version if it doesn't exist.
Change 2933093 on 2016/04/05 by Ben.Marsh
PR #2232: Updated copyright text to 2016 (Contributed by erikbye)
Change 2936221 on 2016/04/07 by Matthew.Griffin
Adding checks on architecture for android config options
Change 2938021 on 2016/04/08 by Ben.Marsh
UAT: Prevent UnauthorizedAccessException when enumerating crash files on Mac from a restricted user account.
Change 2939332 on 2016/04/11 by Matthew.Griffin
Added AdditionalBundleResources to external file list so that they should be included in Launcher releases
Change 2939767 on 2016/04/11 by Ben.Marsh
BuildGraph: Add a -preprocess option, which will cause the preprocessed and culled graph out to an XML file for debugging.
Change 2941611 on 2016/04/12 by Ben.Marsh
UAT: Prevent warning about commands requiring P4 if -p4 is specified on the command line.
Change 2942037 on 2016/04/13 by Ben.Marsh
UBT: Only print 'Detailed Action Stats' message footer if there were any detailed action stats.
Change 2942640 on 2016/04/13 by Ben.Marsh
GUBP: Trigger GitHub promotions by triggering a new procedure rather than scanning for labels.
Change 2942728 on 2016/04/13 by Ben.Marsh
BuildGraph: Rename "AgentGroup" to "Agent" for consistency with XML.
Change 2942735 on 2016/04/13 by Ben.Marsh
BuildGraph: Few renames to match class names (Build.cs -> BuildGraph.cs, AgentGroup.cs -> Agent.cs)
Change 2943568 on 2016/04/14 by Ben.Marsh
EC: Print out the log folder at the start of each job.
Change 2944421 on 2016/04/14 by Ben.Marsh
EC: Add GitHub dashboard page which shows the current syncing state
#lockdown Nick.Penwarden
[CL 2944733 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2927181 on 2016/03/29 by Dmitry.Rekman
(Optionally) exclude idle time from server FPS charts.
- Time spent waiting for the next frame in order to hit capped FPS can be optionally excluded by using t.FPSChart.ExcludeIdleTime (set to 1 for servers).
- Server FPS charts analytics events and log output will include the information if idle time was excluded.
- Also: added a log line each time we detect a server hitch for easier pin-pointing them in the log.
#rb Paul.Moore
#codereview Paul.Moore, Michael.Noland
#tests Ran Linux server and Windows client on compatible content.
Change 2927084 on 2016/03/29 by Ben.Marsh
BuildGraph: Don't allow triggers to run until all their order dependencies are complete. Just because a downstream node doesn't have a dependency on an upstream node via temp storage doesn't mean it can run immediately.
#rb none
#tests none
Change 2927060 on 2016/03/29 by Michael.Noland
Renamed GPU analytics event from GPU to DesktopGPU to reflect that it is the default desktop adapter and not the one we initialized (which is GPUAdapter)
Updated text/log based FPS chart events to print out GPUAdapter instead (with DesktopGPU in parens if they differ, e.g., in an optimus setup)
#rb marcus.wassmer
#tests Ran and did some fps charts
Change 2927048 on 2016/03/29 by Michael.Noland
HLOD: Removed an unused cvar r.HLODEnabled (everything is done thru r.HLOD)
#tests Compiled and ran Paragon
#rb marcus.wassmer
Change 2926920 on 2016/03/29 by Ben.Marsh
BuildGraph: Update schema with Rename task.
Change 2926911 on 2016/03/29 by Ben.Marsh
BuildGraph: Add a task which can rename files matching a given wildcard. Syntax is: <Rename Files="*.txt" To="*.md"> or <Rename Files="Engine/Build/..." From="*.txt" To="*.md"/>
#rb none
#tests none
Change 2926908 on 2016/03/29 by Andrew.Grant
Fix for CDO properties of renamed blueprints not being applied
#rb none
#tests loaded Origin map (renamed from Playgo3) and verified properties are applied.
Change 2926799 on 2016/03/29 by Jason.Bestimt
#ORION_DG - Merge MAIN (23) @ CL# 2926780
#RB:none
#Tests:none
Change 2926663 on 2016/03/29 by david.nikdel
#ROBOMERGE-OBO: jason.bestimt
#ROBOMERGE-SOURCE: CL 2926660 in //Orion/Release-0.23/... via CL 2926662
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#ORION_23 - Potential fix for Cook failures
"Fix shelved in 2926635, tested in Dev-Blueprints. Could not run any GEditor related logic safely in ShutdownModule because of the same destruction issue orders that caused the bug in the first place. I will chat with Editor team about nulling out GEditor the same way we null out GUnrealEd."
#RB:none
#Tests: none
[CodeReviewed]: andrew.grant, dan.oconnor
Change 2926510 on 2016/03/29 by Andrew.Grant
Potential fix for OR-18207 - editor becomes unresponsive (audio deadlock)
#rb none
#tests compiled
Change 2926495 on 2016/03/29 by Rob.Cannaday
Change storing HTTP requests as raw pointers to weak pointers with validity being checked via Pinning it
#jira FORT-18947
#jira OR-17695
#tests golden path
#rb eric.newman
Change 2926427 on 2016/03/29 by Josh.Markiewicz
#UE4 - fixed typo
#rb none
#tests none
Change 2926250 on 2016/03/29 by Martin.Mittring
fixed OR-18489 HERO: IGGY: RMB on E ability causes blinding hair effect
#rb:Chris.Bunner
#codereview:Brian.Karis
Change 2926224 on 2016/03/29 by Daniel.Lamb
Fix for potenital threading issue with Console manager removing vars which could cause double free.
#rb Robert.Manuszewski
#test Orion cook
Change 2926174 on 2016/03/29 by Gareth.Martin
Cloned fix for bUseMaterialPositionOffsetInStaticLighting crashing across from //UE4/Dev-Landscape/ to unblock people
#rb
#tests editor
Change 2925968 on 2016/03/29 by David.Nikdel
#MCP #OSS
- Read RedirectUrl from ini
#RB: Eric.Newman
#TESTS: compiled in another branch (merge over)
#ROBOMERGE: Main
[CL 2929424 by Andrew Grant in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
#lockdown Nick.Penwarden
Change 2903938 on 2016/03/10 by Frank.Gigliotti
Added an instance ID to FAnimMontageInstance
#CodeReview Laurent.Delayen
#RB Laurent.Delayen
#Tests PIE
Change 2903745 on 2016/03/10 by Wes.Hunt
Update Oodle TPS
#rb none
#tests none
#codereview:john.pollard
Change 2903689 on 2016/03/10 by Uriel.Doyon
New "LogHeroMaterials" console command, displaying the current state of materials and textures on the character hero.
#rb marcus.wasmer
#codereview marcus.wassmer
#tests editor, playing PC games, trying the new command
Change 2903669 on 2016/03/10 by Aaron.McLeran
OR-17180 Make stat soundcues and stat soundwaves NOT display zero volume sounds
- Change only effects debug stat commands for audio guys
#rb none
#tests played paragon with new debug stat commands, confirms doesn't show zero-volume sounds
Change 2903625 on 2016/03/10 by John.Pollard
XB1 Oodle SDK
#rb none
#tests none
#codereview Jeff.Campeau
Change 2903577 on 2016/03/10 by Ben.Marsh
Remaking latest build scripts from //UE4/Main @ 2900980.
Change 2903560 on 2016/03/10 by Ben.Marsh
Initial version of BuildGraph scripts - used to create build processes in UE4 which can be run locally or in parallel across a build farm (assuming synchronization and resource allocation implemented by a separate system). Intended to supersede GUBP.
Build graphs are declared using an XML script using syntax similar to MSBuild, ANT or NAnt, and consist of the following components:
* Tasks: Building blocks which can be executed as part of the build process. Many predefined tasks are provided (<Cook>, <Compile>, <Copy>, <Stage>, <Log>, <PakFile>, etc...), and additional tasks may be added be declaring classes derived from AutomationTool.CustomTask in other UAT modules.
* Nodes: A named sequence of tasks which is executed to produce outputs. Nodes may have input dependencies on other nodes before they can be executed. Declared with the <Node> element in scripts.
* Agent Groups: A set of nodes nodes which is executed on the same machine if running as part of a build system. Has no effect when building locally. Declared with the <Group> element in scripts.
* Triggers: Container for groups which should only be executed when explicitly triggered (using the -Trigger=<Name> or -SkipTriggers command line argument). Declared with the <Trigger> element in scripts.
* Notifiers: Specifies email recipients for failures in one or more nodes, whether they should receive notifications on warnings, and so on.
Properties can be passed in to a script on the command line, or set procedurally with the <Property Name="Foo" Value="Bar"/> syntax. Properties referenced with the $(Property Name) notation are valid within all strings, and will be expanded as macros when the script is read. If a property name is not set explicitly, it defaults to the contents of an environment variable with the same name.
Local properties, which only affect the scope of the containing XML element (node, group, etc...) are declared with the <Local Name="Foo" Value="Bar"/> element, and will override a similarly named global property for the local property's scope.
Any elements can be conditionally defined via the "If" attribute, and are largely identical to MSBuild conditions. Literals in conditions may be quoted with single (') or double (") quotes, or an unquoted sequence of letters, digits and underscore characters. All literals are considered identical regardless of how they are declared, and are considered case-insensitive for comparisons (so true equals 'True', equals "TRUE"). Available operators are "==", "!=", "And", "Or", "!", "(...)", "Exists(...)" and "HasTrailingSlash(...)". A full grammar is written up in Condition.cs.
File manipulation is done using wildcards and tags. Any attribute that accepts a list of files may consist of: a Perforce-style wildcard (matching any number of "...", "*" and "?" patterns in any location), a full path name, or a reference to a tagged collection of files, denoted by prefixing with a '#' character. Files may be added to a tag set using the <Tag> Task, which also allows performing set union/difference style operations. Each node can declare multiple outputs in the form of a list of named tags, which other nodes can then depend on.
Build graphs may be executed in parallel as part build system. To do so, the initial graph configuration is generated by running with the -Export=<Filename> argument (producing a JSON file listing the nodes and dependencies to execute). Each participating agent should be synced to the same changelist, and UAT should be re-run with the appropriate -Node=<Name> argument. Outputs from different nodes are transferred between agents via shared storage, typically a network share, the path to which can be specified on the command line using the -SharedStorageDir=<Path> argument. Note that the allocation of machines, and coordination between them, is assumed to be managed by an external system.
A schema for the known set of tasks can be generated by running UAT with the "-Schema=<FileName>" option. Generating a schema and referencing it from a BuildGraph script allows Visual Studio to validate and auto-complete elements as you type.
#rb none
#codereview Marc.Audy, Wes.Hunt, Matthew.Griffin, Richard.Fawcett
#tests local only so far, but not part of any build process yet
Change 2903539 on 2016/03/10 by John.Pollard
Improve replay playback debugging of character movement
#rb none
#tests replays
Change 2903526 on 2016/03/10 by Ben.Marsh
Remake changes from //UE4/Main without integration history, to add support for BuildGraph tasks.
#rb none
#tests none
Change 2903512 on 2016/03/10 by Dan.Youhon
Modify minimum Duration values for JumpForce and MoveToForce ability tasks so that having minimum Duration values doesn't trigger check()s
#rb None
#tests Compiles
Change 2903474 on 2016/03/10 by Marc.Audy
Fix crash if ChildActor is null
#rb None
#tests None
Change 2903314 on 2016/03/10 by Marc.Audy
Fix ParentComponent not being persisted and fixup content that was saved in the window it was broken
#rb James.Golding
#tests Selection of child actors works as expected
#jira UE-28201
Change 2903298 on 2016/03/10 by Simon.Tovey
Disabling the trails optimization.
#tests none
#rb none
#codereview Olaf.Piesche
Change 2903124 on 2016/03/10 by Robert.Manuszewski
Small refactor to pak signing to help with exe protection
#rb none
#tests none
[CL 2907678 by Andrew Grant in Main branch]