2016-12-08 08:52:44 -05:00
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
# include "SignedArchiveReader.h"
Copying //UE4/Dev-Build to //UE4/Dev-Main (Source: //UE4/Dev-Build @ 3209340)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3209340 on 2016/11/23 by Ben.Marsh
Convert UE4 codebase to an "include what you use" model - where every header just includes the dependencies it needs, rather than every source file including large monolithic headers like Engine.h and UnrealEd.h.
Measured full rebuild times around 2x faster using XGE on Windows, and improvements of 25% or more for incremental builds and full rebuilds on most other platforms.
* Every header now includes everything it needs to compile.
* There's a CoreMinimal.h header that gets you a set of ubiquitous types from Core (eg. FString, FName, TArray, FVector, etc...). Most headers now include this first.
* There's a CoreTypes.h header that sets up primitive UE4 types and build macros (int32, PLATFORM_WIN64, etc...). All headers in Core include this first, as does CoreMinimal.h.
* Every .cpp file includes its matching .h file first.
* This helps validate that each header is including everything it needs to compile.
* No engine code includes a monolithic header such as Engine.h or UnrealEd.h any more.
* You will get a warning if you try to include one of these from the engine. They still exist for compatibility with game projects and do not produce warnings when included there.
* There have only been minor changes to our internal games down to accommodate these changes. The intent is for this to be as seamless as possible.
* No engine code explicitly includes a precompiled header any more.
* We still use PCHs, but they're force-included on the compiler command line by UnrealBuildTool instead. This lets us tune what they contain without breaking any existing include dependencies.
* PCHs are generated by a tool to get a statistical amount of coverage for the source files using it, and I've seeded the new shared PCHs to contain any header included by > 15% of source files.
Tool used to generate this transform is at Engine\Source\Programs\IncludeTool.
[CL 3209342 by Ben Marsh in Main branch]
2016-11-23 15:48:37 -05:00
# include "HAL/FileManager.h"
# include "HAL/Event.h"
# include "HAL/RunnableThread.h"
2014-03-14 14:13:41 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
DECLARE_FLOAT_ACCUMULATOR_STAT ( TEXT ( " FChunkCacheWorker.ProcessQueue " ) , STAT_FChunkCacheWorker_ProcessQueue , STATGROUP_PakFile ) ;
DECLARE_FLOAT_ACCUMULATOR_STAT ( TEXT ( " FChunkCacheWorker.CheckSignature " ) , STAT_FChunkCacheWorker_CheckSignature , STATGROUP_PakFile ) ;
DECLARE_FLOAT_ACCUMULATOR_STAT ( TEXT ( " FChunkCacheWorker.Serialize " ) , STAT_FChunkCacheWorker_Serialize , STATGROUP_PakFile ) ;
DECLARE_FLOAT_ACCUMULATOR_STAT ( TEXT ( " FChunkCacheWorker.HashBuffer " ) , STAT_FChunkCacheWorker_HashBuffer , STATGROUP_PakFile ) ;
DECLARE_FLOAT_ACCUMULATOR_STAT ( TEXT ( " FSignedArchiveReader.Serialize " ) , STAT_SignedArchiveReader_Serialize , STATGROUP_PakFile ) ;
2014-04-02 18:09:23 -04:00
2016-03-24 13:53:55 -04:00
FChunkCacheWorker : : FChunkCacheWorker ( FArchive * InReader , const TCHAR * Filename )
2014-03-14 14:13:41 -04:00
: Reader ( InReader )
, QueuedRequestsEvent ( NULL )
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
SetupDecryptionKey ( ) ;
2016-03-24 13:53:55 -04:00
FString SigFileFilename = FPaths : : ChangeExtension ( Filename , TEXT ( " sig " ) ) ;
FArchive * SigFileReader = IFileManager : : Get ( ) . CreateFileReader ( * SigFileFilename ) ;
if ( SigFileReader = = nullptr )
{
Copying //UE4/Dev-Platform to //UE4/Dev-Main (Source: //UE4/Dev-Platform @ 3295257)
#lockdown Nick.Penwarden
#rb none
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3235199 on 2016/12/14 by Joe.Barnes
Fix new compile error for missing #define
Change 3235340 on 2016/12/14 by Arciel.Rekman
Linux: refactor of some PlatformMisc functions.
- RootDir() removed since it was a no-op.
- Old EngineDir() implementation removed in favor of more generic one that should handle foreign engine dir.
- Change by CengizT,
Change 3237014 on 2016/12/15 by Michael.Trepka
Fixed a crash in FChunkCacheWorker constructor
Change 3238305 on 2016/12/16 by Josh.Adams
- Added a None option to the FKey customization, unless the FKey property had NoClear on it
Change 3240823 on 2016/12/20 by Josh.Stoddard
Device profiles don't work for iPadPro 9.7 and 12.9
#jira UE-39943
Change 3241103 on 2016/12/20 by Alicia.Cano
Android support from Visual Studio
#jira UEPLAT-1421
#android
Change 3241357 on 2016/12/20 by Chris.Babcock
Add gameActivityOnNewIntentAddtions section to Android UPL
#jira UE-38986
#PR #2969
#ue4
#android
Change 3241941 on 2016/12/21 by Alicia.Cano
Build Fix
Change 3249832 on 2017/01/06 by Nick.Shin
refetch on timed out GET/POST requests
#jira UE-39992 Quicklaunch UFE HTML5 fails with "NS_ERROR_Failure"
Change 3249837 on 2017/01/06 by Nick.Shin
black box issues fixed:
use device pixel ratio during width and height checks
and use canvas dimensions if in full screen -- otherwise store SDL_window dimensions for future use
#jira UE-36341 HTML5 - View is incorrectly drawn
#jira UE-32311 Templates on Firefox/Chrome on HTML5 are not full screen during Launch On
Change 3249988 on 2017/01/06 by Josh.Adams
- Disable the HeartBeat() function on platforms that don't actually want to use the HeartbeatThread
#jira UE-40305, UE-39291, UE-40113
Change 3253720 on 2017/01/11 by Josh.Adams
- Added support for a config class to use a specific platform's config hierarchy, so that the editor can read NDA'd platform default settings without needing the settings to in Base*.ini
- See SwitchRuntimeSettings.h / GetConfigOverridePlatform()
- Addiontally made it so that NDAd platforms are saved to Project/Platform/Platform*.ini, instead of Project/Default*.ini (to keep samples .ini files free of NDAd platform settings).
- See UObject::GetDefaultConfigFilename()
- Updated some minor ShooterGame switch settings while cleaning this up
Change 3254162 on 2017/01/11 by Daniel.Lamb
Avoid trying to load empty package names.
Fixed issue with iterative ini files being unparseable if they inlcude a colon in them.
#jira UE-40257, UE-35001
#test Cook QAGame
Change 3255309 on 2017/01/12 by Daniel.Lamb
In the derived datacache commandlet wait for texture building to finish before we GC.
#test DDC QAGame
Change 3255311 on 2017/01/12 by Daniel.Lamb
Removed debug logging for shader compilation.
Issue hasn't occured in a while and the logging is annoying.
#test Cook QAGame
Change 3257024 on 2017/01/13 by Josh.Adams
- Reread in the target RHIs array every time the list of shader types is needed, instead of caching, because the user could change the settings in the editor, then click cook.
#jira UE-38691
Change 3259636 on 2017/01/16 by Josh.Adams
- Fixed split screen render issue with payer 2 getting no geometry
#jira UE-40684
Change 3260159 on 2017/01/17 by Ben.Marsh
Added extra logging when deleting a directory fails during ReconcileWorkspace.
Change 3260300 on 2017/01/17 by Ben.Marsh
More logging for cleaning workspaces.
Change 3261056 on 2017/01/17 by Daniel.Lamb
Cook on the fly builds now resolve string asset references.
#test Trivial
Change 3262803 on 2017/01/18 by Joe.Graf
Added missing support for compiling plugins external to Engine/Plugins & Game/Plugins
Change 3262852 on 2017/01/18 by Joe.Graf
Fixed the bad robomerge
Don't try to regenerate projects when adding a content only plugin to a content only project
Change 3264930 on 2017/01/19 by Joe.Barnes
#include some header files needed when building UFE.
Change 3265728 on 2017/01/20 by Will.Fissler
PlatformShowcase - Added TestBed_MobileFeatures .umap and related test content.
Change 3267188 on 2017/01/21 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3267439 on 2017/01/22 by Arciel.Rekman
Fix Dev-Platform build.
- Fixed just to have it compile; perhaps a proper fix is needed.
- Seems to be caused by CL 3265587 (delegate was changed to return an array of search results instead of a single one).
Change 3267556 on 2017/01/23 by Arciel.Rekman
Linux: fix MoveFile to work across file systems.
- PR #3141 with slight changes.
Change 3267843 on 2017/01/23 by Arciel.Rekman
Remove name collision (macro vs libc++).
- Redoing CL 3259310.
Change 3267850 on 2017/01/23 by Arciel.Rekman
Fix wrong always true condition.
- PLATFORM_LINUX is always defined, but can be 0.
Change 3268048 on 2017/01/23 by Daniel.Lamb
Integrated fix for rebuild lighting commandlet from Greg Korman @ Impulse Gear.
#test Rebuild lighting Paragon
Change 3268403 on 2017/01/23 by Josh.Adams
#BUILDUPGRADENOTES
- Moved XboxOne and PS4 settings into platform specific .ini files (after using GetConfigOverridePlatform() in their class delcarations)
- Licensee games that have PS4, XboxOne, Switch settings in DefaultEngine.ini will have those settings saved in the platform version next time the project settings are edited. DOCUMENT THIS!
Change 3272441 on 2017/01/25 by Chris.Babcock
Fixed documentation error in UnrealPluginLanguage
#ue4
#android
Change 3272478 on 2017/01/25 by Chris.Babcock
Fix another documentation error in UnrealPluginLanguage
#ue4
Change 3272826 on 2017/01/25 by Chris.Babcock
Google Cloud Messaging plugin for Android
#jira UEPLAT-1458
#ue4
#android
Change 3272839 on 2017/01/25 by Chris.Babcock
Fix name of Google Cloud Messaging Sender ID
#ue4
#android
Change 3273837 on 2017/01/26 by Daniel.Lamb
Added check to ensure editor never saves source texture data which has had ReleaseSourceMemory called on it.
Instead crash as this is a loss of content situation.
#test Cook paragon cook qagame
Change 3274122 on 2017/01/26 by Alicia.Cano
Runtime permissions support on Android
- Removing certain permissions
#jira UE-38512
#android
Change 3274311 on 2017/01/26 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3274794 on 2017/01/27 by Arciel.Rekman
Linux: fix installed SDK check (UE-40392).
- Pull request #3111 by rubu.
Change 3274803 on 2017/01/27 by Arciel.Rekman
Linux: added few more exceptions to .gitignore (UE-39612).
- Pull request #3026 by ardneran.
Change 3276247 on 2017/01/27 by Nick.Shin
HTML5 HeapSize settings - make use of it from UE4 Editor:Platforms:HTML5:Memory:HeapSize
note: emscripten says this is really no longer needed when using [ -s ALLOW_MEMORY_GROWTH=1 ] -- but tests have shown when using that, the game load/compile times takes longer
#jira UE-34753 Zen Garden cannot compile in HTML5
#jira UE-40815 Launching QAGame for HTML5 creates an 'uncaught exception: out of memory'.
Change 3276347 on 2017/01/27 by dan.reynolds
Android Streaming Test Content
Change 3276682 on 2017/01/29 by Nick.Shin
HTML5 thirdparty build scripts
- fix up what looks like a bad merge
- allow linux to also build these libs
- fixed harfbuzz to use freetype2-2.6 when building HTML5 libs
- tested on mac, linux, and windows (git-bash)
Change 3276796 on 2017/01/29 by Nick.Shin
HTML5 thirdparty (python) build scripts
- linux patches from mozilla's jukka
- tested on mac and, linux, and windows (git-bash)
part of:
#jira UEPLAT-1437 (4.16) Switch [to] web assembly
Change 3276803 on 2017/01/29 by Nick.Shin
HTML5 thirdparty build scripts
- getting ready to build with (new toolchain that has) wasm support
- minor fix to handle whitespace in project path
- tested on mac and, linux, and windows (git-bash)
part of:
#jira UEPLAT-1437 (4.16) Switch [to] web assembly
Change 3278007 on 2017/01/30 by Arciel.Rekman
SteamVR: whitelist for Linux.
- Makes Blueprint functions available in Linux builds, even if stubbed.
- Can be probably whitelisted for Mac too.
Change 3278172 on 2017/01/30 by Arciel.Rekman
Do not rebuild UnrealPak locally (UE-41285).
Change 3279873 on 2017/01/31 by Brent.Pease
+ Implement streaming in Vorbis
+ Add streaming to Android audio
+ Fix audio streaming chunk race condition
Change 3280063 on 2017/01/31 by Brent.Pease
GitHub 2949 : Fix for crashes when backgrounding/sleeping on iOS metal devices
#2949
#jira UE-38829
Change 3280072 on 2017/01/31 by Brent.Pease
PR #2889: Add -distribution when iOS distribution Packaging. with IPhonePackage.exe (Contributed by sangpan)
https://github.com/EpicGames/UnrealEngine/pull/2889
#jira ue-37874
#2889
Change 3280091 on 2017/01/31 by Arciel.Rekman
Linux: fix "unable to make writable" toast (UE-37228).
- Also fixed other platforms that returned inverted the error result.
Change 3280624 on 2017/01/31 by Brent.Pease
PR #2891: iOS IDFV string allocation fix (Contributed by robertfsegal)
https://github.com/EpicGames/UnrealEngine/pull/2891
#2891
#jira ue-37891
Change 3280625 on 2017/01/31 by Brent.Pease
GitHub 2576 - Fix UIImagePickerController crash
#2576
#jira UE-328888
Change 3281618 on 2017/02/01 by Josh.Adams
- Fixed hopeful compile error with missing inlcude
#jira UE-41415
Change 3282277 on 2017/02/01 by Josh.Adams
- Support 0.12.16 and 1.1.1 (the first versions that can share Oasis)
Change 3282441 on 2017/02/01 by Arciel.Rekman
Fix Linux editor splash screen (UE-28123).
Change 3282580 on 2017/02/01 by Nick.Shin
HTML5 - fix "firefox nighly" issue with:
failed to compile wasm module: CompileError: at offset XXX: initial memory size too big:
WARNING: this greatly impacts (in browser) compile times
Change 3285991 on 2017/02/03 by Chris.Babcock
Fix executable path for stripping Android debug symbols (handle non-Windows properly)
#jira UE-41238
#ue4
#android
Change 3286406 on 2017/02/03 by Chris.Babcock
Save and restore texture filtering for movie playback in all cases
#jira UE-41565
#ue4
#android
Change 3286800 on 2017/02/04 by Chris.Babcock
Fix executable path for stripping Android debug symbols (handle non-Windows properly)
#jira UE-41238
#ue4
#android
Change 3288598 on 2017/02/06 by Arciel.Rekman
CodeLite fixes.
- Use *-Linux-Debug binary for Debug configuration.
- Fix virtual paths.
Change 3288864 on 2017/02/06 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
- Note, Switch is known to not boot with this, fix coming next
Change 3289364 on 2017/02/06 by Josh.Adams
[BUILDUPGRADENOTES] - Fixed the "type" of the desktop device profiles to be Windows, not WindowsNoEditor, etc. It should be the platform, not a random string.
- Updated how DeviceProfiles are loaded, especially in the editor, so that we can have NDAd platforms have their default DP values in platform-hidden files
- This makes use of the ability for a class to override the platform hierarchy in the editor (like we do with other editor-exposed platform objects)
- Added Config/[PS4|XboxOne|Switch]/ConfidentialPlatform.ini files so that the DP loading code knows to look in their directories for DPs. See FGenericPlatformMisc::GetConfidentialPlatforms() for more information
- Note that saving still saves the entire DP to the .ini. Next DP change is to have them properly save against their 2(!) parents - the .ini file earlier in the hierarchy, and the parent DP object. Makes it tricky, for sure.
- Added FConfigFile::GetArray (previous was only on FConfigCacheIni)
Change 3289796 on 2017/02/07 by Arciel.Rekman
Linux: remove leftover CEF build script.
Change 3289872 on 2017/02/07 by Arciel.Rekman
Linux: install MIME types (UE-40954).
- Pull request #3154 by RicardoEPRodrigues.
Change 3289915 on 2017/02/07 by Josh.Adams
- Fixed CIS warnings
Change 3289916 on 2017/02/07 by Arciel.Rekman
Linux: remove -opengl4 from the default invocation.
Change 3290009 on 2017/02/07 by Gil.Gribb
UE4 - Fixed boot time EDL causing some issues even when it wasn't being used.
Change 3290120 on 2017/02/07 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3290948 on 2017/02/07 by Arciel.Rekman
Linux: fix crash when clicking on question mark (UE-41634).
- Symbol interposition problem (proper fix is still to be investigated).
(Edigrating part of CL 3290683 from Release-4.15 to Dev-Platform)
Change 3291074 on 2017/02/07 by Arciel.Rekman
Speculative build fix.
Change 3292028 on 2017/02/08 by Josh.Adams
- Fixed Incremental CIS build failures
Change 3292105 on 2017/02/08 by Nick.Shin
emcc.py - change warning to info
#jira UE-41747 //UE4/Dev-Platform Compile UE4Game HTML5 completed with 50 warnings
Change 3292201 on 2017/02/08 by JohnHenry.Carawon
Change comment to fix XML warning when generating project files on Linux
Change 3292242 on 2017/02/08 by Arciel.Rekman
Linux: avoid unnecessary dependency on CEF (UE-41634).
- Do not apply CEF workaround to monolithic builds (eg. stock Game/Server targets).
- Also disable CEF compilation for ShaderCompileWorker.
- Based on CL 3292077 in 4.15.
Change 3292559 on 2017/02/08 by Josh.Adams
- Added more platforms to disable the file handle caching (all the ones that use MANAGED_FILE_HANDLES)
Change 3294333 on 2017/02/09 by Josh.Adams
Merging //UE4/Dev-Main to Dev-Platform (//UE4/Dev-Platform)
Change 3294506 on 2017/02/09 by Josh.Adams
- Fixed GoogleCloudMessaging.uplugin to fix the Installed flag. Every other plugin had false, this one had true, which caused various checks to go haywire
#jira UE-41710
Change 3294984 on 2017/02/09 by Josh.Adams
- Worked around the remote compiling issue with code-based projects on a different drive than the engine
#jira UE-41704
Change 3295056 on 2017/02/09 by Josh.Adams
- Fixed the remote compiling issue by unconverting the path back to host when reading from the module filename
Change 3295161 on 2017/02/09 by Josh.Adams
- Fixed new bug when buildin native ios that was caused by a remote compile break
Change 3295229 on 2017/02/09 by Josh.Adams
- Fixed a crash in clothing on platforms that don't support clothing
#jira UE-41830
[CL 3295859 by Josh Adams in Main branch]
2017-02-09 19:20:55 -05:00
UE_LOG ( LogPakFile , Fatal , TEXT ( " Couldn't find pak signature file '%s' " ) , * SigFileFilename ) ;
2016-03-24 13:53:55 -04:00
}
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
FEncryptedSignature MasterSignature ;
* SigFileReader < < MasterSignature ;
* SigFileReader < < ChunkHashes ;
2016-03-24 13:53:55 -04:00
delete SigFileReader ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
uint32 ChunkHashesCRC = ComputePakChunkHash ( & ChunkHashes [ 0 ] , ChunkHashes . Num ( ) * sizeof ( TPakChunkHash ) ) ;
FDecryptedSignature DecryptedMasterSignature ;
FEncryption : : DecryptSignature ( MasterSignature , DecryptedMasterSignature , DecryptionKey ) ;
ensure ( DecryptedMasterSignature . Data = = ChunkHashesCRC ) ;
2014-03-14 14:13:41 -04:00
2015-01-28 07:31:10 -05:00
QueuedRequestsEvent = FPlatformProcess : : GetSynchEventFromPool ( ) ;
2014-05-12 08:39:12 -04:00
Thread = FRunnableThread : : Create ( this , TEXT ( " FChunkCacheWorker " ) , 0 , TPri_BelowNormal ) ;
2014-03-14 14:13:41 -04:00
}
FChunkCacheWorker : : ~ FChunkCacheWorker ( )
{
delete Thread ;
Thread = NULL ;
2015-01-28 07:31:10 -05:00
FPlatformProcess : : ReturnSynchEventToPool ( QueuedRequestsEvent ) ;
QueuedRequestsEvent = nullptr ;
2014-03-14 14:13:41 -04:00
}
bool FChunkCacheWorker : : Init ( )
{
return true ;
}
2016-03-21 21:11:39 -04:00
void FChunkCacheWorker : : SetupDecryptionKey ( )
{
2016-12-09 11:36:14 -05:00
FString PakSigningKeyExponent , PakSigningKeyModulus ;
FPakPlatformFile : : GetPakSigningKeys ( PakSigningKeyExponent , PakSigningKeyModulus ) ;
DecryptionKey . Exponent . Parse ( PakSigningKeyExponent ) ;
DecryptionKey . Modulus . Parse ( PakSigningKeyModulus ) ;
// Public key should never be zero at this point.
2016-03-21 21:11:39 -04:00
UE_CLOG ( DecryptionKey . Exponent . IsZero ( ) | | DecryptionKey . Modulus . IsZero ( ) , LogPakFile , Fatal , TEXT ( " Invalid decryption key detected " ) ) ;
// Public key should produce decrypted results - check for identity keys
2016-03-24 13:53:55 -04:00
static TEncryptionInt TestValues [ ] =
2016-03-21 21:11:39 -04:00
{
11 ,
23 ,
67 ,
121 ,
180 ,
211
} ;
bool bIdentical = true ;
for ( int32 Index = 0 ; bIdentical & & Index < ARRAY_COUNT ( TestValues ) ; + + Index )
{
2016-03-24 13:53:55 -04:00
TEncryptionInt DecryptedValue = FEncryption : : ModularPow ( TestValues [ Index ] , DecryptionKey . Exponent , DecryptionKey . Modulus ) ;
2016-03-21 21:11:39 -04:00
bIdentical = ( DecryptedValue = = TestValues [ Index ] ) ;
}
UE_CLOG ( bIdentical , LogPakFile , Fatal , TEXT ( " Decryption key produces identical results to source data. " ) ) ;
}
2014-03-14 14:13:41 -04:00
uint32 FChunkCacheWorker : : Run ( )
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
{
2014-03-14 14:13:41 -04:00
while ( StopTaskCounter . GetValue ( ) = = 0 )
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
if ( ProcessQueue ( ) = = 0 )
2014-03-14 14:13:41 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
QueuedRequestsEvent - > Wait ( 500 ) ;
2014-03-14 14:13:41 -04:00
}
}
return 0 ;
}
void FChunkCacheWorker : : Stop ( )
{
StopTaskCounter . Increment ( ) ;
}
FChunkBuffer * FChunkCacheWorker : : GetCachedChunkBuffer ( int32 ChunkIndex )
{
for ( int32 BufferIndex = 0 ; BufferIndex < MaxCachedChunks ; + + BufferIndex )
{
if ( CachedChunks [ BufferIndex ] . ChunkIndex = = ChunkIndex )
{
// Update access info and lock
CachedChunks [ BufferIndex ] . LockCount + + ;
CachedChunks [ BufferIndex ] . LastAccessTime = FPlatformTime : : Seconds ( ) ;
return & CachedChunks [ BufferIndex ] ;
}
}
return NULL ;
}
FChunkBuffer * FChunkCacheWorker : : GetFreeBuffer ( )
{
// Find the least recently accessed, free buffer.
FChunkBuffer * LeastRecentFreeBuffer = NULL ;
for ( int32 BufferIndex = 0 ; BufferIndex < MaxCachedChunks ; + + BufferIndex )
{
if ( CachedChunks [ BufferIndex ] . LockCount = = 0 & &
( LeastRecentFreeBuffer = = NULL | | LeastRecentFreeBuffer - > LastAccessTime > CachedChunks [ BufferIndex ] . LastAccessTime ) )
{
LeastRecentFreeBuffer = & CachedChunks [ BufferIndex ] ;
}
}
if ( LeastRecentFreeBuffer )
{
// Update access info and lock
LeastRecentFreeBuffer - > LockCount + + ;
LeastRecentFreeBuffer - > LastAccessTime = FPlatformTime : : Seconds ( ) ;
}
return LeastRecentFreeBuffer ;
}
void FChunkCacheWorker : : ReleaseBuffer ( int32 ChunkIndex )
{
for ( int32 BufferIndex = 0 ; BufferIndex < MaxCachedChunks ; + + BufferIndex )
{
if ( CachedChunks [ BufferIndex ] . ChunkIndex = = ChunkIndex )
{
CachedChunks [ BufferIndex ] . LockCount - - ;
check ( CachedChunks [ BufferIndex ] . LockCount > = 0 ) ;
}
}
}
int32 FChunkCacheWorker : : ProcessQueue ( )
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
SCOPE_SECONDS_ACCUMULATOR ( STAT_FChunkCacheWorker_ProcessQueue ) ;
2014-04-02 18:09:23 -04:00
2014-03-14 14:13:41 -04:00
// Add the queue to the active requests list
{
FScopeLock LockQueue ( & QueueLock ) ;
ActiveRequests . Append ( RequestQueue ) ;
RequestQueue . Empty ( ) ;
}
// Keep track how many request have been process this loop
int32 ProcessedRequests = ActiveRequests . Num ( ) ;
for ( int32 RequestIndex = 0 ; RequestIndex < ActiveRequests . Num ( ) ; + + RequestIndex )
{
FChunkRequest & Request = * ActiveRequests [ RequestIndex ] ;
if ( Request . RefCount . GetValue ( ) = = 0 )
{
// ChunkRequest is no longer used by anything. Add it to the free requests lists
// and release the associated buffer.
ReleaseBuffer ( Request . Index ) ;
ActiveRequests . RemoveAt ( RequestIndex - - ) ;
FreeChunkRequests . Push ( & Request ) ;
}
else if ( Request . Buffer = = NULL )
{
// See if the requested chunk is already cached.
FChunkBuffer * CachedBuffer = GetCachedChunkBuffer ( Request . Index ) ;
if ( ! CachedBuffer )
{
// This chunk is not cached. Get a free buffer if possible.
CachedBuffer = GetFreeBuffer ( ) ;
if ( ! ! CachedBuffer )
{
// Load and verify.
CachedBuffer - > ChunkIndex = Request . Index ;
Request . Buffer = CachedBuffer ;
CheckSignature ( Request ) ;
}
}
else
{
Request . Buffer = CachedBuffer ;
}
if ( ! ! CachedBuffer )
{
check ( Request . Buffer = = CachedBuffer ) ;
// Chunk is cached and trusted. We no longer need the request handle on this thread.
// Let the other thread know the chunk is ready to read.
Request . RefCount . Decrement ( ) ;
Request . IsTrusted . Increment ( ) ;
}
}
}
return ProcessedRequests ;
}
bool FChunkCacheWorker : : CheckSignature ( const FChunkRequest & ChunkInfo )
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
SCOPE_SECONDS_ACCUMULATOR ( STAT_FChunkCacheWorker_CheckSignature ) ;
2014-04-02 18:09:23 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
TPakChunkHash ChunkHash = 0 ;
2014-03-14 14:13:41 -04:00
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
SCOPE_SECONDS_ACCUMULATOR ( STAT_FChunkCacheWorker_Serialize ) ;
Reader - > Seek ( ChunkInfo . Offset ) ;
Reader - > Serialize ( ChunkInfo . Buffer - > Data , ChunkInfo . Size ) ;
}
{
SCOPE_SECONDS_ACCUMULATOR ( STAT_FChunkCacheWorker_HashBuffer ) ;
ChunkHash = ComputePakChunkHash ( ChunkInfo . Buffer - > Data , ChunkInfo . Size ) ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
}
2014-03-14 14:13:41 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
bool bHashesMatch = ( ChunkHash = = ChunkHashes [ ChunkInfo . Index ] ) ;
if ( ! bHashesMatch )
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
{
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2997507)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2997066 on 2016/06/01 by Michael.Noland
Engine: Marked engine performance target cvars ECVF_Scalability so they can be adjusted via scalability buckets at runtime for games that target different framerates on different levels of hardware
#rb none
#tests Ran Paragon and changed video settings and tested t.TargetFrameTimeThreshold
Change 2996816 on 2016/06/01 by Dan.Youhon
Add FixedWorldDirection option for Root Motion Radial Forces; code/BP hook-up for allowing Price's reworked RMB to send all targets in the same (correct) direction
- FixedWorldDirection added to both root motion system and corresponding ability tasks
- Exposed AddHitResult for EffectContexts for modifying EffectContext hit results from BP
- Hooked up to Price RMB - we (somewhat dirtily) route Price's location and facing through the HitResult of the EffectContext for his displacement GE
#rb Dave.Ratti
#tests MultiPIE
#codereview Billy.Rivers
#lockdown Billy.Rivers
Change 2996526 on 2016/06/01 by Brian.Karis
Fixed tube light typo
JB made this robomerge up. Shader recompiling in our future.
#RB:none
#Tests:none
#ROBOMERGE: MAIN, 27, 26.2
Change 2996428 on 2016/06/01 by Rolando.Caloca
O - Made r.D3D.RemoveUnusedInterpolators a system setting which now also alters ddc key; fix r.Shaders.FastMath actually affecting compilation when =0
#rb Chris.Bunner
#codereview Michael.Noland, Marcus.Wassmer
#jira OR-22573
#tests Run with and without r.D3D.RemoveUnusedInterpolators=1 on DefaultEngine.ini
Change 2996090 on 2016/06/01 by Jason.Bestimt
#ORION_MAIN - Merge 26.2 @ CL 2995754
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2995816 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#CodeReview: jason.bestimt
Change 2995785 on 2016/06/01 by Robert.Manuszewski
Don't delete non-backup log files when cleaning up the logs folder.
#rb none
#tests Tested in the editor with multiple old log files
Change 2995556 on 2016/05/31 by Dmitry.Rekman
More info about timers on crash (OR-21986).
- Somewhat desperate attempt to get more clue about timer crash. Intended to be removed later.
#rb Michael.Noland
#codereview Marc.Audy, Michael.Noland
#tests Compiled the Linux server, ran it, crashed a few times.
Change 2995397 on 2016/05/31 by Michael.Noland
Rendering: Made the optimization to combine upscaling/downscaling and tonemapping optional based on the amount of upscaling that will occur
- r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
- r.Tonemapper.MergeWithUpscale.Threshold is a new setting used when r.Tonemapper.MergeWithUpscale.Mode is set to 2, which indcates to only try to merge the passes if the ratio of the area before upscale/downscale to the area afterwards is greater than the threshold
This prevents running the tonemapper on all of the target res pixels when the source res is far smaller, as that can cause it to be a loss to merge the passes
Upgrade Notes: r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
#rb marcus.wassmer
#tests Ran Paragon at various resolutions on Intel and NV cards
#rn
Change 2995118 on 2016/05/31 by David.Decker
- Fix for build failure
#rb none
#tests golden path game
Change 2994929 on 2016/05/31 by David.Decker
#Orion_Analytics
-Added PacketRecievedHistogram event that fires every minute in game the rate is configurable in DefaultGame.ini
-Moved FHistogram from PerfCountersModule to ProfilingHelpers
-Re-enabled Location event
#rb Dmitry.Rekman
#codereview Dmitry.Rekman, John.Pollard, Christopher.Wright
#tests golden path game
Change 2994920 on 2016/05/31 by Daniel.Lamb
Added some more cooking stats to save package.
#rb Wes.Hunt
#test Cook Orion.
Change 2994622 on 2016/05/31 by Zak.Middleton
#orion - Pickup and Coin filter collision optimizations.
- Added coin collision profile preset and made it ignore everything but Pawn (importantly, now ignores triggers).
- Pickups filter out collision with AI earlier. Profile already did this but this avoids more branches and cache misses in PreFilter.
- Coins now additionally filter out more efficiently Heroes that can't pick them (no overlap events generated at all).
#rb Jon.Lietz, Frank.Gigliotti
#tests PlayGo MultiPIE
Change 2994305 on 2016/05/31 by Andrew.Grant
Restoring prompt/exit on signed archive issue to help identify causes
#rb none
#tests compiled
Change 2994226 on 2016/05/31 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 27 @ CL 2993946
#RB:none
#Tests:none
[CodeReviewed]: graeme.thornton
#ROBOMERGE-SOURCE: CL 2994225 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2994204 on 2016/05/31 by bruce.nesbit
More banner changes
-Fixed an issue with InterpToComponent with very short times
-revisions to test banner
-added fade to banner/charms
-tries to set team color on decativate FX
#rb none
#tests Game+PIE
#codereview Jason.Bestimt
Change 2993973 on 2016/05/30 by Robert.Manuszewski
Updated protection handling
#rb none
#tests Compiled and applied protection
Change 2993588 on 2016/05/27 by Michael.Noland
Engine: Removed a bogus autocomplete for ShowMaterialDrawEvents, which was previously renamed r.ShowMaterialDrawEvents
#rb none
#tests Typed in ShowMat in the console and verified that no autocomplete appeared
#rn
Change 2993510 on 2016/05/27 by John.Pollard
Fix issue with root motion sources and replays, fixes TwinBlast RMB ability animation issue, and other artifacts
#rb RyanG
#tests Replays
Change 2993484 on 2016/05/27 by Uriel.Doyon
New logic for computing the skel mesh streaming scales
#rb marcus.wassmer
#tests loaded editor, played with streaming scale
Change 2993211 on 2016/05/27 by Uriel.Doyon
Workaround for lightmap streaming flags not being correctly set.
#codereview marcus.wassmer
#rb marcus.wassmer
#tests building lighting and investigating streaming
Change 2993068 on 2016/05/27 by Marcus.Wassmer
Duplicate 2989729
Fix for lightmaps and shadowmaps having low resolutions after building lightings
#rb none
#test PC at various scalability
#codereview Uriel.Doyon
Change 2993066 on 2016/05/27 by Lukasz.Furman
fixed behavior tree getting stuck on ResumeLogic call
copied from //UE4/Dev-Framework, CL# 2993058
#jira OR-22498
#rb none
#tests none
Change 2992706 on 2016/05/27 by Marcus.Wassmer
Duplicate 2991726
Fix for grey skin in simple lighting model (shadows off)
#rb none
#test lowest settings on PC
Change 2992705 on 2016/05/27 by Marcus.Wassmer
Duplicate 2991727
Fix emissive decals in simple forward renderer
#rb none
#test PC lowest settings
Change 2992658 on 2016/05/27 by David.Ratti
Remove all occurrences of Ability.PersistPastDeath from granted tags. Fix code to *only* check asset tags for this tag, instead of both.
#rb none
#test pie
Change 2992646 on 2016/05/27 by Ben.Marsh
BuildGraph: Add a BuildGraph task to run a UE4 commandlet. Syntax is <Commandlet Name="..." Project="..." Arguments="...">.
#rb none
#tests none
Change 2992252 on 2016/05/26 by Jason.Bestimt
#ORION_DG - Unclog ROBO Merge in DG
#RB:none
#Tests:none
Change 2992180 on 2016/05/26 by John.Pollard
Fix issue where external data wasn't saving out properly
#rb RyanG
#tests Replays
Change 2992159 on 2016/05/26 by Michael.Noland
CVar to disable/freeze GPU particle simulation (r.GPUParticle.Simulate)
[Replicated from Dev-Rendering checkin CL# 2989752 by Olaf]
#rb olaf.piesche
#tests Tested the command in Agora and verified that GPU particles were not being drawn
Change 2992158 on 2016/05/26 by Michael.Noland
Rendering: Added a cvar that controls unbinding of all texture resources between materials changes in the DX11 renderer (r.UnbindResourcesBetweenDrawsInDX11) to improve the readability of GPA captures
Note: This will probably be moved to be on when markers are on rather than an independent cvar, but it is currently separate for testing
#codereview marcus.wassmer
#rb none
#tests Ran with the var off and on and verified in GPA captures
Change 2991645 on 2016/05/26 by Andrew.Grant
Fix for filesize returning 0 if file not found
#rb none
#tests bugit now works
#jira OR-20488
Change 2991290 on 2016/05/26 by Mieszko.Zielinski
Added a static flag to NavigationSystem that can be used to short-circuit dynamic navigation related functions #UE4
Will save some perf on PS4 in Orion, since clients do use navigation system there.
#rb Lukasz.Furman
#test golden path
Change 2991288 on 2016/05/26 by Mieszko.Zielinski
CL#2990243 manually redone in for Orion #UE4
Original description:
> Fixed behavior tree observers not being applied correctly
#rb Lukasz.Furman
#test golden path
Change 2991271 on 2016/05/26 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2990688
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2991269 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2991185 on 2016/05/26 by Mieszko.Zielinski
Fixed UAITask_MoveTo not releasing paths properly, or clearing path observing when task is being reused #UE4
Also, fixed FNavigationPath::DoneUpdating not converting ENavPathUpdateType properly
#rb Lukasz.Furman
#test golden path
Change 2990788 on 2016/05/25 by Marcus.Wassmer
Fix deprecation warning
#rb none
#test none
Change 2990582 on 2016/05/25 by Marcus.Wassmer
Now that render commands are enqueued again on servers, we shouldn't outright crash if an allocation gets to nullrhi
#codereview Dmitry.Rekman
#rb none
#test none
Change 2990450 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#rb:David.Hill
#jira:OR-22233
#test:PC
Change 2990199 on 2016/05/25 by Marcus.Wassmer
Remove experimental HDR support in tonemapper. Brings tonemapper cost back down into line
#rb none
#codereview Michael.Noland,Brian.Karis
Change 2989908 on 2016/05/25 by Andrew.Grant
Changed warning about DDC cache full to Display
#rb none
#tests compiled
Change 2989903 on 2016/05/25 by Mieszko.Zielinski
Made BT component ignore subtree injection request if relevant BT nodes already use indicated asset #UE4
#rb Lukasz.Furman
#test golden path
Change 2989795 on 2016/05/25 by Ryan.Gerleve
Fix for storing the correct URL on the pending net game for replay playback.
Re-implemented this fix from Dev-Networking CL 2981198, fixes deathcam after latest main integration.
#tests played a reply, enabled deathcam
#rb none
Change 2989483 on 2016/05/25 by David.Ratti
ToggleJuggernaut cheat
#rb danY
#tests pie
Change 2989384 on 2016/05/25 by Graeme.Thornton
Extra chunk decryption tests and logging to help diagnose the random failure we're seeing in the wild
- retry decrypt three times
- after the first attempt, re-decrypt original source, just incase the decrypt cache has been corrupted
#tests cooked pc client + dedicated server
#rb robert.manuszewski
Change 2989225 on 2016/05/24 by Dmitry.Rekman
Fix rare crash in Linux threading code (OR-22193).
- Sometimes, for some reason, freeing memory for an alternate thread from a thread in PostRun() can crash because the jemalloc apparently does not have an arena for this thread anymore.
- This change works around the problem by allocating the said memory statically in LinuxThread class.
#rb none
#codereview Bob.Tellez, David.Vossel
#tests Compiled Linux server, started it.
Change 2988768 on 2016/05/24 by Uriel.Doyon
Added support for SkinnedMesh in the texture streaming MeshCoordSize accuracy viewmode.
#RB marcus.wassmer
#tests loaded game and editor
Change 2988462 on 2016/05/24 by Mieszko.Zielinski
Added a piece of logging to both scenarios or movement aborting in UPathFollowingComponent::UpdatePathSegment to be able to tell them appart while reading the log #Orion
#rb Lukasz.Furman
#test golden path
Change 2988036 on 2016/05/24 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2987910
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2988035 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2987457 on 2016/05/23 by Mieszko.Zielinski
Redone changes from CL#2981193 #UE4
Original description: fixed missing observers in behavior tree when dynamic subtree is changed while waiting for full restart (out of nodes)
#rb Lukasz.Furman
#test golden path
Change 2987388 on 2016/05/23 by Olaf.Piesche
Replicating CL 2985226; don't push mesh emitter transform to pixel shader unless used in the material graph
#rb marcus.wassmer
#tests editor game PC
Change 2986255 on 2016/05/22 by Mieszko.Zielinski
Manually resolving conflict that stoped robomerge from Main to DG #Orion
#rb none
#test compile
#codereview Jason.Bestimt
Change 2986209 on 2016/05/21 by Andrew.Grant
Removed hitchunter logging from http thread
#rb none
#tests compiled
Change 2986202 on 2016/05/21 by Andrew.Grant
Merging //UE4/Main @ 2981382 from //UE4/Orion-Staging
#rb none
#tests engine & game QA passed, built locally
Change 2985899 on 2016/05/20 by Rob.Cannaday
Move PS4 HTTP processing to HTTP thread
#tests golden path
#rb dmitry.rekman
Change 2985884 on 2016/05/20 by Bart.Bressler
Fix issue where oodle wasn't enabled in shipping correctly.
#rb john.pollard
#tests ran orion server in shipping and connecting with a client
Change 2985778 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2985753
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2985774 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985760 on 2016/05/20 by Rob.Cannaday
Second pass on HTTP threading
Move threaded objects into separate class, FHttpThread. FCurlHttpThread derives from FHttpThread and the curl multi work is performed in FCurlHttpThread
Removed code that limited number of curl easy requests that were added to the multi simultaneously / per frame as now that curl work is performed on a separate thread the performance no longer directly impacts the game thread
Remove lock from CurlHttp and instead of use FThreadSafeCounter
#rb dmitry.rekman
#tests golden path (PC & PS4)
Change 2985658 on 2016/05/20 by John.Pollard
Fixed issue with cached http replay results making time go backwards
#rb none
#tests replays
Change 2985640 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.ratti
Ability System: call OnRemove event for gameplay cues that are mispredicted. Previously if a looping GC was predictively added, it would only get the OnRemove event if the replicated GC was removed. In the case of a mis prediction there is no replicated version, so the OnRemove was never called and cleanup was never happening.
#rb FrankG
#tests multi pie
#ROBOMERGE-SOURCE: CL 2985638 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985631 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.ratti
Fast TArray serialization fixes:
1. Fix case where Array ReplicationKey has changed no items between base and current state have changed. Previously server would early out and not send an update: but this needs be sent so that the client can potentially perform an implicit delete.
This fixes the case where client TArray would have stale items hanging around until a new update was sent (which could potentially be never).
2. Fix case where an array item would be deleted by both explicit delete and implicit delete: causing other items in the array to be deleted (!).
#rb frankG, pollard
#tests golden path
[CodeReviewed] Bob.Tellez, Billy.Bramer, Ben.Zeigler
#ROBOMERGE-SOURCE: CL 2985629 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985542 on 2016/05/20 by Daniel.Lamb
Added per package stats.
Optimized cooker, moved FTextureSource::Compress from UTexture::Presave to UTexture::Serialize so we can avoid it in the cooker.
#rb Robert.Manuszewski, Andrew.Grant, Marcus.Wassmer
#test cook paragon, save packages paragon editor
Change 2985152 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2985092
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2985150 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985001 on 2016/05/20 by Chris.Wood
Move fullcrashdump location for Paragon from QA deptartment storage to Paragon project storage. Changes CrashReportClient config only.
Change 2984839 on 2016/05/20 by Robert.Manuszewski
Renaming some confusing function names and updating messages related to exception handling.
#rb none
#tests Cooked Win64 Client and Server, Tested crash reporting in cooked game
Change 2984517 on 2016/05/19 by Mike.Larson
Adjusted 'PlatformHeadroom' audio volume settings to DB-3 on both Windows and PS4
Change 2983932 on 2016/05/19 by jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2983814
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2983921 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: jason.bestimt
Change 2983864 on 2016/05/19 by Wes.Hunt
Added missing assignment copy/move ops to FAnalyticsEventAttribute. Doh, should have looked at more usages of PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS...
#codereview:steve.robb
#rb none
#tests compiled Orion Editor Win64
Change 2983780 on 2016/05/19 by Wes.Hunt
Modernize FAnalyticsEventAttribute usage. #jira UE-30551.
Replaced FAnalyticsEventAttribute various ctors with a perfect forwarding one that can convert them to strings.
* The Name must be convertible to a string
* The value must be convertible to a string via an AnalyticsConversion::ToString() overload.
* Added/expanded the supported conversions to strings to analytics attribute values. See AnalyticsConversion.h which contains all the previously supported conversions and more.
Added MakeAnalyticsEventAttributeArray(), which uses variadic templates to create an array of event attributes inline, which can be passed to RecordEvent[Json] and efficiently taken ownership of:
RecordEvent("EventName", MakeAnalyticsEventAttributeArray(
"Attr1", false,
"Attr2", 42.0,
"Attr3", SomeMap,
"Attr4", SomeArray);
#codereview:steve.robb,david.decker,sam.spiro
SamS - you've been asking for better attribute conversion facilities for years. Finally got it, haha.
SteveR - I only added copy/move ctors to FAnalyticsEventAttribute. Do I also need to explicitly add the copy/move assignment ops?
DavidD - This will allow you to create attributes a lot more easily and efficiently now.
#rb steve.robb,david.decker
#tests orion editor runs
Change 2983702 on 2016/05/19 by Daniel.Lamb
Renumbered cooking stats to be more correct
#rb Wes.Hunt
#test cook paragon.
Change 2983392 on 2016/05/19 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2983342
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2983391 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2982910 on 2016/05/18 by Marcus.Wassmer
Don't fail entire deployments because obsolete manifest can't find the files to delete
#rb none
#codereview Peter.Sauerbrei
#test none
Change 2982902 on 2016/05/18 by Marcus.Wassmer
Disable HTTP networkfilesystem because it constantly crashes cookonthefly servers. platform team is aware
#rb none
#test cookonthefly
Change 2982837 on 2016/05/18 by David.Ratti
Spot merge safety check in ~FAgggregator. From BobT CL 2966255.
#rb none
#tests compile
Change 2982723 on 2016/05/18 by Wes.Hunt
Analytics no longer adds IsEditor attribute to all events. Wasn't actually used by anyone anymore. #jira UE-30559
#rb none
#tests none
Change 2982716 on 2016/05/18 by Wes.Hunt
Remove Analytics code to divert legacy code to source data collector. #jira UE-27794
#rb none
#tests run orion editor
Change 2982707 on 2016/05/18 by Wes.Hunt
AnalyticsET support for arbitrary Json events. #jira UE-30375
* AnalyticsET supports a new API, RecordEventJson.
* API supports rvalue refs to avoid unnecessary copies of the attribute array.
/**
* Sends an event where each attribute value is expected to be a string-ified Json value.
* Meaning, each attribute value can be an integer, float, bool, string,
* arbitrarily complex Json array, or arbitrarily complex Json object.
*
* The main thing to remember is that if you pass a Json string as an attribute value, it is up to you to
* quote the string, as the string you pass is expected to be able to be pasted directly into a Json value. ie:
*
* {
* "EventName": "MyStringEvent",
* "IntAttr": 42 <--- You simply pass this in as "42"
* "StringAttr": "SomeString" <--- You must pass SomeString as "\"SomeString\""
* }
*
* @param EventName The name of the event.
* @param AttributesJson array of key/value attribute pairs where each value is a Json value (pure Json strings mustbe quoted by the caller).
*/
virtual void RecordEventJson(const FString& EventName, TArray<FAnalyticsEventAttribute>&& AttributesJson) = 0;
#codereview:david.decker
#rb david.decker
#tests run orion editor
Change 2982057 on 2016/05/18 by David.Ratti
GameplayCue loading - fix issue where GCM would invoke fully loaded when there were still UGameplayCueNotify_Statics to be loaded.
#rb Ori.Cohen
#tests golden path
Change 2981943 on 2016/05/18 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2981896
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2981942 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2981812 on 2016/05/18 by Robert.Manuszewski
Suspending thread heartbeat when a message box is being displayed. Fixes false positives in hand detection.
#rb Steve.Robb
#tests Cooked and launched win64 client and server
Change 2981718 on 2016/05/18 by Robert.Manuszewski
Changed how suspending/resuming thread heartbeat works: it will no longer create a heartbeat for a thread that hasn't sent any heartbeats yet.
Reimplementing CL #2951209 from Dev-Core
#rb Steve.Robb
#tests None
Change 2981108 on 2016/05/17 by Wes.Hunt
Fix perfect forwarding constructor in CookStats stuff.
#rb none
#tests investigating assembly output of cook stats code.
#codereview:daniel.lamb
Change 2981028 on 2016/05/17 by Nick.Atamas
Fixing hittest grid with virtual cursor.
We now prefer any directly hit-test widgets with higher layer ids to those discovered through a distance search.
#rb none
#test Game menus
#codereview Cody.Haskell,Matt.Kuhlenschmidt,Sammy.James,Dan.Hertzka
Change 2980963 on 2016/05/17 by Marc.Audy
Fix shadowed variable
#rb None
#tests Compile
Change 2980917 on 2016/05/17 by Daniel.Lamb
Removed script packages from unable to find packages warning.
#rb Andrew.Grant
#test cook paragon
Change 2980838 on 2016/05/17 by Marc.Audy
Shave some time out of UPlayerInput::ProcessInputStack
#rb Michael.Noland
#tests Input works, performance improvement
Change 2980710 on 2016/05/17 by Michael.Noland
Engine: Added helpful comments to the LOD visualization colors
#rn
#rb david.ratti
#tests none
Change 2980706 on 2016/05/17 by Michael.Noland
Engine: Removed unused setting bAllowDebugViewmodesOnConsoles (replaced some time ago by r.ForceDebugViewModes)
#rn
#rb david.ratti
#tests Ran a cooked build with only r.ForceDebugViewModes=1 and confirmed that debug view modes still worked
Change 2980703 on 2016/05/17 by Michael.Noland
Blueprints: Added support for emitting the Blueprint Description as tooltip metadata for the compiled Blueprint class (displayed in class pickers, etc...)
#rb david.ratti
#tests Tested on a Blueprint in Paragon
#codereview mike.beach
#rn
Change 2980702 on 2016/05/17 by Michael.Noland
Rendering: Added ProfileGPU to the console autocomplete list
#rb david.ratti
#tests Tried typing Profile in the console and verified that the completion worked and tooltip was displayed
#rn
Change 2980697 on 2016/05/17 by Michael.Noland
Landscape: Added a 'resource' name for landscape to improve display in the mesh summary list of ProfileGPU
#codereview jack.porter
#rb david.ratti
#tests Used ProfileGPU while standing on some terrain
#rn
Change 2980692 on 2016/05/17 by Michael.Noland
Landscape: Added a scalability CVar for landscape LOD biasing (r.LandscapeLODBias)
#codereview jack.porter
#rb david.ratti
#tests Ran around in Paragon with various r.LandscapeLODBias values
#rn
Change 2980630 on 2016/05/17 by Daniel.Lamb
Added more warnings to help track down crash in paragon cook.
#rb Andrew.Grant
#test cook orion
Change 2980585 on 2016/05/17 by Jamie.Dale
Fixed an issue where the editable text caret could become invisible when using UI scaling
It's now clamped to a min draw size of 1px.
#jira OR-18524
#rb none
#tests Built and ran the game. Verified that the caret now appears where it didn't before.
Change 2979908 on 2016/05/16 by jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2979859
#RB:none
#Tests:none
#CodeReview: jaymee.stanford
Change 2979472 on 2016/05/16 by Nick.Atamas
Added support for not clearing the render target when rendering a widget.
#rb Nick.Darnell
#test PIE w/ minimap
Change 2979434 on 2016/05/16 by Dmitry.Rekman
Server: Add reporting of frame time without sleep.
- Also add NumClients to each event so it's easy to filter events that didn't have 10 clients.
#rb none
#tests Built Linux server, ran match on a compatible content.
Change 2979267 on 2016/05/16 by Dmitry.Rekman
Improvements in server hitch hunting / alerting.
- Add an analytics event for unplayable conditions.
- Send % of frames we hitched and time we spent hitching.
- Send more detail about the machine.
#rb none
#tests Built Linux server and Windows client, played a match.
Change 2979030 on 2016/05/16 by Andrew.Grant
Added quick way to reasign GUIDs (-AssignNewMapGuids) to map objects
#rb none
#tests used in editor
Change 2978914 on 2016/05/16 by David.Ratti
Fix issue causing gameplay cue parameters not properly being passed through in cases where GA adds/removes gameplay cue.
#rb DanY
#tests multi pie
#codereview Dave.Ewing
Change 2978681 on 2016/05/16 by Martin.Wilson
Performance improvements for recalc required bones, removed a lot of unneeded array iterating. Reduces cost to roughly 30% of original code.
#rb Thomas.Sarkanen
#tests PS4 games, ded server
Change 2978098 on 2016/05/15 by Andrew.Grant
Clearer error message
#rb none
#tests ran game
Change 2977597 on 2016/05/13 by Olaf.Piesche
Merging using //UE4/Dev-Rendering->//Orion/Dev-General; fixes for beam particle selection code
#rb martin.mittring
#tests PC editor game
Change 2977531 on 2016/05/13 by Daniel.Lamb
Added cooking stat for PreSave callback.
#rb Wes.Hunt
#test cook paragon
Change 2977340 on 2016/05/13 by jason.bestimt
#ORION_MAIN - Merge 26@ CL 2977290
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2977329 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: jason.bestimt
Change 2977139 on 2016/05/13 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jon.lietz
OR-20830 only allow the periodic effects from a gameplay volume trigger first application triggers on BeginOverlap and Enable volume.
#RB DaveR
#test tracked when the poinson from an active card is applied and not applied
#ROBOMERGE-SOURCE: CL 2977135 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976741 on 2016/05/13 by David.Ratti
GameplayCues that are triggered off animation notifies on the non-primary mesh will now properly attach to that non primary mesh.
#rb lietz
#test pie, golden path
Change 2976715 on 2016/05/13 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
[NULL MERGE]
Fix for bad merge
#rb none
#tests built automation
#ROBOMERGE-SOURCE: CL 2976680 in //Orion/Release-0.26/... via CL 2976712 via CL 2976713 via CL 2976714
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976679 on 2016/05/13 by Robert.Manuszewski
Tweaks to DLL injection detection code
#rb Steve.robb
#tests cooked Win64 client
Change 2976670 on 2016/05/13 by Robert.Manuszewski
UAT: Arxan upgrade to 3.9.1
#rb Ben.Marsh
#tests Win64 cooked client (test config)
Change 2976654 on 2016/05/13 by Graeme.Thornton
Shadowed variable warning fix
#rb none
#tests compiled win64/ps4 client
Change 2976645 on 2016/05/13 by Graeme.Thornton
Refactoring of resident mip calculations
- Cooker takes into account the same compression block thresholds that the runtime previously used
- Runtime doesn't attempt to calculate which mips to perma-load, but just looks at the ones whose bulk data is flagged as end-of-file or seperate-file
#rb nick.penwarden
#tests win64/ps4 client builds, golden path
[CL 3000872 by Andrew Grant in Main branch]
2016-06-04 01:20:53 -04:00
UE_LOG ( LogPakFile , Warning , TEXT ( " Pak chunk signature verification failed! " ) ) ;
UE_LOG ( LogPakFile , Warning , TEXT ( " Chunk Index: %d " ) , ChunkInfo . Index ) ;
UE_LOG ( LogPakFile , Warning , TEXT ( " Chunk Offset: %d " ) , ChunkInfo . Offset ) ;
UE_LOG ( LogPakFile , Warning , TEXT ( " Chunk Size: %d " ) , ChunkInfo . Size ) ;
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
ensure ( bHashesMatch ) ;
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 3028454)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3028439 on 2016/06/27 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 28 @ CL 3028090
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3028437 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3027952 on 2016/06/26 by Jurre.deBaare
- Integrating code fixes/changes from Simplygon for Normals issue on Simplygon Swarm + landscape culling
- Readded landscape/volume culling for in-engine static mesh merging path
- Fixed issue with r.HLOD force -1 (now stops forcing hlods)
- Marked hlodcullingvolume as experimental
- Added Landscape culling flag + precision level
#codereview Michael.Noland
#rb Michael.Noland
#tests build clusters locally/cloud + landscape culling tests
Change 3027702 on 2016/06/25 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 3027698
#RB:none
#Tests:none
Change 3027312 on 2016/06/24 by Daniel.Lamb
Changed the way reentry data is stored in the cooker, reduce work load by main thread, also fix issue with reentry data being used from incorrect packages.
#rb Peter.Sauerbrei
#test QA game launch on and cook by the book + cook on the fly paragon
Change 3027165 on 2016/06/24 by Daniel.Lamb
Fix compiler warnings from cvars changes.
#rb none
#test cook paragon
Change 3026900 on 2016/06/24 by Daniel.Lamb
Change the way low quality lightmap shaders are enabled / disabled as the engine can't be used in the should cache function.
#rb Marcus.Wasmer
#test Cook on the fly paragon
#codereview Rolando.Caloca
Change 3026874 on 2016/06/24 by Olaf.Piesche
#jira OR-18363
fix distortion in particle macro UVs with camera movement
#rb frank.fella
#tests PC Editor/Game
Change 3026494 on 2016/06/24 by jason.bestimt
#ORION_MAIN - Merge 28 @ CL 3026460
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3026476 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: jason.bestimt
Change 3026381 on 2016/06/24 by Graeme.Thornton
Strip particle modules, emitters and lodlevels from cooked server data. Saves ~10mb of runtime memory on Paragon
#rb simon.tovey
#codereview dmitry.rekman
#tests pc cooked client/server, golden path
Change 3025760 on 2016/06/23 by jason.bestimt
#ORION_MAIN - Merge 28 @ CL 3025687
#RB:none
#tests:none
#ROBOMERGE-SOURCE: CL 3025709 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/Sword/Meshes/sword.uasset - can't integrate exclusive file already opened
//Orion/Dev-General/OrionGame/Content/Characters/Heroes/Sword/Meshes/sword_Skeleton.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 3025661 on 2016/06/23 by Mieszko.Zielinski
Added a feature to PathfollowingComponent allowing it to identify when it starts following a navigation link #UE4
#rb Lukasz.Furman
#test golden path
Change 3025359 on 2016/06/23 by Jason.Bestimt
#ROBOMERGE-AUTHOR: sam.zamani
#online,externalui,ps4
- expose access to reset cookies before invoking embedded web browser
- fixed not capturing resulting Url when PS4 browser is closed
#rb none
#tests ps4
#ROBOMERGE-SOURCE: CL 3025356 in //Orion/Release-28/... via CL 3025358
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3025184 on 2016/06/23 by Lina.Halper
Fix crash with morphtargets
#jira: OR-24257
#rb: Rolando.Caloca
#tests: switching mesh with different morphtargets in editor
Change 3024714 on 2016/06/23 by Lukasz.Furman
added vlog extension to visual debugger tool, added object whitelist to vlog to include selected minion data in games started with -LogBotGame param
#rb Mieszko.Zielinski
#tests server game with and without LogBotGame cmdline
Change 3024709 on 2016/06/23 by Daniel.Lamb
Added support for async save when saving seperate bulk data file.
Added mb saved to cooking package stats.
#rb Andrew.Grant,Wes.Hunt
#test Cook Paragon
Change 3024674 on 2016/06/23 by Jason.Bestimt
#ROBOMERGE-AUTHOR: sam.zamani
Merging //Orion/Release-28 to Main (//Orion/Main)
#online,identity,ps4
- add psplus flag to online account after privilege check
#rb none
#tests ps4 login flow
#ROBOMERGE-SOURCE: CL 3024672 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3024510 on 2016/06/23 by Graeme.Thornton
Added more info to the dumpparticlesystems exec command output
#rb simon.tovey
#tests cooked pc client, golden path
Change 3024504 on 2016/06/23 by Graeme.Thornton
Asset registry memory optimisation - make sure all dependency node link arrays are sized exactly as they need to be (saves ~1mb)
#rb robert.manuszewski
#tests windows cooked client, golden path
Change 3024213 on 2016/06/22 by Ryan.Gerleve
Handle a rare case in replays where the spectator controller is null but we still find a valid NetGUID for it.
Added an ensure before a check that would fail in this case so we'll know if it happens again.
#tests replays
#rb john.pollard
Change 3024127 on 2016/06/22 by John.Pollard
Bulk merge using Dev-Networking_->_Dev-General_(Orion)
3002989
Add ability to skip missing/changed properties in FFastArraySerializer
3003072
Fix crash related to new replay backwards compatibility changes
3008097
Renaming CompatibleReplayout to NetFieldExportGroup preparing to unify ability to use FNetFieldExportGroup for both RepLayout and FClassNetCache
3009684
Added ability to use FNetFieldExportGroups for FClassNetCache as well as FRepLayout
* Adds ability to track missing/changed custom delta properties names
* Adds ability to track missing/changed RPC's
3013455
Add ability to skip over RPC parameters that have changes/missing in replays for backwards compatibility
* We now mark FClassNetCache properties as bIncompatible so we don't spam forever when they are out of date
* No longer factor in parameters when building checksum for RPC's
* Save FNetFieldExport handle for FClassNetCache fields
* Use WriteIntWrapped when saving FClassNetCache fields FNetFieldExport handles (and use NetFieldExportGroup->NetFieldExports.Num() to determine max value)
* Lots of cleanup and sanity checking improvements
3018078
Optimize replay checkpoints
* Share work that was already done during normal replication, and re-use this data to remove the need to compare any checkpoint properties
* When saving a checkpoint, we no longer create a new connection and new channels, instead we re-use the existing channels, and added the ability to make this a transient operation
* To make custom delta serialize properties work, we compare against the CDO state instead of current state when saving out a checkpoint
3021196
Fix issue with Fast tarray exporting package map info during checkpoints
* Add ability to save and restore package map ack status
* Save package map ack status before saving checkpoint, and then restore it back afterwards, this will then allow the stream that writes afterward to re-export anything that was new in the checkpoint
* No longer queue up reliable bunches on ack list for internal ack connections
3024033
Prune the cached change list before using when saving out checkpoints
* Fixes issues when saving checkpoint, and the live properties change array size, which throws everything off when it comes time to use the LifetimeChangelist
3024034
Don't close channels when saving checkpoints, fixes issue where it creates a bunch with bOpen/bClose (because we're forcing all SendBunches to re-open channels), which throws off the stream
#rb RyanG
#tests Replays
Change 3024021 on 2016/06/22 by Dmitry.Rekman
Fix PS4 build.
#rb Michael.Noland
#tests none
#codereview Michael.Noland, Dan.Youhon, Sammy.James
Change 3023734 on 2016/06/22 by Lukasz.Furman
added replication for input events and tool state for both gameplay debugger categories and extensions
#ue4
#rb Mieszko.Zielinski
#tests PIE, server game
Change 3023708 on 2016/06/22 by Dmitry.Rekman
Add a separate macro for a poison malloc proxy usage.
#rb Michael.Noland
#codereview Michael.Noland, Gil.Gribb
#tests Compiled OrionServer-Linux-Debug, ran it
Change 3023670 on 2016/06/22 by Nick.Darnell
Home screen - Fixing safezones on the homescreen. Adding a scale option to the XP_Fill widget. Adding better animations to the tiles. Showing subtitles again. Hero XP summary widget now takes you to that hero.
#rb none
#tests PIE
Change 3023632 on 2016/06/22 by Dmitry.Rekman
Fix incorrect matching condition in comments.
#rb none
#tests Compiled OrionServer-Linux-Debug
#codereview Michael.Noland
Change 3023475 on 2016/06/22 by Rolando.Caloca
O - Back out changelist 3022847 as it broke SSS on PC
#rb none
#tests re-run editor on PC
Change 3023178 on 2016/06/22 by Michael.Noland
Engine: Added system memory and % of time spent hitching to analytics
#rb bob.tellez
#tests Tested a match in Paragon
Change 3022963 on 2016/06/22 by Mieszko.Zielinski
Fixed a subtle navigation repathing bug #UE4
While repathing to a location, rather than an actor, the navigation query used path's end while it should be using the original query's EndLocation.
#rb Lukasz.Furman
#test golden path
Change 3022865 on 2016/06/22 by David.Ratti
gameplay cue editor: remove "GameplayCue_" prefix from default GameplayCueNotify filename in default ability system projects
#rb none
#tests ability system sample project
Change 3022847 on 2016/06/22 by Rolando.Caloca
O - Remove checkerboard SSS rendering and recombine post process pass when SSS not enabled
#rb Marcus.Wassmer
#codereview Marcus.Wassmer, Brian.Karis
#tests Load Agora_P, check perf, toggle r.SSS.Quality 1/0, check characters with skin
Change 3022804 on 2016/06/22 by Mieszko.Zielinski
Fixed AIController clearing out CachedGameplayTasksComponent on UnPosses, even if Pawn was not the CachedGameplayTasksComponent's owner #UE4
Also, made running BT not clearing info in BB if AI's current BB is compatible with the one required by BT
#rb Lukasz.Furman
#test golden path
Change 3022674 on 2016/06/22 by Robert.Manuszewski
Reimplementing CL #2993969 (Dev-Blueprints) by Maciej.Mroz:
UE-30729 Crash in Native Orion when selecting Sword or Tomahawk
Clear AsyncLoading in subobjects.
#jira OR-23997
#rb me
#tests Golden path in editor build, selecting Venus
Change 3022405 on 2016/06/21 by Ryan.Gerleve
Fix for OR-23948, crash with death cam enabled. Use a weak pointer to store the viewer on the DemoNetDriver and update it when the game player controller is received.
#rb john.pollard
#tests bug repro
Change 3022387 on 2016/06/21 by Ryan.Gerleve
Added the ability to disable ticking of individual worlds.
#tests golden path
#rb john.pollard
#codereview marc.audy
Change 3022312 on 2016/06/21 by Nick.Darnell
Home Screen - Adding a max aspect ratio lock to SBox, may need some more fine tuning math may still be a bit pants in some cases. The XP ovewview panels now have a basic support for account and hero progression. Hero one shows the last hero you played, widget is invisibile until you play your first game. The tiles now use the Max Aspect Ratio to prevent stretching forever on 21:9 monitors causing them to just look crazy. Weekly quests now show the weekly quests screen when clicked. OrionUserWidgetBase no longer prevents blueprints from running code in reponse to mouse down/up actions if the userwidget consumes input - it always calls the blueprint code first, and always returns handled if it consumes input.
#rb none
#tests PIE
Change 3022207 on 2016/06/21 by Wes.Hunt
Fix Analytics provider to retain passed in AppVersion string instead of using default %VERSION%.
#rb none
#tests run windows server with one bot connecting and checking analytics version is what is expected.
Change 3021808 on 2016/06/21 by Jason.Bestimt
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - call GetTotalMicroseconds instead of GetTotalMilliseconds * 1000
#rb none
#tests compile run ps4
#ROBOMERGE-SOURCE: CL 3021805 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3021663 on 2016/06/21 by Jason.Bestimt
#ROBOMERGE-AUTHOR: josh.markiewicz
#UE4 - CancelFindSessions() didn't null out search result
- future FindSession() calls would fail with "search in progress"
#rb joe.wilcox
#tests UT matchmaking
#ROBOMERGE-SOURCE: CL 3021655 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3021508 on 2016/06/21 by Marcus.Wassmer
Remove anti-ghosting AA for now.
Causes dithered transparency to be very wrong (Dekker shoulders)
And also a border around all characters of 'noisy fuzz' even when they are not moving
#rb none
#test PC/PS4
#codereview Brian.Karis,Jordan.Walker
Change 3021475 on 2016/06/21 by Marcus.Wassmer
Duplicate fix for subsurface spec in prep for PS4 optimization. (DevRendering 3018664)
unified some code for easier maintainance, fixed missing multiply from former change
#rb none
#test PS4/PC agora
Change 3021468 on 2016/06/21 by Michael.Noland
Physics: Added more information when convex cooking partially succeeds (fails initially but succeeds with inflation) indicating the full path of the mesh that failed
#rb ori.cohen
#tests Compiled changes, will provide more information when issue reoccurs in build machine cooks
#jira OR-24082
Change 3021460 on 2016/06/21 by Michael.Noland
Engine: Added time spent in each hitch bucket to FPS chart .log output and analytics output
#rb bob.tellez
#tests Tested a match in Paragon
#codereview dmitry.rekman
Change 3021368 on 2016/06/21 by Marcus.Wassmer
Create Tonemapper configuration with no ColorFringe to save .15ms on PS4 when colorfringe is not used.
#rb rolando.caloca
#test agora with/wo new config
#codereview brian.karis
Change 3021119 on 2016/06/21 by David.Ratti
Make -notimeouts work during initial connecting phase
#codereview John.Pollard
#rb none
#tests pie agora
Change 3021048 on 2016/06/21 by David.Ratti
minor tweaks to gameplay cues:
-Descriptions of engine GC notify classes
-Added 'auto attach to owner' flag on actor notify class.
#rb none
#test ability system sample project
Change 3020694 on 2016/06/20 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3020301
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3020674 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#CodeReview: cody.haskell
Change 3020624 on 2016/06/20 by Michael.Noland
Engine: Pushing more fps chart analytics up to engine level code from Paragon
Engine: Pushing benchmark config vars up to engine level code from Paragon, and added records of individual sub-steps of benchmarks
#rb Bob.Tellez
#tests Golden path Solo VS AI in Paragon and forced a match
#codereview bob.tellez, peter.knepley
Change 3020181 on 2016/06/20 by Dmitry.Rekman
Re-do allowing allocations in NullRHI (OR-24029).
- Originally CL 2990582 by MarcusW, stomped during merge by CL 3006926.
#rb none
#codereview Marcus.Wassmer, Andrew.Grant
#tests none
Change 3020139 on 2016/06/20 by Ryan.Gerleve
Added ability to pause replay recording while keeping the current replay open.
#rb john.pollard
#tests paused deathcam recording while disabled
Change 3019817 on 2016/06/20 by Dmitry.Rekman
Poison allocated/freed memory in Debug and Development (non-editor) configs.
- With this Paragon client may be more likely to crash on start.
#rb Steve.Robb
#codereview Robert.Manuszewski, Michael.Noland, Andrew.Grant, Gil.Gribb, Steve.Robb
#tests Built Linux server and Windows client, ran them, also built Windows Orion editor.
Change 3019599 on 2016/06/20 by Rolando.Caloca
O - Fix flickering on heroes with morph targets
#rb Marcus.Wassmer
#tests Load Agora_P
#jira OR-23866
Change 3019581 on 2016/06/20 by Wes.Hunt
Fix crash reporter client analytics for internal builds. (Pushing critical fix immediately from //UE4/Orion-Staging)
#rb Chris.Wood
#tests none
Change 3019524 on 2016/06/20 by David.Ratti
call APawn::OnRep_Controller when ClientRetryClientRestart sets the pawn directly
#rb none
#tests golden path
Change 3019406 on 2016/06/20 by Marcus.Wassmer
Duplicate 3014956 from Dev-Rendering
Fixed HLOD and mesh LODs getting hit by Lightmass ray traces that didn't originate from a mesh
Volume lighting samples and precomputed visibility cells are now only placed on LOD0 (of both mesh LODs and HLOD)
#rb none
#test none
#codereview Jordan.Walker
Change 3019371 on 2016/06/20 by Graeme.Thornton
Optimize cooked asset registry dependency node data structures. Saves ~10mb on Paragon.
#rb robert.manuszewski
#tests tested with cooked pc client + server
Change 3018492 on 2016/06/17 by Laurent.Delayen
FBoneReferenceCustomization: support editing properties in AnimBP defaults.
#rb none
#tests: Sword.
Change 3017974 on 2016/06/17 by Ryan.Gerleve
Add an option to toggle deathcam in the gameplay settings UI if the OrionRuntimeOption for deathcam is enabled.
#rb cody.haskell
#tests settings menu, enabled and disabled deathcam
Change 3017913 on 2016/06/17 by Robert.Manuszewski
Fixing leaked log archive.
#rb Steve.Robb
#tests Cooked Win64 client + server
Change 3017873 on 2016/06/17 by Daniel.Lamb
Fix warning in diff cooked build.
#test none
#rb none
Change 3017676 on 2016/06/17 by Sam.Zamani
#online,identity,mcp
fix for uninitialized variable
#rb dmitry.rekman
#tests none
Change 3017671 on 2016/06/17 by Robert.Manuszewski
Fxied and improved log message when cluster assumptions are violated.
#rb Steve.Robb
#tests Win64 client + server (cooked) golden path
Change 3017358 on 2016/06/16 by Nick.Atamas
Checking in Darnell's change that adds correct geometry to widgets inside retainer widgets.
#rb none
#test PIE
Change 3017242 on 2016/06/16 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3017179
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3017233 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/UI/Tooltips/Hero/AbilityTooltip.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 3017237 on 2016/06/16 by Dmitry.Rekman
Fix accessing uninitialized field (kills valgrind warnings).
#rb none
#codereview Michael.Noland, Andrew.Grant, Ori.Cohen
#tests Compiled and ran Linux server.
Change 3017236 on 2016/06/16 by Dmitry.Rekman
Initialize missed field (kills valgrind warnings).
#rb none
#codereview Michael.Noland, Andrew.Grant
#tests Compiled and ran Linux server.
Change 3017186 on 2016/06/16 by Dmitry.Rekman
Linux: Add hooks for libcrypto memory functions.
- Libcurl uses OpenSSL, which allocates memory using libcrypto's CRYPTO_malloc() and apparently on purpose does not initialize it.
- This change a) redirects these allocations to use UE's malloc b) initializes it with zeros, avoiding valgrind's warnings.
- This behavior is not used on Shipping configurations because the impact on entropy is not understood (TBD later).
#rb Michael.Noland, Rob.Cannaday (original version)
#codereview Michael.Noland, Rob.Cannaday, Alex.Fennel, Chris.Babcock, Sam.Zamani
#tests Compiled Linux server and ran it.
Change 3017037 on 2016/06/16 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
Merging content fix for driver crash from Release-27
#ROBOMERGE-SOURCE: CL 3017036 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3016838 on 2016/06/16 by Alexis.Matte
#jira UE-31901 fix to export all blueprint component to obj
#rb uriel.doyon
#codereview matt.kuhlenschmidt
#test export a blueprint containing multiple staticmesh component to obj
Change 3016629 on 2016/06/16 by Dmitry.Rekman
Make Binned default on Linux non-editor builds.
#codereview Andrew.Grant
#rb none
#tests none
Change 3016615 on 2016/06/16 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
Temporarily disabling jemalloc for Linux
#rb #tests none
[CodeReviewed] Dmitry.Rekman
#ROBOMERGE-SOURCE: CL 3016612 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3016566 on 2016/06/16 by Michael.Noland
Engine: Fixed a regression that broke safe zone debugging features in Windows by reintroducing code from CL# 2861030 that was accidentally deleted in a merge
#codereview andrew.grant
#rb dan.hertzka
#tests Tested r.DebugSafeZone.Mode 1 with r.DebugSafeZone.TitleRatio 0.9 in PIE and confirmed that SSafeZone obeyed it and the red overlay appeared
Change 3016521 on 2016/06/16 by Ryan.Gerleve
Client recoreded replay fixes and optimizations from Dev-Networking (and one from //UE4/Main), for deathcam.
Includes the following CLs from Dev-Networking:
2997908
2998001
2998832
2999054
2999057
2999749
3000051
3001361
3001365
3004958
3009972
3009973
And this CL from //UE4/Main:
3015528
#tests golden path, replays
#rb john.pollard
Change 3016503 on 2016/06/16 by Brian.Karis
Fixed uninitialized variables on particle lights. Fixes hair shading.
#rb none
#tests editor
Change 3016429 on 2016/06/16 by Max.Chen
Sequencer: Fix StartTime when clamping start offset 0. Follow up to CL #3009386.
#jira UE-29167
#tests Load up AnnounceMaster and adjust leading edge of animation clips
#rb Frank.Fella
Change 3016356 on 2016/06/16 by Lina.Halper
- Fix crash on rampage morphtarget
Merging using //UE4/Dev-Framework_to_//Orion/Dev-General
- this is dupe change from Dev-Framework
#jira: https://jira.ol.epicgames.net/browse/OR-23194
#rb: Ori.Cohen
#tests: editor/pie spawn as rampage's alt skin
Change 3015696 on 2016/06/15 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3015646
This re-unifies our build pipeline. Fingers crossed. (only 6 files are actually different)
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3015672 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3015642 on 2016/06/15 by Mieszko.Zielinski
Fixes to multiple reasons AI bots were getting stuck #Orion
#rb Lukasz.Furman
#test golden path
Change 3015622 on 2016/06/15 by Mieszko.Zielinski
fixed FMetaNavMeshPath doing navmesh path update without checking nav agent if pathfinding should be postponed #UE4
#rb Lukasz.Furman
#test golden path
Change 3015514 on 2016/06/15 by Uriel.Doyon
Fixed GlobalMipBias not affecting max texture resolution.
This fix is implemented differently in Dev-Rendering in CL 301498.
#jira OR-23511
#rb marcus.wassmer
#test played game with different quality settings
Change 3015258 on 2016/06/15 by Lina.Halper
Fix crash with recursive reference between two assets
#rb: Ori.Cohen
#tests: Sword
Change 3014988 on 2016/06/15 by Wes.Hunt
Fix Cook Analytics to correctly use the Legacy provider since it sends to a local data collector.
#rb daniel.lamb
#tests compile Orion
Change 3014962 on 2016/06/15 by Olaf.Piesche
Replicating CL 3013696 from Dev-Rendering; making quality level spawn rate scale work for GPU emitters.
#rb simon.tovey
#tests PC editor game
Change 3014958 on 2016/06/15 by Laurent.Delayen
Added SkeletalMeshComponent::bIncludeComponentLocationIntoBounds to help in cases where SMU_OnlyTickPoseWhenRendered is set, and an animation pushed the mesh beyond the capsule.
This ensures that when the capsule is in view, the mesh will remain updated.
#rb Michael.Noland
#test Sword ultimate from another player's view.
Change 3014833 on 2016/06/15 by Laurent.Delayen
Fix for Base Heroes having their locomotion blendspace broken.
#rb Thomas.Sarkanen
#codereview Thomas.Sarkanen
#tests Gadget networked PIE
Change 3014688 on 2016/06/15 by Nick.Darnell
UMG - Fixing IsHovered on UUserWidgets. SObjectWidget did not properly call the super for MouseEnter/MouseLeave allowing SWidget's implementation to set and unset the bool.
#rb none
#tests PIE
Change 3014325 on 2016/06/15 by Marcus.Wassmer
Duplicate 3012706:
Scalability CVAR for ContactShadows
#rb john.billon
#test flip cvar in editor.
Change 3014230 on 2016/06/15 by Robert.Manuszewski
Fix potentially missing log output when serializing text of length equal to the async log writer buffer size.
#rb Steve.Robb
#tests Tested in editor build (client + server)
Change 3013913 on 2016/06/14 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Updating from DMM (updated from 27.1MM)
#RB:none
#Tests:compiled
#ROBOMERGE-SOURCE: CL 3013912 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3013437 on 2016/06/14 by Simon.Tovey
Speculative fix for OR-23158
Couldnt' repro NANs but did see it reading garbage.
Reinstated the check that direct accesses for particles in a zero size emitter will return null.
Altered selection code to reselect when partilce is dead or returns null and to not allow new selection on zero size emitters.
#tests GoldenPath, No broken fx and no more reading garbage.
#rb Olaf.Piesche
Change 3013063 on 2016/06/14 by Jason.Bestimt
#ORION_DG - Unclog robomerge from DMM Merge
#RB:none
#tests:none
Change 3012936 on 2016/06/14 by Rob.Cannaday
Fix for multiple account login not kicking previous logins
Client was not parsing response from backend. Client was expecting content-type to be "application/json" (using FString::Equals). Backend was returning "application/json;charset=UTF-8". Changed usage from FString::Equals to FString::StartsWith
#jira FORT-25452
#rb sam.zamani
#tests multiple account login, frontend only
Merge from FN CL 3011647, plus fixing one other location expecting "application/json"
Change 3012696 on 2016/06/14 by Max.Chen
Sequencer: Select actors for corresponding selected keys or sections.
Copy from Dev-Sequencer
#jira UE-30727
#tests Load up AnnounceMaster and select keyframes
#rb none
Change 3012691 on 2016/06/14 by Max.Chen
Sequencer: Fix dragging the leading edge of a skeletal animation section so that it adjusts the start offset of the animation clip.
Copy from Dev-Sequencer
#jira UE-29167
#tests Load up AnnounceMaster and adjust leading edge of animation clips
#rb Frank.Fella
Change 3012690 on 2016/06/14 by Andrew.Grant
Removed Linux work-around for memory stomp alignment
#rb none
#tests compiled
Change 3012687 on 2016/06/14 by Max.Chen
Sequencer: Fix lower bound when doing post render tick so that the start of a shot doesn't render with the previous shot's time.
Copy from Dev-Sequencer
#rb none
#tests Load up AnnounceMaster and played through sequence
Change 3012627 on 2016/06/14 by Mieszko.Zielinski
Added logging of current MoveID to PathfollowingComponent's vlog snapshot #UE4
#rb none
#test golden path
Change 3012615 on 2016/06/14 by Mieszko.Zielinski
Improved fix to BTDecorator_Blackboard's latent tasks aborting #UE4
#rb Lukasz.Furman
#test golden path
Change 3012572 on 2016/06/14 by Dmitry.Rekman
Fix realloc with non-default alignment in jemalloc (OR-23541).
- Removed obsolete check(), the code was already there since CL 1834526.
#rb none
#codereview Andrew.Grant, Robert.Manuszewski
#tests none
Change 3012481 on 2016/06/14 by David.Ratti
ability system #include fixups and move orion attribute capture marcros into base engine ability system execution class
#rb none
#tests ability system sample project
Change 3012457 on 2016/06/14 by Andrew.Grant
Un-fix misaligned memory-stomp fix for Linux
#rb none
#tests compiled
Change 3012320 on 2016/06/14 by Graeme.Thornton
Fixes for MemoryAnalyser2 solution
- Upgraded to VS 2015
- Clean up solution configurations. Only leave "Any CPU"
- Switch project to build with "Any CPU" rather than "x64".
Reimplementation of CL 3012221 from Dev-Core
#rb robert.manuszewski
#tests opened the main window form correctly in visual studio
Change 3012316 on 2016/06/14 by Thomas.Sarkanen
Fix copying non-POD structs in the fast path
Prevents double-deletions of TArrays etc.
#jira UE-31394 - Fix problems with non-POD UStructs using the anim BP fast-path
#tests Played PIE & died as Sword in OrionEntry, Exited PIE.
#rb Martin.Wilson
Change 3012187 on 2016/06/14 by Graeme.Thornton
Corrected error message when not specifying linux server device command line correctly in UAT
#rb Dmitry.Rekman
#tests Checked error message was useful when wrong command line was specified
Change 3012026 on 2016/06/13 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3011936
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3011996 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/Hammer/Abilities/Subjugate/FX/P_SubjugateSwirls.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 3011969 on 2016/06/13 by Brian.Karis
Tweaks for hair
Change 3011638 on 2016/06/13 by Andrew.Grant
Fixed issue where RepLayout could use unaligned memoryfor property construction if allocator did not use a suitable default (fixes crash when running with MemStomp).
Also added sanity check in UScriptStruct::InitializeStruct that memory is correctly aligned before calling constructor
#codereview Dave.Ratti, John.Pollard
#rb none
#tests Ran with/without memstomp
Change 3011575 on 2016/06/13 by jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3011414
NOTE - Card data was altered. Shame shame shame. Not authoritative in DUI
#RB:none
#Tests:none
[CodeReviewed]: matt.schembari, kerrington.smith, sammy.james, matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 3011552 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: jason.bestimt
Change 3011462 on 2016/06/13 by Alexis.Matte
#jira UE-31901 The outputdevice is adding 2 uninitialize character at the end of any log, this is cause by the terminator logic. The fix is to not add those characters when no terminator should be add.
#rb nick.darnell
#codereview Robert.Manuszewski
#test export a obj file and verify all object are exported in maya or max
Change 3011424 on 2016/06/13 by Martin.Wilson
Hack out fastpath anim bp code until heap corruption issue can be fixed.
#rb Laurent.Delayen
#tests Persona + PIE
Change 3011191 on 2016/06/13 by Mieszko.Zielinski
Added missing initialization of PathFollowingComponent::CurrentMoveInput #UE4
#rb none
#test golden path
Change 3011138 on 2016/06/13 by Mieszko.Zielinski
Switched bots over from travel mode to sprinting #Orion
#rb Lukasz.Furman
#test golden path
Change 3011075 on 2016/06/13 by David.Ratti
Default GameplayAbility instancing policy to InstancePerExecution
#rb BenZ
#tests compile
Change 3011051 on 2016/06/13 by David.Ratti
Add missing include so GameplayAbilitySet.h can be included on its own.
#rb none
#tests compile
Change 3010968 on 2016/06/13 by Mieszko.Zielinski
Fixed console variables crashing on "" string #UE4
#rb Lukasz.Furman
#codereview Martin.Mittring
#test PIE
Change 3010888 on 2016/06/13 by Alexis.Matte
#jira OR-23301 Close the OS handle when closing the FAsyncWriter.
#rb Robert.Manuszewski
#codereview Robert.Manuszewski
#test try to export a obj file
Change 3010239 on 2016/06/11 by Michael.Noland
UMG - Adding back the logic to use the normal WidgetTree when the DesignerWidgetTree is not defined. [duplicated fix from CL# 2998267]
#jira UE-31570
#tests Compiled some blueprints
#rb none
Change 3009870 on 2016/06/10 by Wes.Hunt
Remove logging of analytics payloads from dedicated servers #jira UE-31858
#codereview:dmitry.rekman
#rb none
#tests All testing was done in Dev-Framework. This change was redone in this branch to get it here faster.
Change 3009599 on 2016/06/10 by Michael.Noland
Rendering: Corrected a misleading help comment on r.StaticMeshLODDistanceScale, explaining how it affects LOD calculations (it multiplies the effective distance, so larger numbers make transitions happen sooner)
#tests Verified in the output of the help command
#rb none
#rn
Change 3009559 on 2016/06/10 by Marcus.Wassmer
Fix 11/11/10 SceneColorFormat option, enable AntiGhosting on TemporalAA, ensure TemporalAA output is the correct format for accumulating results. Set SceneColorFormat to 2 on PS4 and lowspec PC. All in all saves .3-.5ms on PS4 and improves temporalAA ghosting.
#rb Brian.Karis
#test Agora PS4 / PC
Change 3009525 on 2016/06/10 by David.Ratti
Fix case where ObjectLIbrary would not be able to find classes when searching "/Game" path.
#rb none
#tests object libraries in paragon
Change 3009228 on 2016/06/10 by David.Ratti
remove world check. Can be triggered in editor with PIE
#rb none
#tests pie
Change 3009050 on 2016/06/10 by Dmitry.Rekman
Fix LinuxClient platform not being built on Windows, and not instantiating a target platform instance.
- Fixes by BenM.
#rb none
#codereview Ben.Marsh
#tests Compiled OrionEditor on Linux.
Change 3008973 on 2016/06/10 by Marcus.Wassmer
Fix Windualshock on VS2015
#rb Rolando.Caloca
#test PS4 controller on VS2015 build
Change 3008970 on 2016/06/10 by David.Ratti
Fix warning about minimal replication tag count
-Made bit count a config setting. Bumped to 5
-Minor optimization to UAbilitySystemGlobals::Get()
#rb none
#tests goldne path, pie
Change 3008478 on 2016/06/09 by Jason.Bestimt
#ORION_DG - Merge MAIN @ CL 3008469
#RB:none
#Tests:none
Change 3008416 on 2016/06/09 by Andrew.Grant
Adding 'config' as an option to set both clientconfig / serverconfig when using BuildCookRun
#review-3008417 Ben.Marsh, Justin.Sargent
#rb none
#tests BuildCookRun with config
Change 3008286 on 2016/06/09 by Dmitry.Rekman
Add LinuxClient target platform.
#rb none
#tests Compile OrionEditor on Linux.
#codereview Brad.Angelcyk, Ben.Marsh
Change 3007978 on 2016/06/09 by jason.bestimt
#ORION_MAIN - Merge DUI @ CL 3007507
#RB:none
#Tests:none
[CodeReviewed]: matt.schembari, kerrington.smith
#ROBOMERGE-SOURCE: CL 3007968 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3007771 on 2016/06/09 by Laurent.Delayen
Fixed GetIntFromComp breaking with INDEX_NONE. Fixes crash in OrientationWarping node.
#rb martin.wilson
#codereview martin.wilson
#tests Sword Leap.
Change 3007436 on 2016/06/09 by David.Ratti
change designer facing parameter name
#rb none
#test compile
Change 3007408 on 2016/06/09 by David.Ratti
WaitGameplayEffectBlockedImmunity - ability task for listening to immunity events
#rb danY
#tests pie
Change 3007250 on 2016/06/09 by bruce.nesbit
Banner impact location fix. (OR-23179)
#rb none
#tests Game+PIE
Change 3007228 on 2016/06/09 by Ben.Marsh
BuildGraph: Rename -SkipNodesWithoutTickets parameter to -SkipTargetsWithoutTickets, to reflect that it's filtering the list of targets rather than the full graph.
#rb none
#tests none
Change 3007225 on 2016/06/09 by Ben.Marsh
EC: Set the -TicketSignature=... parameter for all BuildGraph jobs started by EC to the URL of the current job.
Change 3006985 on 2016/06/08 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3006936
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3006978 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: jason.bestimt
Change 3006926 on 2016/06/08 by Andrew.Grant
Merging //UE4/Main @ 300872 via //UE4/Orion-Staging
#rb none
#tests engine QA, orion qa smoke
Change 3006444 on 2016/06/08 by Ben.Marsh
BuildGraph: Add mechanism to specify that nodes can only be built once for a given changelist. Nodes can have an associated ticket file, and they are only permitted to build if the ticket is assigned to the current job. Tickets are created if they don't exist, and written with a signature specific to the job specified via the -TicketSignature="..." parameter. By default, builds will fail if a ticket has been already granted to another job, but the -SkipNodesWithoutTickets parameter instructs the graph to skip affected nodes instead.
#rb none
#tests none
Change 3006389 on 2016/06/08 by Daniel.Lamb
Delay the processing of packages which aren't ready till the end of the cook.
This allows other packages to be processed sooner.
#rb Peter.Sauerbrei
#test cook orion.
Change 3006306 on 2016/06/08 by Michael.Noland
Rendering: Added FreezeRendering to the console autocomplete list
#rn
Change 3006305 on 2016/06/08 by Michael.Noland
HLOD: Added a way to control how far down the HLOD hierarchy to allow showing (can be used to limit quality loss and streaming texture memory usage on high scalability settings for example)
Controlled by the new cvar r.HLOD.MaximumLevel, which can be set to the following values:
-1: No maximum level (default)
0: Prevent ever showing a HLOD cluster instead of individual meshes
1: Allow only the first level of HLOD clusters to be shown
2+: Allow up to the Nth level of HLOD clusters to be shown
Note: This does not affect the memory used by the HLOD meshes itself or their always loaded low mip levels, it will only save the memory associated with streaming in the higher mip levels
HLOD: Allowed r.HLOD console command to be used in Test configurations
HLOD: Removed some dead code in ALODActor and scene view / scene proxy relating to a different way to force visualization that has no trigger
HLOD: Fixed an uninitialized memory bug in the static mesh scene proxy HLODcoloration visualization code
#rn
#codereview jurre.debaare
#rb marc.audy
#tests Tested with various settings in Paragon and tried creating some new clusters in the editor
Change 3006304 on 2016/06/08 by Michael.Noland
Engine: Changed the code in AActor::IncrementalRegisterComponents to obey bAutoRegister for the root component rather than asserting that it is true. Note: If children components have bAutoRegister=true, they will still pull the root component into the fray and cause it to be registered first
#rb marc.audy
#tests Tested with code that registers or unregisters HLOD clusters at varying levels in Paragon
Change 3006041 on 2016/06/08 by Andrew.Grant
Added buildidoverride to shipping whitelist
#rb none
#tests compiled and used param in shipping
Change 3005678 on 2016/06/08 by Ben.Marsh
Back out changelist 3004395
#rb none
#tests none
Change 3005265 on 2016/06/07 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3005120
#RB: none
#Tests: none
#ROBOMERGE-SOURCE: CL 3005250 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: jason.bestimt
Change 3005081 on 2016/06/07 by Daniel.Lamb
Reworked the way packages which are renamed on load are added to the cooked package list.
Cooker now has options for MaxMemoryAllowance as a percentage and also MinFreeMemory (which takes into account used system memory not just total system memory).
#rb Andrew.Grant, Marcus.Wasmer
#test cook orion
Change 3004752 on 2016/06/07 by Daniel.Lamb
Requeue packages to the next package on the list instead of to the end of the list.
#rb Andrew.Grant
#test cook orion
Change 3004560 on 2016/06/07 by David.Ratti
Kill timelines, latent actions, timer when recycling gameplay cues
#rb danY
#tests pie
Change 3004559 on 2016/06/07 by David.Ratti
Object Library:
-Added bool bIncludeOnlyOnDiskAssets that can be set by owner. Passed on to the AR filter when gathering assets.
GameplayCue Editor:
-Fix issue with new notifies not showing up after being created through the GC Editor (until restart).
-Fix issue for new projects, that don't have gameplayclue tags defined, not being able to add gameplay cue tags through the editor without restarting once.
#rb none
#tests editor
Change 3004395 on 2016/06/07 by Ben.Marsh
BuildGraph: Add a script function to ensure exclusive access to a given resource. The AcquireLockFile() function takes two arguments; a path to a text file, and the name of an owner. The file is created and the owner name written to it if it doesn't already exist, otherwise the contents of it are compared against the given owner string. The operation happens transactionally, and the function returns true if file contains the given owner string on exit. Logical and/or conditions are now also short-circuited, so the result of the AcquireLockFile() function can be used to control derived property definitions within an executing job.
#rb none
#tests none
Change 3004164 on 2016/06/07 by David.Ratti
Ability system: use player controller netmode over avatar actor when possible. Fixes issue if torn off, authority, client side actor tries to activate an ability.
#rb danY
#tests multi pie
Change 3003837 on 2016/06/07 by David.Ratti
Ability system engine work
-Default to /Game as search path for gameplay cues, if no explicit paths are set in the config.
#rb none
#tests ability sample project
Change 3002800 on 2016/06/06 by Marcus.Wassmer
Fix shader crash in PIE
#rb none
#test PIE
Change 3002657 on 2016/06/06 by Dmitry.Rekman
Do not copy to clipboard on crash if headless or on the wrong thread.
- Could result in crash handler crashing itself in some circumstances.
#rb none
#codereveiw Brad.Angelcyk
#tests Compiled Linux dedicated server and CrashReportClient.
Change 3002546 on 2016/06/06 by Daniel.Lamb
Improve cooking performance.
Allow cooker to save other packages opportunistically if main package is compiling shaders.
Allow cooker to load more packages if there aren't many packages to save.
#rb Josh.Adams
#test cook orion
Change 3002369 on 2016/06/06 by Marcus.Wassmer
Project setting for optional rendering features to reduce shader compile times.
# of shaders per material is reduced by ~30-40% depending on material
#rb Daniel.Wright
#test Editor with/without all options, cooked ps4.
Change 3002142 on 2016/06/06 by David.Ratti
Ability system engine level:
-Fix crash when gameplay cue editor starts if there are no gameplay cue paths specified
-Fix crash when GameplayCue tag is not specified
#rb none
#tests sample ability system project, paragon
Change 3002106 on 2016/06/06 by Jason.Bestimt
#ROBOMERGE-AUTHOR: sam.zamani
#orion
- add support for code tokens which can be shared/redeemed
- refactor of existing friend founder's pack codes to be displayed in a generic way using code token info
- added CodeToken.FounderFriendInviteT0 for new paragon tier 0 code which grants access to game without also giving a Founder's pack
- added CodeToken.FounderFriendInviteT1 to replace existing CodeToken.FriendPC and CodeToken.FriendPS4 Founder's pack codes. Existing codes aliased to the new CodeToken.FounderFriendInviteT1 code
- No longer differentiation between PC/PS4 friend codes
- "Share Friend Code" button will now process all available codes that can be issued instead of just 1
- updated Orion service Mcp call for getUnredeemedCodes() to ignore the code template id and return all available codes. Each returned code will also include the type
[CodeReviewed]: david.nikdel, jason.bestimt
#rb david.nikdel
#tests PC PIE using localhost and profile proxy for granting codes, also existing account with legacy codes
#ROBOMERGE-SOURCE: CL 3002104 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 3001218 on 2016/06/05 by jason.bestimt
#ORION_MAIN - Merge 27.2 @ CL 3001162
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 3001200 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: jason.bestimt
Change 2999508 on 2016/06/03 by jason.bestimt
#ORION_MAIN - Merge 27 @ CL 2999463
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2999498 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/Audio/ClassesAndMixes/Classes/Master.uasset - can't integrate exclusive file already opened
#CodeReview: jason.bestimt
Change 2999465 on 2016/06/03 by Robert.Manuszewski
Whitelisting more DLLs for injection.
#rb none
#tests none
Change 2999455 on 2016/06/03 by Lukasz.Furman
disabled path invalidation events for minions
#orion
#rb Mieszko.Zielinski
#tests PIE with additional debug logging
Change 2998488 on 2016/06/02 by Michael.Noland
Engine: Prevent forced drawing of spline components in Test configuration
#codereview james.golding
#tests Ran a cooked Test build on a map with splines in it
#rb david.ratti
#robomerge: main
Change 2997954 on 2016/06/02 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jon.lietz
OR-22425
no longer try to updat the tag map and modifiers when the gameplay effect that is being removed was not active.
#RB Dave.Ratti
#Tests golden path
#ROBOMERGE-SOURCE: CL 2997940 in //Orion/Release-0.27/... via CL 2997943
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2997750 on 2016/06/02 by Graeme.Thornton
Add FPakFile::Check() that attempts to open and read the data out of every file in a pak, to check for corruption
Added -checkpak option for force a check of every mounted pak file
#rb robert.manuszewski
#tests tested against cooked pc client. made sure my data succeeded. made sure corrupted data throws an error.
[CL 3031715 by Andrew Grant in Main branch]
2016-06-28 17:59:42 -04:00
//FPlatformMisc::MessageBoxExt(EAppMsgType::Ok, TEXT("Corrupt Installation Detected. Please use \"Verify\" in the Epic Games Launcher"), TEXT("Pakfile Error"));
//FPlatformMisc::RequestExit(1);
2014-03-14 14:13:41 -04:00
}
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2997507)
#lockdown Nick.Penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2997066 on 2016/06/01 by Michael.Noland
Engine: Marked engine performance target cvars ECVF_Scalability so they can be adjusted via scalability buckets at runtime for games that target different framerates on different levels of hardware
#rb none
#tests Ran Paragon and changed video settings and tested t.TargetFrameTimeThreshold
Change 2996816 on 2016/06/01 by Dan.Youhon
Add FixedWorldDirection option for Root Motion Radial Forces; code/BP hook-up for allowing Price's reworked RMB to send all targets in the same (correct) direction
- FixedWorldDirection added to both root motion system and corresponding ability tasks
- Exposed AddHitResult for EffectContexts for modifying EffectContext hit results from BP
- Hooked up to Price RMB - we (somewhat dirtily) route Price's location and facing through the HitResult of the EffectContext for his displacement GE
#rb Dave.Ratti
#tests MultiPIE
#codereview Billy.Rivers
#lockdown Billy.Rivers
Change 2996526 on 2016/06/01 by Brian.Karis
Fixed tube light typo
JB made this robomerge up. Shader recompiling in our future.
#RB:none
#Tests:none
#ROBOMERGE: MAIN, 27, 26.2
Change 2996428 on 2016/06/01 by Rolando.Caloca
O - Made r.D3D.RemoveUnusedInterpolators a system setting which now also alters ddc key; fix r.Shaders.FastMath actually affecting compilation when =0
#rb Chris.Bunner
#codereview Michael.Noland, Marcus.Wassmer
#jira OR-22573
#tests Run with and without r.D3D.RemoveUnusedInterpolators=1 on DefaultEngine.ini
Change 2996090 on 2016/06/01 by Jason.Bestimt
#ORION_MAIN - Merge 26.2 @ CL 2995754
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2995816 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
#CodeReview: jason.bestimt
Change 2995785 on 2016/06/01 by Robert.Manuszewski
Don't delete non-backup log files when cleaning up the logs folder.
#rb none
#tests Tested in the editor with multiple old log files
Change 2995556 on 2016/05/31 by Dmitry.Rekman
More info about timers on crash (OR-21986).
- Somewhat desperate attempt to get more clue about timer crash. Intended to be removed later.
#rb Michael.Noland
#codereview Marc.Audy, Michael.Noland
#tests Compiled the Linux server, ran it, crashed a few times.
Change 2995397 on 2016/05/31 by Michael.Noland
Rendering: Made the optimization to combine upscaling/downscaling and tonemapping optional based on the amount of upscaling that will occur
- r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
- r.Tonemapper.MergeWithUpscale.Threshold is a new setting used when r.Tonemapper.MergeWithUpscale.Mode is set to 2, which indcates to only try to merge the passes if the ratio of the area before upscale/downscale to the area afterwards is greater than the threshold
This prevents running the tonemapper on all of the target res pixels when the source res is far smaller, as that can cause it to be a loss to merge the passes
Upgrade Notes: r.Tonemapper.ScreenPercentage has been renamed to r.Tonemapper.MergeWithUpscale.Mode
#rb marcus.wassmer
#tests Ran Paragon at various resolutions on Intel and NV cards
#rn
Change 2995118 on 2016/05/31 by David.Decker
- Fix for build failure
#rb none
#tests golden path game
Change 2994929 on 2016/05/31 by David.Decker
#Orion_Analytics
-Added PacketRecievedHistogram event that fires every minute in game the rate is configurable in DefaultGame.ini
-Moved FHistogram from PerfCountersModule to ProfilingHelpers
-Re-enabled Location event
#rb Dmitry.Rekman
#codereview Dmitry.Rekman, John.Pollard, Christopher.Wright
#tests golden path game
Change 2994920 on 2016/05/31 by Daniel.Lamb
Added some more cooking stats to save package.
#rb Wes.Hunt
#test Cook Orion.
Change 2994622 on 2016/05/31 by Zak.Middleton
#orion - Pickup and Coin filter collision optimizations.
- Added coin collision profile preset and made it ignore everything but Pawn (importantly, now ignores triggers).
- Pickups filter out collision with AI earlier. Profile already did this but this avoids more branches and cache misses in PreFilter.
- Coins now additionally filter out more efficiently Heroes that can't pick them (no overlap events generated at all).
#rb Jon.Lietz, Frank.Gigliotti
#tests PlayGo MultiPIE
Change 2994305 on 2016/05/31 by Andrew.Grant
Restoring prompt/exit on signed archive issue to help identify causes
#rb none
#tests compiled
Change 2994226 on 2016/05/31 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 27 @ CL 2993946
#RB:none
#Tests:none
[CodeReviewed]: graeme.thornton
#ROBOMERGE-SOURCE: CL 2994225 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2994204 on 2016/05/31 by bruce.nesbit
More banner changes
-Fixed an issue with InterpToComponent with very short times
-revisions to test banner
-added fade to banner/charms
-tries to set team color on decativate FX
#rb none
#tests Game+PIE
#codereview Jason.Bestimt
Change 2993973 on 2016/05/30 by Robert.Manuszewski
Updated protection handling
#rb none
#tests Compiled and applied protection
Change 2993588 on 2016/05/27 by Michael.Noland
Engine: Removed a bogus autocomplete for ShowMaterialDrawEvents, which was previously renamed r.ShowMaterialDrawEvents
#rb none
#tests Typed in ShowMat in the console and verified that no autocomplete appeared
#rn
Change 2993510 on 2016/05/27 by John.Pollard
Fix issue with root motion sources and replays, fixes TwinBlast RMB ability animation issue, and other artifacts
#rb RyanG
#tests Replays
Change 2993484 on 2016/05/27 by Uriel.Doyon
New logic for computing the skel mesh streaming scales
#rb marcus.wassmer
#tests loaded editor, played with streaming scale
Change 2993211 on 2016/05/27 by Uriel.Doyon
Workaround for lightmap streaming flags not being correctly set.
#codereview marcus.wassmer
#rb marcus.wassmer
#tests building lighting and investigating streaming
Change 2993068 on 2016/05/27 by Marcus.Wassmer
Duplicate 2989729
Fix for lightmaps and shadowmaps having low resolutions after building lightings
#rb none
#test PC at various scalability
#codereview Uriel.Doyon
Change 2993066 on 2016/05/27 by Lukasz.Furman
fixed behavior tree getting stuck on ResumeLogic call
copied from //UE4/Dev-Framework, CL# 2993058
#jira OR-22498
#rb none
#tests none
Change 2992706 on 2016/05/27 by Marcus.Wassmer
Duplicate 2991726
Fix for grey skin in simple lighting model (shadows off)
#rb none
#test lowest settings on PC
Change 2992705 on 2016/05/27 by Marcus.Wassmer
Duplicate 2991727
Fix emissive decals in simple forward renderer
#rb none
#test PC lowest settings
Change 2992658 on 2016/05/27 by David.Ratti
Remove all occurrences of Ability.PersistPastDeath from granted tags. Fix code to *only* check asset tags for this tag, instead of both.
#rb none
#test pie
Change 2992646 on 2016/05/27 by Ben.Marsh
BuildGraph: Add a BuildGraph task to run a UE4 commandlet. Syntax is <Commandlet Name="..." Project="..." Arguments="...">.
#rb none
#tests none
Change 2992252 on 2016/05/26 by Jason.Bestimt
#ORION_DG - Unclog ROBO Merge in DG
#RB:none
#Tests:none
Change 2992180 on 2016/05/26 by John.Pollard
Fix issue where external data wasn't saving out properly
#rb RyanG
#tests Replays
Change 2992159 on 2016/05/26 by Michael.Noland
CVar to disable/freeze GPU particle simulation (r.GPUParticle.Simulate)
[Replicated from Dev-Rendering checkin CL# 2989752 by Olaf]
#rb olaf.piesche
#tests Tested the command in Agora and verified that GPU particles were not being drawn
Change 2992158 on 2016/05/26 by Michael.Noland
Rendering: Added a cvar that controls unbinding of all texture resources between materials changes in the DX11 renderer (r.UnbindResourcesBetweenDrawsInDX11) to improve the readability of GPA captures
Note: This will probably be moved to be on when markers are on rather than an independent cvar, but it is currently separate for testing
#codereview marcus.wassmer
#rb none
#tests Ran with the var off and on and verified in GPA captures
Change 2991645 on 2016/05/26 by Andrew.Grant
Fix for filesize returning 0 if file not found
#rb none
#tests bugit now works
#jira OR-20488
Change 2991290 on 2016/05/26 by Mieszko.Zielinski
Added a static flag to NavigationSystem that can be used to short-circuit dynamic navigation related functions #UE4
Will save some perf on PS4 in Orion, since clients do use navigation system there.
#rb Lukasz.Furman
#test golden path
Change 2991288 on 2016/05/26 by Mieszko.Zielinski
CL#2990243 manually redone in for Orion #UE4
Original description:
> Fixed behavior tree observers not being applied correctly
#rb Lukasz.Furman
#test golden path
Change 2991271 on 2016/05/26 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2990688
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2991269 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2991185 on 2016/05/26 by Mieszko.Zielinski
Fixed UAITask_MoveTo not releasing paths properly, or clearing path observing when task is being reused #UE4
Also, fixed FNavigationPath::DoneUpdating not converting ENavPathUpdateType properly
#rb Lukasz.Furman
#test golden path
Change 2990788 on 2016/05/25 by Marcus.Wassmer
Fix deprecation warning
#rb none
#test none
Change 2990582 on 2016/05/25 by Marcus.Wassmer
Now that render commands are enqueued again on servers, we shouldn't outright crash if an allocation gets to nullrhi
#codereview Dmitry.Rekman
#rb none
#test none
Change 2990450 on 2016/05/25 by Martin.Mittring
OR-22233 GPU Sprites invisible unless solo'd
#rb:David.Hill
#jira:OR-22233
#test:PC
Change 2990199 on 2016/05/25 by Marcus.Wassmer
Remove experimental HDR support in tonemapper. Brings tonemapper cost back down into line
#rb none
#codereview Michael.Noland,Brian.Karis
Change 2989908 on 2016/05/25 by Andrew.Grant
Changed warning about DDC cache full to Display
#rb none
#tests compiled
Change 2989903 on 2016/05/25 by Mieszko.Zielinski
Made BT component ignore subtree injection request if relevant BT nodes already use indicated asset #UE4
#rb Lukasz.Furman
#test golden path
Change 2989795 on 2016/05/25 by Ryan.Gerleve
Fix for storing the correct URL on the pending net game for replay playback.
Re-implemented this fix from Dev-Networking CL 2981198, fixes deathcam after latest main integration.
#tests played a reply, enabled deathcam
#rb none
Change 2989483 on 2016/05/25 by David.Ratti
ToggleJuggernaut cheat
#rb danY
#tests pie
Change 2989384 on 2016/05/25 by Graeme.Thornton
Extra chunk decryption tests and logging to help diagnose the random failure we're seeing in the wild
- retry decrypt three times
- after the first attempt, re-decrypt original source, just incase the decrypt cache has been corrupted
#tests cooked pc client + dedicated server
#rb robert.manuszewski
Change 2989225 on 2016/05/24 by Dmitry.Rekman
Fix rare crash in Linux threading code (OR-22193).
- Sometimes, for some reason, freeing memory for an alternate thread from a thread in PostRun() can crash because the jemalloc apparently does not have an arena for this thread anymore.
- This change works around the problem by allocating the said memory statically in LinuxThread class.
#rb none
#codereview Bob.Tellez, David.Vossel
#tests Compiled Linux server, started it.
Change 2988768 on 2016/05/24 by Uriel.Doyon
Added support for SkinnedMesh in the texture streaming MeshCoordSize accuracy viewmode.
#RB marcus.wassmer
#tests loaded game and editor
Change 2988462 on 2016/05/24 by Mieszko.Zielinski
Added a piece of logging to both scenarios or movement aborting in UPathFollowingComponent::UpdatePathSegment to be able to tell them appart while reading the log #Orion
#rb Lukasz.Furman
#test golden path
Change 2988036 on 2016/05/24 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2987910
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2988035 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2987457 on 2016/05/23 by Mieszko.Zielinski
Redone changes from CL#2981193 #UE4
Original description: fixed missing observers in behavior tree when dynamic subtree is changed while waiting for full restart (out of nodes)
#rb Lukasz.Furman
#test golden path
Change 2987388 on 2016/05/23 by Olaf.Piesche
Replicating CL 2985226; don't push mesh emitter transform to pixel shader unless used in the material graph
#rb marcus.wassmer
#tests editor game PC
Change 2986255 on 2016/05/22 by Mieszko.Zielinski
Manually resolving conflict that stoped robomerge from Main to DG #Orion
#rb none
#test compile
#codereview Jason.Bestimt
Change 2986209 on 2016/05/21 by Andrew.Grant
Removed hitchunter logging from http thread
#rb none
#tests compiled
Change 2986202 on 2016/05/21 by Andrew.Grant
Merging //UE4/Main @ 2981382 from //UE4/Orion-Staging
#rb none
#tests engine & game QA passed, built locally
Change 2985899 on 2016/05/20 by Rob.Cannaday
Move PS4 HTTP processing to HTTP thread
#tests golden path
#rb dmitry.rekman
Change 2985884 on 2016/05/20 by Bart.Bressler
Fix issue where oodle wasn't enabled in shipping correctly.
#rb john.pollard
#tests ran orion server in shipping and connecting with a client
Change 2985778 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2985753
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2985774 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985760 on 2016/05/20 by Rob.Cannaday
Second pass on HTTP threading
Move threaded objects into separate class, FHttpThread. FCurlHttpThread derives from FHttpThread and the curl multi work is performed in FCurlHttpThread
Removed code that limited number of curl easy requests that were added to the multi simultaneously / per frame as now that curl work is performed on a separate thread the performance no longer directly impacts the game thread
Remove lock from CurlHttp and instead of use FThreadSafeCounter
#rb dmitry.rekman
#tests golden path (PC & PS4)
Change 2985658 on 2016/05/20 by John.Pollard
Fixed issue with cached http replay results making time go backwards
#rb none
#tests replays
Change 2985640 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.ratti
Ability System: call OnRemove event for gameplay cues that are mispredicted. Previously if a looping GC was predictively added, it would only get the OnRemove event if the replicated GC was removed. In the case of a mis prediction there is no replicated version, so the OnRemove was never called and cleanup was never happening.
#rb FrankG
#tests multi pie
#ROBOMERGE-SOURCE: CL 2985638 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985631 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: david.ratti
Fast TArray serialization fixes:
1. Fix case where Array ReplicationKey has changed no items between base and current state have changed. Previously server would early out and not send an update: but this needs be sent so that the client can potentially perform an implicit delete.
This fixes the case where client TArray would have stale items hanging around until a new update was sent (which could potentially be never).
2. Fix case where an array item would be deleted by both explicit delete and implicit delete: causing other items in the array to be deleted (!).
#rb frankG, pollard
#tests golden path
[CodeReviewed] Bob.Tellez, Billy.Bramer, Ben.Zeigler
#ROBOMERGE-SOURCE: CL 2985629 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985542 on 2016/05/20 by Daniel.Lamb
Added per package stats.
Optimized cooker, moved FTextureSource::Compress from UTexture::Presave to UTexture::Serialize so we can avoid it in the cooker.
#rb Robert.Manuszewski, Andrew.Grant, Marcus.Wassmer
#test cook paragon, save packages paragon editor
Change 2985152 on 2016/05/20 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2985092
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2985150 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2985001 on 2016/05/20 by Chris.Wood
Move fullcrashdump location for Paragon from QA deptartment storage to Paragon project storage. Changes CrashReportClient config only.
Change 2984839 on 2016/05/20 by Robert.Manuszewski
Renaming some confusing function names and updating messages related to exception handling.
#rb none
#tests Cooked Win64 Client and Server, Tested crash reporting in cooked game
Change 2984517 on 2016/05/19 by Mike.Larson
Adjusted 'PlatformHeadroom' audio volume settings to DB-3 on both Windows and PS4
Change 2983932 on 2016/05/19 by jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2983814
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2983921 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: jason.bestimt
Change 2983864 on 2016/05/19 by Wes.Hunt
Added missing assignment copy/move ops to FAnalyticsEventAttribute. Doh, should have looked at more usages of PLATFORM_COMPILER_HAS_DEFAULTED_FUNCTIONS...
#codereview:steve.robb
#rb none
#tests compiled Orion Editor Win64
Change 2983780 on 2016/05/19 by Wes.Hunt
Modernize FAnalyticsEventAttribute usage. #jira UE-30551.
Replaced FAnalyticsEventAttribute various ctors with a perfect forwarding one that can convert them to strings.
* The Name must be convertible to a string
* The value must be convertible to a string via an AnalyticsConversion::ToString() overload.
* Added/expanded the supported conversions to strings to analytics attribute values. See AnalyticsConversion.h which contains all the previously supported conversions and more.
Added MakeAnalyticsEventAttributeArray(), which uses variadic templates to create an array of event attributes inline, which can be passed to RecordEvent[Json] and efficiently taken ownership of:
RecordEvent("EventName", MakeAnalyticsEventAttributeArray(
"Attr1", false,
"Attr2", 42.0,
"Attr3", SomeMap,
"Attr4", SomeArray);
#codereview:steve.robb,david.decker,sam.spiro
SamS - you've been asking for better attribute conversion facilities for years. Finally got it, haha.
SteveR - I only added copy/move ctors to FAnalyticsEventAttribute. Do I also need to explicitly add the copy/move assignment ops?
DavidD - This will allow you to create attributes a lot more easily and efficiently now.
#rb steve.robb,david.decker
#tests orion editor runs
Change 2983702 on 2016/05/19 by Daniel.Lamb
Renumbered cooking stats to be more correct
#rb Wes.Hunt
#test cook paragon.
Change 2983392 on 2016/05/19 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2983342
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2983391 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2982910 on 2016/05/18 by Marcus.Wassmer
Don't fail entire deployments because obsolete manifest can't find the files to delete
#rb none
#codereview Peter.Sauerbrei
#test none
Change 2982902 on 2016/05/18 by Marcus.Wassmer
Disable HTTP networkfilesystem because it constantly crashes cookonthefly servers. platform team is aware
#rb none
#test cookonthefly
Change 2982837 on 2016/05/18 by David.Ratti
Spot merge safety check in ~FAgggregator. From BobT CL 2966255.
#rb none
#tests compile
Change 2982723 on 2016/05/18 by Wes.Hunt
Analytics no longer adds IsEditor attribute to all events. Wasn't actually used by anyone anymore. #jira UE-30559
#rb none
#tests none
Change 2982716 on 2016/05/18 by Wes.Hunt
Remove Analytics code to divert legacy code to source data collector. #jira UE-27794
#rb none
#tests run orion editor
Change 2982707 on 2016/05/18 by Wes.Hunt
AnalyticsET support for arbitrary Json events. #jira UE-30375
* AnalyticsET supports a new API, RecordEventJson.
* API supports rvalue refs to avoid unnecessary copies of the attribute array.
/**
* Sends an event where each attribute value is expected to be a string-ified Json value.
* Meaning, each attribute value can be an integer, float, bool, string,
* arbitrarily complex Json array, or arbitrarily complex Json object.
*
* The main thing to remember is that if you pass a Json string as an attribute value, it is up to you to
* quote the string, as the string you pass is expected to be able to be pasted directly into a Json value. ie:
*
* {
* "EventName": "MyStringEvent",
* "IntAttr": 42 <--- You simply pass this in as "42"
* "StringAttr": "SomeString" <--- You must pass SomeString as "\"SomeString\""
* }
*
* @param EventName The name of the event.
* @param AttributesJson array of key/value attribute pairs where each value is a Json value (pure Json strings mustbe quoted by the caller).
*/
virtual void RecordEventJson(const FString& EventName, TArray<FAnalyticsEventAttribute>&& AttributesJson) = 0;
#codereview:david.decker
#rb david.decker
#tests run orion editor
Change 2982057 on 2016/05/18 by David.Ratti
GameplayCue loading - fix issue where GCM would invoke fully loaded when there were still UGameplayCueNotify_Statics to be loaded.
#rb Ori.Cohen
#tests golden path
Change 2981943 on 2016/05/18 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2981896
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2981942 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2981812 on 2016/05/18 by Robert.Manuszewski
Suspending thread heartbeat when a message box is being displayed. Fixes false positives in hand detection.
#rb Steve.Robb
#tests Cooked and launched win64 client and server
Change 2981718 on 2016/05/18 by Robert.Manuszewski
Changed how suspending/resuming thread heartbeat works: it will no longer create a heartbeat for a thread that hasn't sent any heartbeats yet.
Reimplementing CL #2951209 from Dev-Core
#rb Steve.Robb
#tests None
Change 2981108 on 2016/05/17 by Wes.Hunt
Fix perfect forwarding constructor in CookStats stuff.
#rb none
#tests investigating assembly output of cook stats code.
#codereview:daniel.lamb
Change 2981028 on 2016/05/17 by Nick.Atamas
Fixing hittest grid with virtual cursor.
We now prefer any directly hit-test widgets with higher layer ids to those discovered through a distance search.
#rb none
#test Game menus
#codereview Cody.Haskell,Matt.Kuhlenschmidt,Sammy.James,Dan.Hertzka
Change 2980963 on 2016/05/17 by Marc.Audy
Fix shadowed variable
#rb None
#tests Compile
Change 2980917 on 2016/05/17 by Daniel.Lamb
Removed script packages from unable to find packages warning.
#rb Andrew.Grant
#test cook paragon
Change 2980838 on 2016/05/17 by Marc.Audy
Shave some time out of UPlayerInput::ProcessInputStack
#rb Michael.Noland
#tests Input works, performance improvement
Change 2980710 on 2016/05/17 by Michael.Noland
Engine: Added helpful comments to the LOD visualization colors
#rn
#rb david.ratti
#tests none
Change 2980706 on 2016/05/17 by Michael.Noland
Engine: Removed unused setting bAllowDebugViewmodesOnConsoles (replaced some time ago by r.ForceDebugViewModes)
#rn
#rb david.ratti
#tests Ran a cooked build with only r.ForceDebugViewModes=1 and confirmed that debug view modes still worked
Change 2980703 on 2016/05/17 by Michael.Noland
Blueprints: Added support for emitting the Blueprint Description as tooltip metadata for the compiled Blueprint class (displayed in class pickers, etc...)
#rb david.ratti
#tests Tested on a Blueprint in Paragon
#codereview mike.beach
#rn
Change 2980702 on 2016/05/17 by Michael.Noland
Rendering: Added ProfileGPU to the console autocomplete list
#rb david.ratti
#tests Tried typing Profile in the console and verified that the completion worked and tooltip was displayed
#rn
Change 2980697 on 2016/05/17 by Michael.Noland
Landscape: Added a 'resource' name for landscape to improve display in the mesh summary list of ProfileGPU
#codereview jack.porter
#rb david.ratti
#tests Used ProfileGPU while standing on some terrain
#rn
Change 2980692 on 2016/05/17 by Michael.Noland
Landscape: Added a scalability CVar for landscape LOD biasing (r.LandscapeLODBias)
#codereview jack.porter
#rb david.ratti
#tests Ran around in Paragon with various r.LandscapeLODBias values
#rn
Change 2980630 on 2016/05/17 by Daniel.Lamb
Added more warnings to help track down crash in paragon cook.
#rb Andrew.Grant
#test cook orion
Change 2980585 on 2016/05/17 by Jamie.Dale
Fixed an issue where the editable text caret could become invisible when using UI scaling
It's now clamped to a min draw size of 1px.
#jira OR-18524
#rb none
#tests Built and ran the game. Verified that the caret now appears where it didn't before.
Change 2979908 on 2016/05/16 by jason.bestimt
#ORION_MAIN - Merge 26.2 @ CL 2979859
#RB:none
#Tests:none
#CodeReview: jaymee.stanford
Change 2979472 on 2016/05/16 by Nick.Atamas
Added support for not clearing the render target when rendering a widget.
#rb Nick.Darnell
#test PIE w/ minimap
Change 2979434 on 2016/05/16 by Dmitry.Rekman
Server: Add reporting of frame time without sleep.
- Also add NumClients to each event so it's easy to filter events that didn't have 10 clients.
#rb none
#tests Built Linux server, ran match on a compatible content.
Change 2979267 on 2016/05/16 by Dmitry.Rekman
Improvements in server hitch hunting / alerting.
- Add an analytics event for unplayable conditions.
- Send % of frames we hitched and time we spent hitching.
- Send more detail about the machine.
#rb none
#tests Built Linux server and Windows client, played a match.
Change 2979030 on 2016/05/16 by Andrew.Grant
Added quick way to reasign GUIDs (-AssignNewMapGuids) to map objects
#rb none
#tests used in editor
Change 2978914 on 2016/05/16 by David.Ratti
Fix issue causing gameplay cue parameters not properly being passed through in cases where GA adds/removes gameplay cue.
#rb DanY
#tests multi pie
#codereview Dave.Ewing
Change 2978681 on 2016/05/16 by Martin.Wilson
Performance improvements for recalc required bones, removed a lot of unneeded array iterating. Reduces cost to roughly 30% of original code.
#rb Thomas.Sarkanen
#tests PS4 games, ded server
Change 2978098 on 2016/05/15 by Andrew.Grant
Clearer error message
#rb none
#tests ran game
Change 2977597 on 2016/05/13 by Olaf.Piesche
Merging using //UE4/Dev-Rendering->//Orion/Dev-General; fixes for beam particle selection code
#rb martin.mittring
#tests PC editor game
Change 2977531 on 2016/05/13 by Daniel.Lamb
Added cooking stat for PreSave callback.
#rb Wes.Hunt
#test cook paragon
Change 2977340 on 2016/05/13 by jason.bestimt
#ORION_MAIN - Merge 26@ CL 2977290
#RB:none
#Tests:none
#ROBOMERGE-SOURCE: CL 2977329 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: jason.bestimt
Change 2977139 on 2016/05/13 by Jason.Bestimt
#ROBOMERGE-AUTHOR: jon.lietz
OR-20830 only allow the periodic effects from a gameplay volume trigger first application triggers on BeginOverlap and Enable volume.
#RB DaveR
#test tracked when the poinson from an active card is applied and not applied
#ROBOMERGE-SOURCE: CL 2977135 in //Orion/Main/...
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976741 on 2016/05/13 by David.Ratti
GameplayCues that are triggered off animation notifies on the non-primary mesh will now properly attach to that non primary mesh.
#rb lietz
#test pie, golden path
Change 2976715 on 2016/05/13 by Jason.Bestimt
#ROBOMERGE-AUTHOR: andrew.grant
[NULL MERGE]
Fix for bad merge
#rb none
#tests built automation
#ROBOMERGE-SOURCE: CL 2976680 in //Orion/Release-0.26/... via CL 2976712 via CL 2976713 via CL 2976714
#ROBOMERGE-BOT: ORION (Main -> Dev-General)
Change 2976679 on 2016/05/13 by Robert.Manuszewski
Tweaks to DLL injection detection code
#rb Steve.robb
#tests cooked Win64 client
Change 2976670 on 2016/05/13 by Robert.Manuszewski
UAT: Arxan upgrade to 3.9.1
#rb Ben.Marsh
#tests Win64 cooked client (test config)
Change 2976654 on 2016/05/13 by Graeme.Thornton
Shadowed variable warning fix
#rb none
#tests compiled win64/ps4 client
Change 2976645 on 2016/05/13 by Graeme.Thornton
Refactoring of resident mip calculations
- Cooker takes into account the same compression block thresholds that the runtime previously used
- Runtime doesn't attempt to calculate which mips to perma-load, but just looks at the ones whose bulk data is flagged as end-of-file or seperate-file
#rb nick.penwarden
#tests win64/ps4 client builds, golden path
[CL 3000872 by Andrew Grant in Main branch]
2016-06-04 01:20:53 -04:00
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3208226)
#lockdown Nick.Penwarden
#rb None
==========================
MAJOR FEATURES + CHANGES
==========================
Change 3173153 on 2016/10/25 by Graeme.Thornton
Pak signing changes
- Integrated into EDL loader
- Changed to not encrypt each CRC in the sig file, rather just store a single encryped signature of the entire sig file. Removes need to decrypt thousands of signatures at startup.
Change 3173531 on 2016/10/25 by Steven.Hutton
Removing unused j query packages.
Change 3174743 on 2016/10/26 by Gil.Gribb
UE4 - fixed COTF with EDL
Change 3177896 on 2016/10/28 by Steve.Robb
TSharedPtr and TSharedRef aliasing constructors.
Removal of static_asserts for TSharedPtr<UObject>.
Change 3180343 on 2016/10/31 by Steve.Robb
Reimplementation of changes from CL#s 3050329 and 3105715 that were lost in merges 3094597 and 3105741.
Change 3181382 on 2016/11/01 by Steve.Robb
Visual Studio debugger visualizers for delegates.
Change 3182738 on 2016/11/02 by Graeme.Thornton
Re-enable signed archive reader so non-pakpreacher based reads still get signature checked
Change 3183420 on 2016/11/02 by Steve.Robb
Fix to TIsZeroConstructType for TScriptDelegate.
Change 3184872 on 2016/11/03 by Robert.Manuszewski
Fixing memory stomps in SSL certificate initialization (found with mallocstomp)
Change 3184873 on 2016/11/03 by Robert.Manuszewski
Adding thread safety checks to async loading code
Change 3185535 on 2016/11/03 by Ben.Zeigler
Fix it so calling CreateDefaultSubobject with bTransient = true sets the object transient flag. This fixes EDL Crashes involving components.
Change 3186636 on 2016/11/04 by Graeme.Thornton
AES encryption integrated into EDL system
Pak signing and AES encryption now configurable by ini files rather than magical text files
Change 3186637 on 2016/11/04 by Graeme.Thornton
Configured pak signing and encryption in ShooterGame for reference
Change 3186639 on 2016/11/04 by Graeme.Thornton
Encryption changes for Orion
* Move pak signing keys into new INI format
* Add AES key and enable INI file encryption
Change 3186661 on 2016/11/04 by Graeme.Thornton
Change unrealpak command line params to accept AES key as a separete parameter
Change 3186670 on 2016/11/04 by Robert.Manuszewski
Adding a null check before using a package pointer in Linker code
#jira UE-38237
Change 3186775 on 2016/11/04 by Graeme.Thornton
Fix UBT defines that come in as quoted strings, losing the quotes when passed to the compiler
- PS4 and Mac fixes. Other platforms might need fixing too!
Change 3186823 on 2016/11/04 by Graeme.Thornton
Fixed an incorrect size check in the EDL pak signing code
Change 3186925 on 2016/11/04 by Graeme.Thornton
Allow UnrealPak to read encryption settings from project ini files
Change 3189885 on 2016/11/08 by Graeme.Thornton
Static analysis warning fix
Change 3190015 on 2016/11/08 by Robert.Manuszewski
Thread safety fix for UBlueprintGeneratedClass::PostLoadDefaultObject while UBlueprintGeneratedClass::SerializeDefaultObject runs on the async loading thread
Change 3190253 on 2016/11/08 by Chris.Wood
Improved MDD performance for on the CR server.
[UE-37566] - Improve MDD performance on CR server
Blocked MDD init'ing the crash handling code as it isn't desirable on the server.
Removed redundant call to SetSymbolPathsFromModules() from CrashDebugHelper.
Change 3192993 on 2016/11/10 by Robert.Manuszewski
Thread Heartbeat will no longer report the same hang multiple times.
Change 3193111 on 2016/11/10 by Robert.Manuszewski
Minor change in the condition that detects the same hangs - allow the same callstacks from different threads
Change 3193168 on 2016/11/10 by Steve.Robb
TSparseArray now reserves space in reverse so that new elements get added to the front of the allocation rather than the back, which is better for memory traversal and meets expectations more closely.
Change 3193171 on 2016/11/10 by Steve.Robb
Easier debugging of FPendingRegistrantInfo map.
Change 3193188 on 2016/11/10 by Steve.Robb
TAutoPointer deprecated.
Change 3193796 on 2016/11/10 by Graeme.Thornton
Fix pak creation failure when no pak signing keys are supplied
Change 3194524 on 2016/11/11 by Graeme.Thornton
Another static analysis warning fix
Change 3195119 on 2016/11/11 by Steve.Robb
TAutoPtr deprecated.
Fixes to use of TAutoPtr with incompatible memory deallocations (TAutoPtr with FMemory::Malloc and new[]).
Some large headers moved into .cpp files.
Change 3196582 on 2016/11/14 by Gil.Gribb
UE4 - Changed a check to a warning related to detaching linekrs twice. Seen in nativized BP version of platformer game.
Change 3196878 on 2016/11/14 by Steve.Robb
TScopedPointer deprecated.
Change 3198061 on 2016/11/15 by Steve.Robb
Class array is no longer regenerated when saving UClasses.
Change 3198065 on 2016/11/15 by Robert.Manuszewski
Making AssembleReferenceTokenStream thread safe for blueprints loaded on the async loading thread.
Change 3198199 on 2016/11/15 by Robert.Manuszewski
Pak platform file will now only be used if pak files exist regardless of command line paraks like -pak, -singedpak and -signed.
Change 3199954 on 2016/11/16 by Graeme.Thornton
Removing USING_SIGNED_CONTENT
Change 3200221 on 2016/11/16 by Chris.Wood
CrashReportProcess code cleanup - removing unused using directives
Change 3200232 on 2016/11/16 by Chris.Wood
Multiple CrashReportProcess updates and improvements (CRP v1.2.6)
UE-36248 - CRP scalability: All bulk storage or shared data to S3 or suitable network drives
InvalidCrashReports now saved to S3 instead of local folder
Removed option tosync MinidumpDiagnostics from Perforce
Moved MinidumpDiagnostics from old Perforce synched location to its own folder in E:\Services (makes more sense with manual publishing)
Added improved logging to Slack with option to monitor MDD performance
Added hourly log folders to MDD logs
Added support for types of crashes we don't want to symbolicate (using it to skip callstack gen for hang detected ensures)
Change 3200382 on 2016/11/16 by Robert.Manuszewski
Async Loading code will now detach the linker when resetting async package loader to avoid situations when loading the same asset multiple times results in the following load request finding the old linker after the package has been loading but the async package hasn't been deleted yet (async package for the old request in limbo state but linker exists).
Change 3200562 on 2016/11/16 by Gil.Gribb
UE4 - Fixed rare issue with reloading nativized blueprints with the EDL and a minor simplication.
Change 3201093 on 2016/11/16 by Ben.Zeigler
#UE 38654 Fix EDL cooking to correctly search components created directly by UBlueprints, as well as the CDO components it already covered. Also explicitly mark subobject templates as editor only.
Fix issue where the AssetImportData associated with Blueprint-owned Curves was ending up in the cooked subobject template list. Stopped it from creating those objects, and mark the class editor only.
Change 3201736 on 2016/11/17 by Steve.Robb
Strtoi64 platform and TCString functions.
#fyi robert.manuszewski
Change 3201938 on 2016/11/17 by Ben.Woodhouse
Dummy integrate of the Square render version workaround (CL 3201913) with _accept target_ to prevent it being integrated to dev-core in future.
Commandline:
p4 integrate //Tasks/UE4/Dev-LoadTimes/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp@3201913,3201913 //UE4/Dev-Core/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp
#fyi robert.manuszewski
Change 3203757 on 2016/11/18 by Robert.Manuszewski
Removing debug code from async loading code.
Change 3203927 on 2016/11/18 by Robert.Manuszewski
Fixing comments in the async loading code.
Change 3204851 on 2016/11/18 by Steve.Robb
Metafunction for testing if a particular operator<< overload exists, e.g. THasInserterOperator<FArchive&, FMyType&>::Value.
Change 3204854 on 2016/11/18 by Steve.Robb
UEnumProperty.
Change 3205027 on 2016/11/18 by Ben.Zeigler
Add useful functions to FAssetPtr and TAssetSubclassOf that already existed on TAssetPtr
Add Get() to TSubclassOf so it matches our other wrappers
Fix TSubclassOf and TAssetSubclassOf to use the more efficient template method of checking class compatibility
Comment and template cleanups for AssetPtr, StringAssetReference, LazyPtr, and SubclassOf
Change 3206334 on 2016/11/21 by Ben.Zeigler
#UE-38773: Fix it so non-component template subobjects of CDOs are not included as creation dependencies for BP classes, also clean up GetPreloadDependencies as it was adding redundant and null entries
#UE-38799: Fix it so WidgetTrees don't get picked up as subobjects, and add ensure at cook time to find null outers that would crash at runtime. Make sure the instanced widget trees are transient.
Cook finishes but game is still crashing in some cases, so I might adjust this after other testing
Change 3206353 on 2016/11/21 by Ben.Zeigler
Fix EnumProperty to handle EDL preload dependencies properly
Change 3206625 on 2016/11/21 by Ben.Zeigler
Fix enum property crash at runtime by copying what array property does and making sure inner property is not transient
Change 3206937 on 2016/11/21 by Ben.Zeigler
#jira UE-38905 Fix it so enums inside arrays are migrated properly, the enum tag is lost so use the current one
Disable other nested enum migrations as they are unlikely to work. Array property tags need to be refactored to be safer
Correctly save enum tag for enum properties, it was being set but not serialized
Change 3207002 on 2016/11/21 by Ben.Zeigler
#jira UE-38799
Fix it so per-widget copy of widget tree and all widgets inside are properly transient, they were being cooked before but never accessed.
Fix case where non ClientOnly public objects nested instead ClientOnly objects would cook but fail to load, and add ensure to catch these cases in the future.
If the full outer chain isn't available, it can't be loaded anyway, and this finds issues at cook time instead of load time.
We should generally outlaw non-transient objects with transient outers, it does not do what people expect.
Change 3207032 on 2016/11/21 by Ben.Zeigler
#jira UE-38654 Re-Fix EDL cooking with SCS-added components. They used to have the DefaultSubObject flag but no longer do
[CL 3208270 by Ben Zeigler in Main branch]
2016-11-22 18:45:44 -05:00
return bHashesMatch ;
2014-03-14 14:13:41 -04:00
}
FChunkRequest & FChunkCacheWorker : : RequestChunk ( int32 ChunkIndex , int64 StartOffset , int64 ChunkSize )
{
FChunkRequest * NewChunk = FreeChunkRequests . Pop ( ) ;
if ( NewChunk = = NULL )
{
NewChunk = new FChunkRequest ( ) ;
}
NewChunk - > Index = ChunkIndex ;
NewChunk - > Offset = StartOffset ;
NewChunk - > Size = ChunkSize ;
NewChunk - > Buffer = NULL ;
NewChunk - > IsTrusted . Set ( 0 ) ;
// At this point both worker and the archive use this chunk so increase ref count
NewChunk - > RefCount . Set ( 2 ) ;
QueueLock . Lock ( ) ;
RequestQueue . Add ( NewChunk ) ;
QueueLock . Unlock ( ) ;
QueuedRequestsEvent - > Trigger ( ) ;
return * NewChunk ;
}
void FChunkCacheWorker : : ReleaseChunk ( FChunkRequest & Chunk )
{
Chunk . RefCount . Decrement ( ) ;
}
FSignedArchiveReader : : FSignedArchiveReader ( FArchive * InPakReader , FChunkCacheWorker * InSignatureChecker )
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
: ChunkCount ( 0 )
2014-03-14 14:13:41 -04:00
, PakReader ( InPakReader )
, SizeOnDisk ( 0 )
, PakSize ( 0 )
, PakOffset ( 0 )
, SignatureChecker ( InSignatureChecker )
{
// Cache global info about the archive
2016-05-05 11:13:26 -04:00
ArIsLoading = true ;
2016-03-24 13:53:55 -04:00
SizeOnDisk = PakReader - > TotalSize ( ) ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
ChunkCount = SizeOnDisk / FPakInfo : : MaxChunkDataSize + ( ( SizeOnDisk % FPakInfo : : MaxChunkDataSize ) ? 1 : 0 ) ;
PakSize = SizeOnDisk ;
2014-03-14 14:13:41 -04:00
}
FSignedArchiveReader : : ~ FSignedArchiveReader ( )
{
delete PakReader ;
PakReader = NULL ;
}
int64 FSignedArchiveReader : : CalculateChunkSize ( int64 ChunkIndex ) const
{
if ( ChunkIndex = = ( ChunkCount - 1 ) )
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
const int64 MaxChunkSize = FPakInfo : : MaxChunkDataSize ;
2014-03-14 14:13:41 -04:00
int64 Slack = SizeOnDisk % MaxChunkSize ;
if ( ! Slack )
{
return FPakInfo : : MaxChunkDataSize ;
}
else
{
check ( Slack > 0 ) ;
return Slack ;
}
}
else
{
return FPakInfo : : MaxChunkDataSize ;
}
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
int64 FSignedArchiveReader : : PrecacheChunks ( TArray < FSignedArchiveReader : : FReadInfo > & Chunks , int64 Length )
2014-03-14 14:13:41 -04:00
{
// Request all the chunks that are needed to complete this read
int64 DataOffset ;
int64 DestOffset = 0 ;
int32 FirstChunkIndex = CalculateChunkIndex ( PakOffset ) ;
int64 ChunkStartOffset = CalculateChunkOffset ( PakOffset , DataOffset ) ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
int64 NumChunksForRequest = ( DataOffset - ChunkStartOffset + Length ) / FPakInfo : : MaxChunkDataSize + 1 ;
int64 NumChunks = NumChunksForRequest ;
2014-03-14 14:13:41 -04:00
int64 RemainingLength = Length ;
int64 ArchiveOffset = PakOffset ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
2014-03-14 14:13:41 -04:00
// And then try to precache 'PrecacheLength' more chunks because it's likely
// we're going to try to read them next
if ( ( NumChunks + FirstChunkIndex + PrecacheLength - 1 ) < ChunkCount )
{
NumChunks + = PrecacheLength ;
}
Chunks . Empty ( NumChunks ) ;
for ( int32 ChunkIndexOffset = 0 ; ChunkIndexOffset < NumChunks ; + + ChunkIndexOffset )
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
ChunkStartOffset = RemainingLength > 0 ? CalculateChunkOffset ( ArchiveOffset , DataOffset ) : CalculateChunkOffsetFromIndex ( ChunkIndexOffset + FirstChunkIndex ) ;
2014-03-14 14:13:41 -04:00
int64 SizeToReadFromBuffer = RemainingLength ;
if ( DataOffset + SizeToReadFromBuffer > ChunkStartOffset + FPakInfo : : MaxChunkDataSize )
{
SizeToReadFromBuffer = ChunkStartOffset + FPakInfo : : MaxChunkDataSize - DataOffset ;
}
FReadInfo ChunkInfo ;
ChunkInfo . SourceOffset = DataOffset - ChunkStartOffset ;
ChunkInfo . DestOffset = DestOffset ;
ChunkInfo . Size = SizeToReadFromBuffer ;
const int32 ChunkIndex = ChunkIndexOffset + FirstChunkIndex ;
if ( LastCachedChunk . ChunkIndex = = ChunkIndex )
{
ChunkInfo . Request = NULL ;
ChunkInfo . PreCachedChunk = & LastCachedChunk ;
}
else
{
const int64 ChunkSize = CalculateChunkSize ( ChunkIndex ) ;
ChunkInfo . Request = & SignatureChecker - > RequestChunk ( ChunkIndex , ChunkStartOffset , ChunkSize ) ;
ChunkInfo . PreCachedChunk = NULL ;
}
Chunks . Add ( ChunkInfo ) ;
ArchiveOffset + = SizeToReadFromBuffer ;
DestOffset + = SizeToReadFromBuffer ;
RemainingLength - = SizeToReadFromBuffer ;
}
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
return NumChunksForRequest ;
2014-03-14 14:13:41 -04:00
}
void FSignedArchiveReader : : Serialize ( void * Data , int64 Length )
{
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
SCOPE_SECONDS_ACCUMULATOR ( STAT_SignedArchiveReader_Serialize ) ;
2014-04-02 18:09:23 -04:00
2014-03-14 14:13:41 -04:00
// First make sure the chunks we're going to read are actually cached.
TArray < FReadInfo > QueuedChunks ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
int64 ChunksToRead = PrecacheChunks ( QueuedChunks , Length ) ;
int64 FirstPrecacheChunkIndex = ChunksToRead ;
2014-03-14 14:13:41 -04:00
// Read data from chunks.
int64 RemainingLength = Length ;
uint8 * DestData = ( uint8 * ) Data ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
2014-03-14 14:13:41 -04:00
const int32 LastRequestIndex = ChunksToRead - 1 ;
do
{
int32 ChunksReadThisLoop = 0 ;
// Try to read cached chunks. If a chunk is not yet ready, skip to the next chunk - it's possible
// that it has already been precached in one of the previous reads.
for ( int32 QueueIndex = 0 ; QueueIndex < = LastRequestIndex ; + + QueueIndex )
{
FReadInfo & ChunkInfo = QueuedChunks [ QueueIndex ] ;
if ( ChunkInfo . Request & & ChunkInfo . Request - > IsReady ( ) )
{
// Read
FMemory : : Memcpy ( DestData + ChunkInfo . DestOffset , ChunkInfo . Request - > Buffer - > Data + ChunkInfo . SourceOffset , ChunkInfo . Size ) ;
// Is this the last chunk? if so, copy it to pre-cache
if ( LastRequestIndex = = QueueIndex & & ChunkInfo . Request - > Index ! = LastCachedChunk . ChunkIndex )
{
LastCachedChunk . ChunkIndex = ChunkInfo . Request - > Index ;
FMemory : : Memcpy ( LastCachedChunk . Data , ChunkInfo . Request - > Buffer - > Data , FPakInfo : : MaxChunkDataSize ) ;
}
// Let the worker know we're done with this chunk for now.
SignatureChecker - > ReleaseChunk ( * ChunkInfo . Request ) ;
ChunkInfo . Request = NULL ;
// One less chunk remaining
ChunksToRead - - ;
ChunksReadThisLoop + + ;
}
else if ( ChunkInfo . PreCachedChunk )
{
// Copy directly from the pre-cached chunk.
FMemory : : Memcpy ( DestData + ChunkInfo . DestOffset , ChunkInfo . PreCachedChunk - > Data + ChunkInfo . SourceOffset , ChunkInfo . Size ) ;
ChunkInfo . PreCachedChunk = NULL ;
// One less chunk remaining
ChunksToRead - - ;
ChunksReadThisLoop + + ;
}
}
if ( ChunksReadThisLoop = = 0 )
{
// No chunks read, avoid tight spinning loops and give up some time to the other threads
Copying //UE4/Dev-Rendering to //UE4/Dev-Main (Source: //UE4/Dev-Rendering @ 2967470)
#lockdown nick.penwarden
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2943963 on 2016/04/14 by Daniel.Wright
Shader compile errors are unsuppressed
Change 2943978 on 2016/04/14 by Gil.Gribb
UE4 - First pass at async loading improvements....mostly disabled.
Change 2944021 on 2016/04/14 by Martin.Mittring
fixed HLSL compiler warning
Change 2944031 on 2016/04/14 by Martin.Mittring
fixed ensures, wrapped some members behind get accessor functions
Change 2944086 on 2016/04/14 by Martin.Mittring
cleanup: removed not needed code
Change 2944177 on 2016/04/14 by Daniel.Wright
Clamp on FarShadowCascadeCount, prevents crashing from huge values
Change 2944182 on 2016/04/14 by Martin.Mittring
removed not needed code
Change 2944250 on 2016/04/14 by Rolando.Caloca
DR - vk - Minor fixes
Change 2944286 on 2016/04/14 by Daniel.Wright
Added bRenderSceneTwoSided to planar reflections, which can be useful to limit leaking
Added ShowOnlyActors and HiddenActors to SceneCaptureComponent for easy use without having to call BP functions
Added bShowPreviewPlane to planar reflection actors
The view state is recreated on planar reflection edit, which resets the Temporal AA history, allowing instant previewing of changes
Change 2944288 on 2016/04/14 by Daniel.Wright
Fixed refraction with a world space normal
Change 2944291 on 2016/04/14 by Daniel.Wright
Panner nodes have an optional speed input
Change 2944346 on 2016/04/14 by Rolando.Caloca
DR - Fix Vulkan shader platform on Android
- Added more info on checks()
Change 2945007 on 2016/04/15 by Gil.Gribb
Merging //UE4/Dev-Main@2944911 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2945348 on 2016/04/15 by Daniel.Wright
Fixed compile error
Change 2945358 on 2016/04/15 by Olaf.Piesche
#jira UE-29241
Sequential particle selection code was all sorts of weird. Rewrote and simplified.
Change 2945941 on 2016/04/15 by Martin.Mittring
added r.DisplayInternals to debug determinism for screen shot comparison
Change 2945999 on 2016/04/15 by Martin.Mittring
improved r.DisplayInternal output
Change 2946023 on 2016/04/15 by Olaf.Piesche
Adding missing call to Super::PostEditChangeProperty; UDN 286717
Change 2947155 on 2016/04/18 by Martin.Mittring
started minor cleanup of transluceny rendering, use Sort key to support SeparateTransluceny, not fully hooked up
#test:PC
Change 2947207 on 2016/04/18 by Martin.Mittring
fixed engine compiling in shipping/test
#code_review:Uriel.Doyan
Change 2947212 on 2016/04/18 by Uriel.Doyon
Lightmap density viewmode now shows the wanted resolution when the lighting isn't build.
#jira UE-29317
Change 2947374 on 2016/04/18 by Uriel.Doyon
Fixed support for resolution scale for the PostProcessVisualizeComplexity
#jira UE-29473
Change 2947903 on 2016/04/19 by Gil.Gribb
Merging //UE4/Dev-Main@2947728 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2948019 on 2016/04/19 by Rolando.Caloca
DR - Allow vk format as a target format for win
Change 2948162 on 2016/04/19 by Simon.Tovey
Fix for crash with Collision visualization.
Change 2948419 on 2016/04/19 by Martin.Mittring
fixed sort priority of translucent rendering (caused by recent checkin)
Change 2948433 on 2016/04/19 by Martin.Mittring
fixed memory handling of FRendererViewExtension
Change 2948631 on 2016/04/19 by Martin.Mittring
fixed compile error on Mac
Change 2948832 on 2016/04/19 by Martin.Mittring
fixed UE-29572 (should result in less CPU cost and it might even fix some rendeirng issues)
Change 2949013 on 2016/04/19 by Martin.Mittring
refactored Transluceny rendering, SepTrans and non SepTrans is now in the same container, sorted by that critera first and rendered with ranges. This makes it easier to extend it to more transluceny types e.g. after TemporalAA, after Tonemapping
this is useful for MeshDecals
#test:PC, parallel on and off
Change 2949620 on 2016/04/20 by Martin.Mittring
fixed compiler warning
Change 2949639 on 2016/04/20 by Uriel.Doyon
Fixed Material TexCoord Analysis not compiling when sampling textures for shader frequency other than PixelShader
Change 2949721 on 2016/04/20 by Chris.Bunner
Avoid creating additional inline code fragment casting matching uniform types.
#jira UE-29089
Change 2949722 on 2016/04/20 by Chris.Bunner
Prevent nullptr crash and added additional logging.
#jira UE-28387
Change 2949913 on 2016/04/20 by Martin.Mittring
marked ccommand as cheat
Change 2950064 on 2016/04/20 by Martin.Mittring
added MatineeTime to r.DisplayInternals to track down rendering determinsim issues, added dark background
Change 2950065 on 2016/04/20 by Martin.Mittring
nicer debug printout
Change 2950201 on 2016/04/20 by Martin.Mittring
fixed UE-29752 Console commands input with " = " should display an error message
Change 2950531 on 2016/04/20 by Martin.Mittring
fixed comment
Change 2951737 on 2016/04/21 by HaarmPieter.Duiker
Adds support forHDR displays using Dolby PQ output
Change 2951869 on 2016/04/21 by Martin.Mittring
polish r.DisplayInternal
Change 2951950 on 2016/04/21 by HaarmPieter.Duiker
Reordered variable definition to address build warning
Change 2951996 on 2016/04/21 by Martin.Mittring
fixed PerformanceCapture code, added AutomationTest "Rendering.RenderOutputValidation",
changed directory order
to run locally it currently requires "r.ScreenshotDelegate=0"
#code_review:Ben.Salem, Michael.Noland
Change 2952146 on 2016/04/21 by Olaf.Piesche
make sure that ST PDI primitives render through regular translucency if ST is disabled; fixes light shapes in scene/reflection captures
Change 2952230 on 2016/04/21 by Martin.Mittring
* Fixed automated ScreenshotVerify difference because of not streamed in texture, wait for up to 5sec .
* changed some GFrameNumberRenderThread usage to ViewFamily.FrameNumber
#code_review:Daniel.Wright
Change 2953173 on 2016/04/22 by Olaf.Piesche
Adding UI for easilly browsing and switching in a folder full of stats dumps
Change 2953213 on 2016/04/22 by Olaf.Piesche
Renaming a stat to be more descriptive
Change 2953393 on 2016/04/22 by Zabir.Hoque
Get DX12 running again:
- Port Shader Resource Table change
- Line up VS outputs and ps inputs
- Fix incorrectly defining a static global in a .h
Change 2953453 on 2016/04/22 by Martin.Mittring
polished r.DisplayInternal
Change 2954618 on 2016/04/25 by Zabir.Hoque
2 Fixes:
- GLSL does not understand "unsigned int", converted to "uint"
- Refactored problematic prev buffer allocation code to be more inline with proper level of abstraction.
Change 2955369 on 2016/04/25 by Rolando.Caloca
DR - hlslcc - Fix some memory leaks in the frontend
Change 2955403 on 2016/04/25 by Uriel.Doyon
Fixed texture streaming build on OpenGL. Probably more likely to work on other platforms like Mac and Linux.
Enabled debug view shaders on PCD3D_SM4 and OPENGL_SM4
#jira UE-28840
Change 2955419 on 2016/04/25 by Rolando.Caloca
DR - hlslcc - Reenabled support for static global variables being not const
Change 2955432 on 2016/04/25 by Zabir.Hoque
Fix build break from not undef'ing LOCTEXT_NAMESPACE
Change 2955459 on 2016/04/25 by Zabir.Hoque
TEMP Fix: On server enqued render thread work is dropped. So on server release Reflection capture resouce immediately instead of trying to defer enque.
Change 2956292 on 2016/04/26 by Zabir.Hoque
Fix OpenGL shader compile break from CL: 2951737 (Adds support forHDR displays using Dolby PQ output).
#CodeReview: Jack.Porter, Allan.Bentham
Change 2956662 on 2016/04/26 by Chris.Bunner
Temporary fix for new Tonemapper issues.
#jira UE-29935
Change 2957614 on 2016/04/27 by Marcus.Wassmer
Fix PS4 shader compiler errors.
Change 2958468 on 2016/04/27 by Rolando.Caloca
DR - Fix hlslcc validation issue
- Show error on SCW if shader format not found when running with -directcompile
#jira UE-29982
Change 2959105 on 2016/04/28 by Rolando.Caloca
DR - Rebuilt hlslcc for Mac
Change 2959891 on 2016/04/28 by Daniel.Wright
Shader compiler does a recreate render state even during blocking compile - fixes saving a material giving different behavior from applying changes with global distance fields
Change 2959895 on 2016/04/28 by Daniel.Wright
Work around build machine string matching heuristics that will cause a cook to fail
Change 2959902 on 2016/04/28 by Daniel.Wright
Added LowerHemisphereSolidColor to sky lights
Change 2959930 on 2016/04/28 by Daniel.Wright
Added OpacitySourceMode to SubUVAnimation, which is useful with textures created for additive particles
Change 2959933 on 2016/04/28 by Daniel.Wright
Substring matching for console command suggestions
* Only implemented in the editor, game uses UConsole which needs an entirely different implementation
* Not sorting starting matches first, although that is desired
Change 2959942 on 2016/04/28 by Daniel.Wright
Gracefully handle when input string doesn't match search results
Change 2960743 on 2016/04/29 by Gil.Gribb
UE4 - UAT - Add map name to editortest command line.
Change 2960940 on 2016/04/29 by Chris.Bunner
Allow custom material nodes to be used with tessellation outputs.
#jira UE-29586
Change 2960955 on 2016/04/29 by Gil.Gribb
UE4 - Improved the CPU burden of loading in several places. Made substantial progress on the complete loading revamp (currently disabled).
Change 2960961 on 2016/04/29 by Chris.Bunner
Potential material translator Lerp node pre-computations/optimizations.
#jira OR-20138
Change 2961087 on 2016/04/29 by Gil.Gribb
Fixed compile error in preflight relating to load time test rig
Change 2962565 on 2016/05/02 by Gil.Gribb
Merging //UE4/Dev-Main@2962478 to Dev-Rendering (//UE4/Dev-Rendering)
Change 2965058 on 2016/05/03 by Chris.Bunner
Shader version bump.
#lockdown Gil.Gribb
#jira UE-30206
Change 2966554 on 2016/05/04 by Chris.Bunner
Bumping shader version again, unintentionally polluted DDC previously.
#lockdown Gil.Gribb
#jira UE-30329
Change 2967183 on 2016/05/05 by Gil.Gribb
UE4 - Fixed a bad hash on landscape grass components. Simple, safe.
#lockdown nick.penwarden
[CL 2967480 by Gil Gribb in Main branch]
2016-05-05 12:13:26 -04:00
QUICK_SCOPE_CYCLE_COUNTER ( STAT_FSignedArchiveReader_Spin ) ;
FPlatformProcess : : SleepNoStats ( 0.001f ) ;
2014-03-14 14:13:41 -04:00
}
}
while ( ChunksToRead > 0 ) ;
PakOffset + = Length ;
// Free precached chunks (they will still get precached but simply marked as not used by anything)
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
for ( int32 QueueIndex = FirstPrecacheChunkIndex ; QueueIndex < QueuedChunks . Num ( ) ; + + QueueIndex )
2014-03-14 14:13:41 -04:00
{
FReadInfo & CachedChunk = QueuedChunks [ QueueIndex ] ;
Copying //UE4/Orion-Staging to //UE4/Main (Origin: //Orion/Dev-General @ 2904087)
==========================
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]
2016-03-13 18:53:13 -04:00
if ( CachedChunk . Request )
{
SignatureChecker - > ReleaseChunk ( * CachedChunk . Request ) ;
}
2014-03-14 14:13:41 -04:00
}
}