Commit Graph

18 Commits

Author SHA1 Message Date
Ben Marsh
40f391e11e Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2857832 on 2016/02/05 by Ben.Marsh

	GitHub #1959 - Prevent UELinkerFixups file from using shared PCHs; it doesn't necessarily have the right compile environment to be able to use them.

Change 2858189 on 2016/02/06 by Ben.Marsh

	Allow runtime dependencies to be optional, so we can allow games to be staged without requiring PhysX/Apex PDBs.

Change 2858968 on 2016/02/08 by Ben.Marsh

	Allow plugins to be enabled/disabled depending on different target types. Contributed by Ben Everett/Hi-Rez Studios.

Change 2859325 on 2016/02/08 by Ben.Marsh

	Stop adding a debug output device if it goes to the same place as the regular log output device. Prevent output messages printing to the log twice on Mac.

	#codereview Michael.Trepka

Change 2859995 on 2016/02/09 by Matthew.Griffin

	Changed UnrealFileServer to be non-monolithic so that it doesn't include code that is not public

Change 2860393 on 2016/02/09 by Ben.Marsh

	Add support for pre and post build steps for projects and plugin files. Steps are specified as a list of shell commands per-target platform, and are written to a shell script by UBT. Whenever the target is built, the pre-build steps are executed before UHT, and post-build steps are executed at the end.

	The following target properties are expanded with UBT properties in the commands: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile), $(PluginDir).

	Example JSON fragment:

		"PreBuildSteps": {
			"Win64": [
				"echo EngineDir=$(EngineDir)",
				"echo ProjectDir=$(ProjectDir)",
				"echo TargetName=$(TargetName)",
				"echo TargetPlatform=$(TargetPlatform)",
				"echo TargetConfiguration=$(TargetConfiguration)",
				"echo TargetType=$(TargetType)",
				"echo ProjectFile=$(ProjectFile)",
				"echo PluginDir=$(PluginDir)"
			]
		},

Change 2860504 on 2016/02/09 by Ben.Marsh

	Remove nodes from the grid view that we don't have any data for.

Change 2860592 on 2016/02/09 by Ben.Marsh

	Add script to copy all UAT/UBT build products to another directory. To be used to avoid compiling multiple times on build system.

Change 2861087 on 2016/02/09 by Ben.Marsh

	Allow UAT binaries compiled on the initial agent to be copied to all other agents in a build. Saves a lot of startup time on Mac, in particular.

Change 2861788 on 2016/02/10 by Ben.Marsh

	Fix warnings and mangled notification email if triggers finish before all their jobsteps have been created.

#lockdown Nick.Penwarden

[CL 2863732 by Ben Marsh in Main branch]
2016-02-11 15:36:17 -05:00
Andrew Grant
98ee5066e7 Copying //UE4/Orion-Staging to //UE4/Main (Origin //Orion/Dev-General @ 2861092)
#lockdown Nick.Penwarden

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

Change 2861045 on 2016/02/09 by Marcus.Wassmer

	Fix debug editor crash from async compute creating commands when it shouldn't.
	#rb none
	#test debug editor

