#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3152124 on 2016/10/05 by Jamie.Dale
Fixed SOutputLog filter not handling OnTextCommitted
Change 3152255 on 2016/10/05 by Michael.Dupuis
#jira UE-28173 Support \" properly in FName
Change 3152273 on 2016/10/05 by Nick.Darnell
Core - The module manager is now thread safer, we had a critical section around the internal module list - but we were incrementing/decrementing shared pointers to module data shared pointers that were not thread safe outside of the critical section. Ran into a crash working on some heavily threaded code in automation.
Change 3152314 on 2016/10/05 by Nick.Darnell
Automation - Continued work to rough out the automation workflow for screenshot. Still lots of work remaining, but it appears the basic of approving images might be working as of this CL.
Change 3152316 on 2016/10/05 by Michael.Dupuis
#jira UE-30346 Update selection when in tree view mode
Change 3152317 on 2016/10/05 by Nick.Darnell
Automation - Adding some test shots to compare against to EngineTest for screenshot approval.
Change 3152319 on 2016/10/05 by Michael.Dupuis
#jira UE-29817 StringAssetReference will now only open an Asset picker (not actor picker) as the goal is to reference an asset
Change 3152521 on 2016/10/05 by Nick.Darnell
Automation - Fixing some issues with where it reads the screenshot compare rules.
Change 3152536 on 2016/10/05 by Alexis.Matte
Fix FBX automation test.
- Make sure the fbx test can avoid automatic detection of the mesh type
- Avoid to log the warning when the importer set the material usage after creating a material for skeletalmesh.
Change 3152572 on 2016/10/05 by Nick.Darnell
Automation - The GameProjectAutomationTests now do some pre-run house cleaning to make sure the project doesn't already exist, and tries to remove it if it was created previously but not deleted.
Change 3152591 on 2016/10/05 by Nick.Darnell
Automation - Changing the game project errors to be errors.
Change 3153115 on 2016/10/06 by Jamie.Dale
Removed superflous padding when SPropertyEditorAsset had no buttons
Change 3153215 on 2016/10/06 by Michael.Dupuis
Fixed build warning
Change 3153248 on 2016/10/06 by Nick.Darnell
Automation - Working on solving projects not being generated, suspect UBT isn't built or isn't available.
Change 3153255 on 2016/10/06 by Nick.Darnell
PR #2835: Fix TestEqual AddError Message in FAutomationTestBase (Contributed by dorgonman)
#jira UE-36922
Change 3153300 on 2016/10/06 by Nick.Darnell
Automation - Enabled verbose logging to automation build farm.
Change 3153343 on 2016/10/06 by Matt.Kuhlenschmidt
PR #2825: More project launcher progress improvements (Contributed by projectgheist)
Change 3153506 on 2016/10/06 by Gareth.Martin
Fixed crash trying to edit landscape with r.LightPropagationVolume=1 enabled
#jira UE-36933
Change 3153752 on 2016/10/06 by tim.gautier
Add toggle button to UMG_Behavior. Set Level Blueprint for TM-UMG to AllWidget
Change 3153763 on 2016/10/06 by Nick.Darnell
Automation - Disable verbose logging.
Change 3153778 on 2016/10/06 by Nick.Darnell
PR #2837: Fixed engine compilation with defined LOG_SLATE_EVENTS (Contributed by Pierdek)
#jira UE-36940
Change 3153943 on 2016/10/06 by Nick.Darnell
Automation - Disabling some broken tests.
Change 3154035 on 2016/10/06 by Nick.Darnell
Automation - Fixing re-runs for tests that want them. Previously this wasn't working for any test that was run using the Reprostring method of being executed.
Change 3154039 on 2016/10/06 by Nick.Darnell
Automation - Updating some test assets in the EngineTest project.
Change 3154476 on 2016/10/07 by Richard.TalbotWatkin
Fix to regression where vertex color view in Mesh Paint Mode no longer worked correctly. We now allow selected static meshes to go down the dynamic path if VertexColors show mode is active.
#jira UE-36772 - Selecting a channel in Vertex Paint mode does not show the channel color
Change 3154650 on 2016/10/07 by Alexis.Matte
Add new front axis facing X option to fbx importer
Change 3154785 on 2016/10/07 by Nick.Darnell
Automation - Continued work on automation, ripping out the message bus from the screenshot manager, that's causing the screenshot manager to recieve shots from every machine ever running tests. The Automation Controller is now in charge, and will tell the screenshot manager whatever it needs.
Change 3155131 on 2016/10/07 by Michael.Dupuis
#jira UE-36509 Do not disabled inverse filter when doing a sync to asset
Change 3155141 on 2016/10/07 by Michael.Dupuis
#jira UE-36056 Do not open the Actor Picker if we're working on an archetype object
Change 3155262 on 2016/10/07 by Michael.Dupuis
#jira UE-19737 reset ctrl key when resetting state to None
Change 3156326 on 2016/10/09 by Matt.Kuhlenschmidt
Fixed crash when asset picker is used without a property editor (usually a heavily customized property).
Change 3156473 on 2016/10/10 by Richard.TalbotWatkin
Attempt to make geometry render / rebuild more robust in the hope of catching UE-36265.
#jira UE-36265 - [CrashReport] UE4Editor_Engine!FModelSceneProxy::HasSelectedSurfaces() [modelrender.cpp:538]
Change 3156479 on 2016/10/10 by Richard.TalbotWatkin
Fixed non-editor build.
Change 3156579 on 2016/10/10 by Alexis.Matte
Add a check to make sure curve pointer is valid.
#jira UE-36177
Change 3156585 on 2016/10/10 by Ben.Marsh
Fix line endings for screenshot settings.
Change 3156617 on 2016/10/10 by Matt.Kuhlenschmidt
Disable per-pixel blending of menus by default. Causes artifacts on windows versions and we are not using it.
Change 3156674 on 2016/10/10 by Nick.Darnell
Automation - Continued work on the automation workflow. Now screenshot functional test actors actually have the screenshot processed for differences during the test back on the test controller machine, and then waits for the results of the comparison to be performed.
Change 3156709 on 2016/10/10 by Alexis.Matte
#jira UE-16337
Make sure the base mesh import data transform is used when we import a LOD.
Change 3156714 on 2016/10/10 by Nick.Darnell
Automation - Fixing -game crash due to TestName being null in functional test.
Change 3156721 on 2016/10/10 by Nick.Darnell
Automation - FunctionalAITest now implements IsReady to check if the navigation mesh has finished being built.
Change 3156748 on 2016/10/10 by Nick.Darnell
Autopmation - Fixing a warning.
Change 3156943 on 2016/10/10 by Alex.Delesky
Fixed an issue where closing out the "Add Code" window with an active toast stating that an IDE was downloading would prevent the toast from clearing correctly.
#jira none
Change 3156946 on 2016/10/10 by Alex.Delesky
#jira UE-36414 - Adding support for the P4Changelist command line argument to the P4 operations that were missing it.
Change 3158215 on 2016/10/11 by Nick.Darnell
Automation - Continued work on the screenshot comparison, fixed a crash, the system now reports if the screenshot was new, as well as similar, so that the script can react and warn when new screenshots are produced. Manually fired screenshots now properly wait until they've been compared before the test moves forward.
Change 3158322 on 2016/10/11 by Michael.Dupuis
#jira UE-36063 If the collection is not shown when trying to save one, force show them so the user understand what is going on
Change 3158333 on 2016/10/11 by Alex.Delesky
#jira UE-36829 - Rebuilt SVN 1.9.4 libs for Windows with CyrusSASL 2.1.26 and SWIG 3.0.10 support.
Change 3158399 on 2016/10/11 by Nick.Darnell
Automation - TTF Font log statements that were not warnings are no longer warnings.
Change 3158406 on 2016/10/11 by Nick.Darnell
Automation - Updating some automation scripts in the engnine that were using file paths to now use FStringAssetReferences, that cleaned up a lot of nasty convert filepath to asset reference code in the tests. Also introducing some maps, and setting up the configs to use them to try and appease some of the existing tests that were expecting them.
Change 3158419 on 2016/10/11 by Alex.Delesky
#jira UE-36829 - SVN 1.9.4 libraries, but also with Java 8u101 support.
Change 3158537 on 2016/10/11 by Nick.Darnell
Automation - Updating some automation scripts in the engnine that were using file paths to now use FStringAssetReferences, that cleaned up a lot of nasty convert filepath to asset reference code in the tests. Also introducing some maps, and setting up the configs to use them to try and appease some of the existing tests that were expecting them.
Adding some missing files.
Change 3158726 on 2016/10/11 by Michael.Dupuis
#jira UE-37001 Perform manual migration of UICurve to proper config category
Change 3158728 on 2016/10/11 by Nick.Darnell
Automation - Fixing some warnings. Adding more testing to the Domino map to serve as a better example.
Change 3158753 on 2016/10/11 by Michael.Dupuis
#jira UE-26261 change it's by its
Change 3158984 on 2016/10/11 by Alexis.Matte
Fix D&D folder import in content browser. We have to expand the root directory to have the correct path.
#jira UE-32155
Change 3159640 on 2016/10/12 by Jamie.Dale
Split localized package redirection out of FCoreDelegates::PackageNameResolvers
They're different enough in behavior that the delegate resolution was breaking the localized package resolution by resolving in too many places and causing the localized package to be loaded with its real localized name as well as the fake non-localized name.
#jira UE-37119
Change 3159741 on 2016/10/12 by Nick.Darnell
Slate - Fixing the SGraphPanel's mouse offset calculations so that it works with HDPI mode.
Change 3159762 on 2016/10/12 by Nick.Darnell
Automation - Adding a way to take a screenshot with the UI, not great yet - it doesn't really obey the rules of resolution, because of the method it uses.
Change 3160210 on 2016/10/12 by Gareth.Martin
Fixed crash when changing Landscape LOD while using "Grass use Landscape Lightmap"
Change 3160216 on 2016/10/12 by Gareth.Martin
Removed unused FLandscapeComponentSceneProxy::LayerNames and made LayerColors editor-only
Fixed negative LODBias on landscape components to actually do anything
Change 3160239 on 2016/10/12 by Gareth.Martin
Removed an unused variable
Change 3160455 on 2016/10/12 by Jamie.Dale
Fixed FText properties exported to asset tags displaying in their NSLOCTEXT form in the asset tooltips
Change 3160457 on 2016/10/12 by Jamie.Dale
Localization automation now groups everything into a single CL and reverts PO files without significant changes
Change 3160554 on 2016/10/12 by Nick.Darnell
UMG - Fixing some panning logic to work with HDPI mode in the designer.
Change 3161712 on 2016/10/13 by Jamie.Dale
Fixed TSharedMapView using hard-coded types
Change 3163044 on 2016/10/14 by Jamie.Dale
Fixed line-break iterators incorrectly breaking words in CJK
Change 3163046 on 2016/10/14 by Jamie.Dale
Text layout no longer creates break candidates when wrapping is disabled
Change 3163217 on 2016/10/14 by Jamie.Dale
Fixed ensure caused by FMediaTextureResource::GetResourceSizeEx
Change 3163641 on 2016/10/14 by Alex.Delesky
#jira UE-36829 - Updated Mac SVN libraries, along with a more accurate changelog for Windows SVN libs
Change 3164428 on 2016/10/17 by Nick.Darnell
Slate - Making the FReply for SetMousePos easier to debug, since that option is potentially very frustrating to debug when someone is changing it.
Change 3164833 on 2016/10/17 by Jamie.Dale
Fixed ParseNumber consuming strings with multiple sequential dots as valid numbers, eg) "10..."
Change 3164868 on 2016/10/17 by Alexis.Matte
Remove re-import material and LOD import material
#jira UE-36640
Change 3164874 on 2016/10/17 by Alexis.Matte
Fix fbx scene re-import of staticmesh loosing there materials
#jira UE-37032
Change 3165080 on 2016/10/17 by Alexis.Matte
Remove skinxx workflow for static mesh
#jira UE-37262
Change 3165232 on 2016/10/17 by Nick.Darnell
Automation - Adding some sub-level testing.
Change 3165822 on 2016/10/18 by Nick.Darnell
Slate - Add a counter to track how much time we spend drawing custom verts each frame.
Change 3165934 on 2016/10/18 by Nick.Darnell
Slate - Addding cycle counters to SInvalidationPanel's Tick and Paint.
Change 3165947 on 2016/10/18 by Nick.Darnell
Slate - Addding very verbose slate stats behind a compiler flag to avoid the large overhead of these stats. To enable them you'll need to set WITH_VERY_VERBOSE_SLATE_STATS to 1, added a guide on debugging slate performance to the SlateGlobals.h
// HOW TO GET AN IN-DEPTH PERFORMANCE ANALYSIS OF SLATE
//
// Step 1)
// Set WITH_VERY_VERBOSE_SLATE_STATS to 1.
//
// Step 2)
// When running the game (outside of the editor), run these commandline options
// in order and you'll get a large dump of where all the time is going in Slate.
//
// stat group enable slateverbose
// stat group enable slateveryverbose
// stat dumpave -root=stat_slate -num=120 -ms=0
Change 3165962 on 2016/10/18 by Nick.Darnell
UMG - Play first frame of sequence in UMG immediately when told to play an animation.
Change 3165981 on 2016/10/18 by Nick.Darnell
Core - GetDisplayNameText now stores the FName for DisplayName in a static instead of using TEXT("DisplayName").
Change 3166000 on 2016/10/18 by Jamie.Dale
Removed bulk-data from fonts
The main complaints about composite fonts have always been:
1) They use too much memory at runtime.
2) They bloat if you use the same font face twice.
3) They often break when used outside the game thread.
This change aims to address all of these issues by removing bulk-data from fonts (which was the cause of the memory bloat and threading issues), and introduces UFontFace assets (which allow you to re-use the same font face in different entries within a composite font).
No existing font data is lost during this transition, however you must manually update your UFont assets to reference external UFontFace assets before you're able to edit the existing data (which is automatically upgraded to UFontFace assets *within* the UFont package). This upgrade can be done via the composite font editor.
During cook these UFontFace assets write out the actual TTF/OTF font data as a .ufont file, which is what FreeType actually loads at runtime (the internals of the Slate font cache are now completely independent of UObjects and their lifetimes and loading concerns).
Since we're now always loading files from disk, we can also give the user an option of whether to "pre-load" (which will load the entire font into memory, like bulk-data always used to), or "stream" the font from disk (which has minimal memory overhead, but needs decent I/O performance).
Change 3166001 on 2016/10/18 by Jamie.Dale
Updated the Launcher to no longer use bulk-data for fonts
Change 3166003 on 2016/10/18 by Jamie.Dale
Updated the Engine fonts to use UFontFace assets
Change 3166028 on 2016/10/18 by Alex.Delesky
#jira UE-37021 - The scrollbar will now remain at the bottom of the output log after specifying a filter.
Change 3166071 on 2016/10/18 by Nick.Darnell
Slate - Fixing a warning about hiding an inherited member.
Change 3166213 on 2016/10/18 by Jamie.Dale
Fixing crash caused by accessing a zeroed FText
Change 3166222 on 2016/10/18 by Nick.Darnell
Automation - Adding some code to end the sub level test when it starts.
Change 3166231 on 2016/10/18 by Nick.Darnell
Editor - Fixing the build warning, SOutputLog.cpp:748:4: warning: field 'TextLayout' will be initialized after field 'CachedNumMessages'
Change 3166717 on 2016/10/18 by Nick.Darnell
Automation - Removing references to old options that are no longer file paths, and are now StringAssetReferences these options were not being used by anyone as far as I can tell.
#jira UE-37482
Change 3167279 on 2016/10/19 by Jamie.Dale
Fixed text render component regression with custom MIDs
#jira UE-37305
Change 3167356 on 2016/10/19 by Alexis.Matte
Make sure the old asset are build correctly
#jira UE-37461
Change 3167359 on 2016/10/19 by Alexis.Matte
Fix re-import of mesh material assignment regression
#jira UE-37479
[CL 3168049 by Matt Kuhlenschmidt in Main branch]
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2945310 on 2016/04/15 by Jon.Nabozny
Fix UI locking Angular Rotation Offset for PhysicsConstraintComponents when the motion is for axes is Free or Locked.
#JIRA UE-29368
Change 2945490 on 2016/04/15 by Jon.Nabozny
Remove extraneous changes introduced in CL-2945310.
Change 2946706 on 2016/04/18 by James.Golding
Checkin of slice test assets
Change 2947895 on 2016/04/19 by Benn.Gallagher
PR #2292: Use ref instead of copy in FAnimNode_ModifyBone::EvaluateBoneTransforms (Contributed by MiKom)
#jira UE-29567
Change 2947944 on 2016/04/19 by Benn.Gallagher
Fixed a few extra needless bone container copies
Change 2948279 on 2016/04/19 by Marc.Audy
Add well defined Map and Set Property names
Change 2948280 on 2016/04/19 by Marc.Audy
Properly name parameters
Change 2948792 on 2016/04/19 by Marc.Audy
Remove unused ini class name settings
Change 2948917 on 2016/04/19 by Aaron.McLeran
UE-29654 FadeIn invalidates Audio Components in 4.11
Change 2949567 on 2016/04/20 by James.Golding
- Add SliceProceduralMesh utility to UKismetProceduralMeshLibrary. It will slice the ProcMeshComp with a plan, including simple collision geom, and optionally create cap geometry, and create an addition ProceduralMeshComponent for the other half
- Add support for simple collision on ProceduralMeshComponent, and added bUseComplexAsSimpleCollision to allow it to be used
- Move GeomTools.h and .cpp from Editor to Engine module, so it can be used at runtime. Also move utils into an FGeomTools namespace.
- Add GetSectionFromStaticMesh and CopyProceduralMeshFromStaticMeshComponent utilities to UKismetProceduralMeshLibrary
- Expose UStaticMesh::GetNumLODs to BP, and add BP exposed UStaticMesh:: GetNumSections function
Change 2950482 on 2016/04/20 by Aaron.McLeran
FORT-22973 SoundMix Fade Time not fading audio properly
- Bug was due to bApplyToChildren case where the FSoundClassAdjuster wasn't getting the interpolated value before calling RecursiveApplyAdjuster in the case of non-overriden sound mixes.
Change 2951102 on 2016/04/21 by Thomas.Sarkanen
Un-deprecated blueprint functions for attachment/detachment
Renamed functions to <FuncName> (Deprecated).
Hid functions in the BP context menu so new ones cant be added.
#jira UE-23216 - "Snap to Target, Keep World Scale" when attaching doesn't work properly if parent is scaled.
Change 2951173 on 2016/04/21 by James.Golding
Fix cap geom generation when more than one polygon is generated
Fix CIS warning in KismetProceduralMeshLibrary.cpp
Change 2951334 on 2016/04/21 by Osman.Tsjardiwal
Add CapMaterial param to SliceProceduralMesh util
Change 2951528 on 2016/04/21 by Marc.Audy
Fix spelling errors in comments
Change 2952933 on 2016/04/22 by Lukasz.Furman
fixed behavior tree getting stuck on instantly finished gameplay tasks
copy of CL# 2952930
Change 2953948 on 2016/04/24 by James.Golding
Put #if WITH_EDITOR back into FPoly::Triangulate to fix non-editor builds (FPoly::Finalize not available in non-editor)
Change 2954558 on 2016/04/25 by Marc.Audy
Make USceneComponent::Attach* members private and remove deprecation messages and pragmas disabling/enabling deprecation throughout SceneComponent.h/cpp
#jira UE-29038
Change 2954865 on 2016/04/25 by Aaron.McLeran
UE-29763 Use HMD audio device only in VR preview mode, not for other PIE session types.
Change 2955009 on 2016/04/25 by Zak.Middleton
#ue4 - Wrap call from UCharacterMovementComponent::PostPhysicsTickComponent() to UpdateBasedMovement() in a FScopedMovementUpdate to accumulate moves with better perf.
Change 2955878 on 2016/04/26 by Benn.Gallagher
[Epic Friday] - Added spherical constraints to anim dynamics
Change 2956380 on 2016/04/26 by Lina.Halper
PR #2298: Step interpolation for UAnimSequence (Contributed by douglaslassance)
Change 2956383 on 2016/04/26 by Lina.Halper
Fixed to match coding standard
Change 2957866 on 2016/04/27 by Zak.Middleton
#ue4 - Add max depenetration distance settings for CharacterMovementComponent. Add controls to throttle logging when character is stuck in geometry so it doesn't spam the log.
- Depenetration settings are separated based on whether overlapping a Pawn versus other geometry, and furthermore by whether the Character is a proxy or not. Simulated proxies typically should not depenetrate a large amount because that effectively ignores the server authoritative location update.
- "Stuck" logging is controlled by the console var "p.CharacterStuckWarningPeriod". Set to number of seconds between logged events, or less than zero to disable logging.
#tests QA-Surfaces multiplayer, walking in to moving objects and pawns.
Change 2957953 on 2016/04/27 by Aaron.McLeran
UE-30018 Fixing up audio component ref-counting to prevent triggering notifications when an audio component is still active after a sound finishes playing.
Change 2958011 on 2016/04/27 by Jon.Nabozny
CalcAABB wasn't properly accounting for current transform on Convex elements, causing bad results.
#JIRA UE-29525
Change 2958321 on 2016/04/27 by Lukasz.Furman
path following update pass, added flags to request result, fixed AITask stacking vs scripted/BP move requests
Change 2959506 on 2016/04/28 by Aaron.McLeran
PR #2330: Fix for ambient sounds not stopping when active and told to play again (Contributed by hgamiel)
Change 2959686 on 2016/04/28 by Marc.Audy
Correctly handle multiple viewpoints when significance is being sorted descending
Change 2959773 on 2016/04/28 by Marc.Audy
Fix shadowing warning
Change 2959785 on 2016/04/28 by Aaron.McLeran
UE-30083 Sound concatenator node doesn't progress if child nodes don't produce wave instances
Change 2960852 on 2016/04/29 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2960738
Change 2960946 on 2016/04/29 by Marc.Audy
Fix post merge compile error
Change 2962501 on 2016/05/02 by Marc.Audy
Remove interim GetMutableAttach accessors and use the variables directly now that they are private
Change 2962535 on 2016/05/02 by Marc.Audy
Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 2962478
Change 2962578 on 2016/05/02 by Marc.Audy
Switch ObjectGraphMove to using UserFlags instead of custom move data
Change 2962651 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2962662 on 2016/05/02 by Lukasz.Furman
deprecated old implementation of gameplay debugger
#jira UE-30011
Change 2962919 on 2016/05/02 by Marc.Audy
VS2015 shadow variable fixes
Change 2963475 on 2016/05/02 by Mieszko.Zielinski
Made SimpleMoveToLocation/Actor not reset velocity if agent not already at goal #UE4
#jira UE-30176
Change 2964098 on 2016/05/03 by Marc.Audy
Spelling fix
Change 2964099 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964156 on 2016/05/03 by Marc.Audy
VS2015 shadow variable fixes
Change 2964272 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable fixes
Change 2964395 on 2016/05/03 by Marc.Audy
VS2015 Shadow Variable Fixes
Change 2964460 on 2016/05/03 by Marc.Audy
Reschedule coolingdown tick functions during pause frames.
#jira UE-30221
Change 2964666 on 2016/05/03 by Marc.Audy
Fix shipping compile error
[CL 2964775 by Marc Audy 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]
UE-16078 - Crash hovering over texture reference in material
A lot of asset editors were overriding GetToolkitName to implement custom logic (sometimes because the default logic would cause a crash), and these asset editors now also need to override GetToolkitToolTipText too.
[CL 2564832 by Jamie Dale in Main branch]
- When saving, if source control is disabled, try write the file anyway.
- Remove the blank icons from the tabs, at least until we get proper icons.
[CL 2482858 by Joe Conley in Main branch]
- Can now start the translation picker from the main Window menu in the editor
- Disable "save" button for text that we can't find the manifest/archive data for
- Hover window now presents the information about an FText in a more readable format
- Fixed issue where the same FText info was not displayed twice in certain cases
[CL 2452676 by Joe Conley in Main branch]
UETOOL-213 - Minimize Slate FString -> FText conversion (remove SLATE_TEXT_ATTRIBUTE)
This fixes any editor/engine specific code that was passing text to Slate as FString rather than FText.
[CL 2401019 by Jamie Dale in Main branch]
- Translation picker mode that allows you to click on text in the Editor UI and translate it in place
- No longer loads history on startup, can press the "Get History" button in the History tab to retrieve history on demand
[CL 2363086 by Joe Conley in Main branch]
Slate now has the concept of composite fonts and font families (via FCompositeFont and FTypeface). A composite font is a font that contains a default font family, as well as any number of sub-font families which should be used for a given set of character ranges. This change will greatly improve the localization support for fonts.
UFont assets can now use two forms of caching "offline" (which is the way they have always worked historically), and "runtime" (which utilizes the Slate font cache to cache glyphs on demand). These runtime cached UFont assets are now the only way to specify which font to use for a UMG widget, and address the previous issues about ensuring that the required font files were staged for your game.
The Slate font cache now works on FFontData instances, rather than filenames. This allows the UFont asset to embed a blob of TTF or OTF font data inside it, rather than require the fonts be loaded from files on disk.
The Canvas text renderer has been updated to support runtime cached UFont assets. This gives our legacy Canvas based tools the same improved font localization support as the rest of the Slate-based editor UI.
UFont asset creation has been changed to use runtime caching by default, and additionally, you can now import a TTF or OTF file via the Content Browser and it will automatically create a UFont asset. If you still want an offline cached UFont asset, you can just change the cache type in the font editor, and the usual font picker dialog will appear and allow you to generate a font texture atlas.
[CL 2342203 by Jamie Dale in Main branch]
* Moved Slate.h into SlateBasics.h and began shifting less commonly used headers into SlateExtras.h.
* Slate.h now simply includes SlateBasics.h and SlateExtras.h.
* Slate.h includes a deprecated warning now to indicate that SlateBasics.h + specific includes should be used instead.
* Moved dozens of inlined functions using Slate widgets into .cpp files to avoid header dependencies.
* All code samples now include SlateBasics.h and SlateExtras.h so future shifts will not break most those projects, but not trigger the deprecation warning of including Slate.h.
#BUN
[CL 2329610 by Wes Hunt in Main branch]
- Window menu is now sectioned and labeled based on the current editor. There's now a local workspace root member in FTabManager and a workspace category in FAssetEditorToolkit (both are FWorkspaceItem objects). Individual editors attach their local category to the tab manager's local root. Workflow app modes have their own category members that are swapped out when the mode changes.
- Finally, the AssetEditorCategory of FWorkspaceMenuStructure has been removed entirely.
- Replaced the AddMenuSeparator() call in FTabManager::PopulateSpawnerMenu_Helper() with a section of the same title as the workspace category.
- Tab spawner menu entries for the local editor now properly show the icon of the associated tab. To accomplish this it was necessary to change FWorkflowTabFactory::TabIcon to be an FSlateIcon instead of an FSlateBrush*. All factory instances have been updated accordingly.
- Added & updated lots of icons! (those missing will be TTP'd)
- The nomad tab spawner section (named "General" in the menu) has been largely compressed into the Developer Tools submenu, which has also been organized into sections for readability.
- Unreal frontend options were also moved into a context menu within the General section
- Moved all experimental tools to their own section of the Window menu. When they're no longer experimental they should register as nomads in the appropriate category
- Undo history now under Edit menu
[CL 2324285 by Dan Hertzka in Main branch]
Changed SourcePath for the temp InternationalizationExport.ini to be ./Content/... instead of ../../../Engine/Content/...
[CL 2284412 by Joe Conley in Main branch]
Translation Editor:
- Added some NULL checks on UTranslationUnit objects
- Added setting for PortaleObjectName for export/import
Internationlization Export:
- Fixed handling of Filename
- Make sure the strings importing aren't marked as changed if they only contain whitespace
[CL 2060784 by Joe Conley in Main branch]