Change 2861030 on 2016/02/09 by Michael.Noland

	Engine: Added support for debugging safe zones (visualization on any platform and simulation on platforms that don't natively provide safe zone information)

	r.DebugSafeZone.Mode controls the debug visualization overlay (0..2, default 0)
	- 0: Do not display the safe zone overlay
	- 1: Display the overlay for the title safe zone
	- 2: Display the overlay for the action safe zone

	r.DebugSafeZone.OverlayAlpha controls how opaque the debug visualization overlay is (0..1, default 0.3)

	On platforms that don't natively support safe zones, you can simulate a safe zone for quick/easy testing in the editor:
	- r.DebugSafeZone.TitleRatio controls the title safe zone margins returned in FDisplayMetrics
	- r.DebugActionZone.ActionRatio controls the action safe zone margins returned in FDisplayMetrics
	- These both range from 0..1, and default to 1 indicating 100% of the display is safe. A typical test value would be 0.9

	#codereview josh.adams
	#rb marcus.wassmer
	#tests Tested on Win64 uncooked and PS4 cooked (front-end and game)

Change 2860923 on 2016/02/09 by Andrew.Grant

	Fix client warning about HTTPChunkInstaller module not existing
	#rb none
	#tests ran Win64 client

Change 2860852 on 2016/02/09 by Daniel.Wright

	Fixed crash enabling capsule direct shadows in BP
	#rb Nick.Penwarden
	#tests Editor

Change 2860842 on 2016/02/09 by Marcus.Wassmer

	MallocLeakDetection proxy
	#rb Steve.Robb
	#test PS4/PC testing all commands.

Change 2860744 on 2016/02/09 by Josh.Markiewicz

	#UE4 - fixed possible crash when refresh auth with invalid response
	#rb sam.zamani
	#tests login flow
	#codereview justin.sargent, joe.wilcox, pter.knepley, ben.zeigler

Change 2860739 on 2016/02/09 by Laurent.Delayen

	Sync Markers
	- Reset SyncGroups every frame.
	- ::GetSyncGroupPosition() makes sure there is a valid MarkerSyncContext.

	=> Fixes SyncGroup returning 'valid' positions for TransitionLeaders that were not in between sync markers.

	#rb martin.wilson
	#codereview lina.halper
	#tests new riftmage and kurohane networked in PIE

Change 2860736 on 2016/02/09 by Daniel.Lamb

	Fixed issue with iterative cook on the fly invalidating cooked content all the time.
	#rb Marcus.Wassmer
	#test Cook on the fly iterative ps4

Change 2860598 on 2016/02/09 by Joe.Graf

	Simple log category change to match existing log messages in LoadMap

	#rb: n/a
	#test: loading, cooking, game

Change 2860559 on 2016/02/09 by Zak.Middleton

	#orion - Add flag to AIController to control whether it copies the Pawn rotation to ControlRotation if there is no focus point.

	#rb Lukasz.Furman
	#tests PIE ded server AI with lanes

Change 2860462 on 2016/02/09 by Marc.Audy

	Build system improvements
	* Added details to Empty manifest file save error
	* Removed redundent pseudo-dependencies from -showdependency output
	* Monolithic Kinds now a set and branch hacker can specify kind not to build
	#rb Ben.Marsh
	#tests Preflight

Change 2860434 on 2016/02/09 by David.Ratti

	NaN checks:
	-Targeting mode checks in orion code
	-Changed the AActor::SetTransform NaN check so that the logging is included in the NaN ensure (rather than getting cut off from the log afterwards).

	#rb FrankG
	#tests golden path vs bots

Change 2860390 on 2016/02/09 by Michael.Trepka

	Adjust 3D rendering resolution so that it stays approximately the same when user switches display modes

	#rb none
	#tests Tested editor build on PC

Change 2860364 on 2016/02/09 by Justin.Sargent

	Removed unused editor-only functions causing compiler errors when compiling the game.

	#rb keli
	#tests none

Change 2860242 on 2016/02/09 by Justin.Sargent

	Made a number of DialogueWave quality of life improvements to the editor and specifically SoundCue editing.

	New right-click option on SoundWaves to create a DialogueWave

[CL 2863630 by Andrew Grant in Main branch]
2016-02-11 14:39:50 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Justin Sargent
85261980f4 Copying //UE4/Portal-Staging to Dev-Main (//UE4/Dev-Main)
#lockdown nick.penwarden

[CL 2795338 by Justin Sargent in Main branch]
2015-12-08 16:59:43 -05:00
Ben Marsh
92ec2b8239 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2718441 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Allow nodes to be added with an "explicit" frequency, meaning that they'll only be part of manually triggered builds (not CIS).

Change 2718698 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Add a type of node that can execute an arbitrary sequence of tasks, and allow constructing graphs of such nodes from an XML file.

Change 2723013 on 2015/10/09 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Small utility to quickly capture a workspace, or delete files to restore the workspace to a previously captured state (and output a p4 sync list to restore it)

Change 2744521 on 2015/10/28 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Adding config entries to determine which platforms/configurations are available

	Currently only written out as part of the Rocket Build process but could be done elsewhere for other types of installed build.

	A near identical singleton class is used in both C++ and C# to load the config section and check whether configuration/platform combinations are valid.

Change 2773723 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Copying UnrealGameSync into Engine/Source/Programs.

Change 2773914 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream

	PR #1687: [GitDependencies] New feature: ignore file support (.gitdepsignore) (Contributed by nbjk667)

Change 2775317 on 2015/11/20 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Add a -listtps option to UBT, which will find all the TPS files in any directory that's compiled into a target.

Change 2780832 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Allow compiling a single file in UBT. Pass -singlefile=<Path> on command line to UBT to use.

Change 2781071 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Precompile all valid engine modules for Rocket by default. Modules may set the PrecompileForTargets field to control which configurations they should be compiled for. Modules which currently fail to compile have this set to
PrecompileTargetsType.None.

	#codereview Matthew.Griffin

Change 2784469 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Added -FastPDB commandline parameter for UBT, so that we can make use of the /DEBUG:FASTLINK option in VS2015

Change 2784722 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream

	Made -FastPDB option part of BuildConfiguration instead of checking commandline at each place it's used. Also added option to override if someone doesn't want it automatically added to their project files.

Change 2787501 on 2015/12/02 by Ben.Marsh@Ben.Marsh_T3245_Stream

	Restore change to gather VC environment directly from registry.

#lockdown Nick.Penwarden

[CL 2790002 by Ben Marsh in Main branch]
2015-12-04 09:32:58 -05:00
Mike Beach
134cb04d27 Copying //UE4/Dev-Blueprints to Dev-Main (//UE4/Dev-Main) @ 2781164
#lockdown Nick.Penwarden

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

Change 2716841 on 2015/10/05 by Mike.Beach

	(WIP) Cleaning up how we setup script assets for replacement on cook (aligning more with the Blueprint conversion tool).

	#codereview Maciej.Mroz

Change 2719089 on 2015/10/07 by Maciej.Mroz

	ToValidCPPIdentifierChars handles propertly '?' char.

	#codereview Dan.Oconnor

Change 2719361 on 2015/10/07 by Maciej.Mroz

	Generated native code for AnimBPGC - some preliminary changes.

	Refactor: UAnimBlueprintGeneratedClass is not accessed directly in runtime. It is accessed via UAnimClassInterface interface.
	Properties USkeletalMeshComponent::AnimBlueprintGeneratedClass and UInterpTrackFloatAnimBPParam::AnimBlueprintClass were changed into "TSubclassOf<UAnimInstance> AnimClass"

	The UDynamicClass also can deliver the IAnimClassInterface interface. See UAnimClassData, IAnimClassInterface::GetFromClass and UDynamicClass::AnimClassImplementation.

	#codereview Lina.Halper, Thomas.Sarkanen

Change 2719383 on 2015/10/07 by Maciej.Mroz

	Debug-only code removed

Change 2720528 on 2015/10/07 by Dan.Oconnor

	Fix for determinsitc cooking of async tasks and load asset nodes
	#codereview Mike.Beach, Maciej.Mroz

Change 2721273 on 2015/10/08 by Maciej.Mroz

	Blueprint Compiler Cpp Backend
	- Anim Blueprints can be converted
	- Various fixes/improvements

Change 2721310 on 2015/10/08 by Maciej.Mroz

	refactor (cl#2719361) - no "auto" keyword

Change 2721727 on 2015/10/08 by Mike.Beach

	(WIP) Setup the cook commandlet so it handles converted assets, replacing them with generated classes.

	    - Refactored the conversion manifest (using a map over an array)
	    - Centralized destination paths into a helper struct (for the manifest)
	    - Generating an Editor module that automatically hooks into the cook process when enabled
	    - Loading and applying native replacments for the cook

Change 2723276 on 2015/10/09 by Michael.Schoell

	Blueprints duplicated for PIE will no longer register as dependencies to other Blueprint.

	#jira UE-16695 - Editor freezes then crashes while attempting to save during PIE
	#jira UE-21614 - [CrashReport] Crash while saving during PIE - FKismetEditorUtilities::CompileBlueprint() kismet2.cpp:736

Change 2724345 on 2015/10/11 by Ben.Cosh

	Blueprint profiler at first pass, this includes the ability to instrument specific blueprints with realtime editor stat display.
	#UEBP-21 - Profiling data capture and storage
	#UEBP-13 - Performance capture landing page
	#Branch UE4
	#Proj BlueprintProfiler, BlueprintGraph, EditorStyle, Kismet, UnrealEd, CoreUObject, Engine

Change 2724613 on 2015/10/12 by Ben.Cosh

	Incremental update for blueprint profiler to fix the way some of the reported stats cascade through events and branches and additionally some missed bits of code are refactored/removed.
	#Branch UE4
	#Proj BlueprintProfiler

	#info Whilst looking into this I spotted the reason why the stats seem so erratic, There appears to be an issue with FText's use of EXPERIMENTAL_TEXT_FAST_DECIMAL_FORMAT which I have reported, but ideally disable this locally until a fix is integrated.

Change 2724723 on 2015/10/12 by Maciej.Mroz

	Constructor of a dynamic class creates CDO.

	#codereview Robert.Manuszewski

Change 2725108 on 2015/10/12 by Mike.Beach

	[UE-21891] Minor fix to the array shuffle() function; now processes the last entry like all the others.

Change 2726358 on 2015/10/13 by Maciej.Mroz

	UDataTable is properly saved even if its RowStruct is null.

	https://udn.unrealengine.com/questions/264064/crash-using-hotreload-in-custom-datatable-cdo-clas.html

Change 2727395 on 2015/10/13 by Mike.Beach

	(WIP) Second pass on the Blueprint conversion pipeline; setting it up for more optimal (speedier) performance.
	    * Using stubs for replacements (rather than loading dynamic replacement).
	    * Giving the cook commandlet more control (so a conversion could be ran directly).
	    * Now logging replacements by old object path (to account for UPackage replacement queries).
	    * Fix for [UE-21947], unshelved from CL 2724944 (by Maciej.Mroz).

	#codereview Maciej.Mroz

Change 2727484 on 2015/10/13 by Mike.Beach

	[UE-22008] Fixing up comment/tooltip typo for UActorComponent::bAutoActivate.

Change 2727527 on 2015/10/13 by Mike.Beach

	Downgrading an inactionable EdGraph warning, while adding more info so we could possibly determine what's happening.

Change 2727702 on 2015/10/13 by Dan.Oconnor

	Fix for crash in UDelegateProperty::GetCPPType when called on a function with no OwnerClass (events)

Change 2727968 on 2015/10/14 by Maciej.Mroz

	Since ConstructorHelpers::FClassFinder is usually static, the loaded class should be in root set, to prevent the pointer stored in  ConstructorHelpers::FClassFinder from being obsolete.
	FindOrLoadClass behaves now like FindOrLoadObject.

	#codereview Robert.Manuszewski, Nick.Whiting

Change 2728139 on 2015/10/14 by Phillip.Kavan
2015-11-25 18:47:20 -05:00
Ben Marsh
1cc0be0a06 Separate all the project specific settings for a platform into a separate class (derived from UEBuildPlatformContext), and remove the last few references to the global .uproject file path. Checks for SupportsWindowsXP() are now done inside the toolchain.
#codereview Peter.Sauerbrei

[CL 2711835 by Ben Marsh in Main branch]
2015-09-30 16:40:04 -04:00
Ben Marsh
fb458cad45 Remove IUEBuildPlatform; nothing is using it.
[CL 2707262 by Ben Marsh in Main branch]
2015-09-27 13:32:44 -04:00
Ben Marsh
57097692aa Change deployment context and project params to use file references rather than raw paths.
[CL 2707182 by Ben Marsh in Main branch]
2015-09-26 14:41:15 -04:00
Peter Sauerbrei
e706287759 Speed up reading and accessing ini files from UAT/UBT
#uat
#ubt
#codereview ben.marsh, wes.hunt

[CL 2691637 by Peter Sauerbrei in Main branch]
2015-09-15 09:29:42 -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
Ben Marsh
0a89383b5a Explicitly compile the rules assembly and pass it around as a parameter, rather than caching it as global state in RulesCompiler.
[CL 2674051 by Ben Marsh in Main branch]
2015-08-31 10:33:16 -04:00
Wes Hunt
e2783d981e Add additional telemetry to TempStorage. Moved TelemetryStopwatch out of CommandUtils. Added DateTimeStopwatch to make timing things easier.
[CL 2646031 by Wes Hunt in Main branch]
2015-08-05 22:16:45 -04:00
Ben Marsh
9e31e87ce0 Explicitly pass the engine root into ReadAvailablePlugins().
[CL 2632416 by Ben Marsh in Main branch]
2015-07-24 13:23:11 -04:00
Peter Sauerbrei
dc1d815f84 refactored the logging system for UAT/UBT to be more like UE4
we now use an enum similar to UE4 with Fatal, Error, Warning, Display, Log, Verbose, and VeryVerbose
Log will only go to the log file unless -verbose is passed on the command line
reduced some of the output from UAT to be Log only

[CL 2631062 by Peter Sauerbrei in Main branch]
2015-07-23 14:51:46 -04:00
Wes Hunt
d2a1b60eaa UE-18654 - Fix uses of GetExecutingAssembly in UAT/UBT
#codereview:ben.marsh

[CL 2624862 by Wes Hunt in Main branch]
2015-07-17 16:38:17 -04:00
Ben Marsh
6e67d700e6 Add a scoped stopwatch class for writing out telemetry events.
[CL 2609657 by Ben Marsh in Main branch]
2015-07-02 16:16:19 -04:00
Wes Hunt
506f7e64a4 UEB-260 - Break AutomationTool into AutomationUtils that all automation projects depend on, and AutomationTool, which essentially only contains the startup code.
* Remove ErrorReporter.Error, replace with AutomationException with Error Code.
* Move ErrorCodes to AutomationException.
* Don't return exit codes. Solely rely on exceptions to propagate exit codes.
* Remove MainProc delegate
* Remove setting of Environment.ExitCode as it is ignored when main returns an int.
* ShutdownLogging is nothrow, as all exceptions would be ignored anyway.
* Wrap all shutdown steps so further ones get a chance to run.
* Move HostPlatform.Initialize into the global try/catch block
#codereview:ben.marsh

[CL 2605826 by Wes Hunt in Main branch]
2015-06-30 11:40:05 -04:00