Files
UnrealEngineUWP/Engine/Source/Runtime/PakFile/Private/SignedArchiveReader.cpp

438 lines
14 KiB
C++
Raw Normal View History

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
#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"
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);
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
2016-03-24 13:53:55 -04:00
FChunkCacheWorker::FChunkCacheWorker(FArchive* InReader, const TCHAR* Filename)
: 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();
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
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);
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
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;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
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);
QueuedRequestsEvent = FPlatformProcess::GetSynchEventFromPool();
Thread = FRunnableThread::Create(this, TEXT("FChunkCacheWorker"), 0, TPri_BelowNormal);
}
FChunkCacheWorker::~FChunkCacheWorker()
{
delete Thread;
Thread = NULL;
FPlatformProcess::ReturnSynchEventToPool(QueuedRequestsEvent);
QueuedRequestsEvent = nullptr;
}
bool FChunkCacheWorker::Init()
{
return true;
}
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
2016-03-21 21:11:39 -04:00
void FChunkCacheWorker::SetupDecryptionKey()
{
Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 3228803) #lockdown Nick.Penwarden #rb none ========================== MAJOR FEATURES + CHANGES ========================== Change 3209807 on 2016/11/24 by Chris.Wood CRP now has improved handling of lost comms with website/DB (CRP v.1.2.9) [UE-38397] - CrashReportProcess should not lose crashes when the website goes down. Change 3209936 on 2016/11/24 by Steven.Hutton Reconciled offline work. Fixed a number of display bugs with the reports page. Change 3209938 on 2016/11/24 by Steven.Hutton Reconciled offline work Adding JQuery UI packages Change 3210736 on 2016/11/28 by Steve.Robb Unset() made protected, which is an implementation details of TFunction and not the way to unbind one (may leak memory). Fixes to existing calls. https://answers.unrealengine.com/questions/494947/proper-way-to-deal-with-destroying-a-tfunction.html Change 3211181 on 2016/11/28 by Steve.Robb Improved error message when binding a delegate to a pending kill object. #jira UE-5232 Change 3211214 on 2016/11/28 by Steve.Robb PR #2978: fixed typo in FMallocLeakDetection (Contributed by finap) #jira UE-39049 Change 3211301 on 2016/11/28 by Steve.Robb PR #2892: Copy bCustomVersionsAreReset when creating an Archive from another Ar. (Contributed by surakin) #jira UE-37941 Change 3213387 on 2016/11/29 by Steven.Hutton Test of a release note parsed from the changelist Change 3213553 on 2016/11/29 by Gil.Gribb UE4 - Rework dependencies and UStruct creation so that we can create UBlueprintGeneratedClass's without needing the parent class serialized. Change 3214800 on 2016/11/30 by Robert.Manuszewski ModuleManager will now use a critical section instead of FMultiReaderSingleWriterGT to make it really thread safe. - removed FMultiReaderSingleWriterGT because it was not fully thread safe Change 3214926 on 2016/11/30 by Robert.Manuszewski Merging using Dev-Core_To_Dev-LoadTimes (reversed) Change 3214981 on 2016/11/30 by Gil.Gribb UE4 - Make sure that subobjects of CDOs are exported even if they don't have any direct references; they might be archetypes. Change 3215392 on 2016/11/30 by Steve.Robb Error out on editor builds when reading a non-boolean value in an archive. Change 3215674 on 2016/11/30 by Steve.Robb Replacement of a custom scope-exit setup with our standard macro. Change 3215720 on 2016/11/30 by Steve.Robb Default constructor for TTuple which value-initializes the elements. Change 3216777 on 2016/12/01 by Graeme.Thornton Add NoRedist and NotForLicensees folders in the game folder to the C# version of config file hierarchy. Change 3216858 on 2016/12/01 by Graeme.Thornton Improvements to pak signing and encryption - Remove compile time defines for encryption key and signing keys - Embed keys in executable by including in the UBT generated UELinkerFixups.cpp file - Add key access core delegate for passing these keys through to pak platform file Change 3216860 on 2016/12/01 by Graeme.Thornton Re-enable pak signing and encryption in ShooterGame Change 3216861 on 2016/12/01 by Graeme.Thornton Re-enable pak signing and encryption in Paragon Change 3217076 on 2016/12/01 by Gil.Gribb UE4 - replaced !GIsIntialLoad with EVENT_DRIVEN_ASYNC_LOAD_ACTIVE_AT_RUNTIME as a first step toward boot time EDL Change 3221139 on 2016/12/05 by Ben.Woodhouse Dummy integrate of CL 3221131 (versioning workarounds) from Dev-LoadTimes4.14 with accept target to prevent those workarounds being merged out of dev-loadtimes4.14. Command: p4 integrate //UE4/Dev-LoadTimes4.14/...@3221131,3221131 w/ resolve/accept-target Change 3221410 on 2016/12/05 by Steve.Robb Allow Algo::IsSorted to work on C arrays and initializer_lists. Change 3221673 on 2016/12/05 by Gil.Gribb set up an intentional merge conflict so we can do the right thing when dev-BP and dev-core come together Change 3223182 on 2016/12/06 by Chris.Wood Add EngineModeEx to CrashReportCommon [UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not Change 3224646 on 2016/12/07 by Robert.Manuszewski It's no longer necessary to rebuild the cooked exe to enable the event driven loader. EDL and the new async IO are now controlled with ini settings only. Change 3224647 on 2016/12/07 by Robert.Manuszewski Event Driven Loader is now enabled by default. Change 3224669 on 2016/12/07 by Chris.Wood Compressing some crash files output from CRP to S3 (CRP v1.2.11) [UE-37564] - Add compression support for CRP crash files in S3 Add EngineModeEx to support to CRP (CRP v1.2.10) [UE-39258] - Update CrashReporter to include whether Engine crashes are from vanilla build or not Change 3224873 on 2016/12/07 by Robert.Manuszewski A few fixes to the EDL macro refactor. Change 3224933 on 2016/12/07 by Robert.Manuszewski Async Loading settings will now be logged on startup in cooked games Change 3224984 on 2016/12/07 by Robert.Manuszewski Small fix to EDL and new async IO global var init. Change 3225027 on 2016/12/07 by Robert.Manuszewski Re-enabling EDL in ShooterGame since it no longer requires the cooked exe to be re-compiled (and EDL is on by default anyway). Change 3226702 on 2016/12/08 by Steve.Robb UHT can now skip over macro-like identifiers while parsing. Correctly handles FTypefaceEntry::Name parsing, which was broken by the workaround in CL# 3219332. Syntax workaround reverted in FTypefaceEntry. #jira UE-38231 Change 3226756 on 2016/12/08 by Steve.Robb LexicalConversion renamed to Lex after #core discussion. Lex::ToString overloads added for FString itself. Change 3226766 on 2016/12/08 by Steve.Robb FCookStatsManager::ToString replaced with Lex::ToString, as it now supports the required functionality. Change 3226949 on 2016/12/08 by Robert.Manuszewski Fixing static analysis warnings Change 3228566 on 2016/12/09 by Robert.Manuszewski Making UBT not think it needs to use separate temporary target for non source code projects when EDL settings don't match default. Change 3228601 on 2016/12/09 by Steve.Robb Fix for TSparseArray visualization of types smaller than 8 bytes. Change 3228654 on 2016/12/09 by Gil.Gribb UE4 - Fix very old bug with lock free lists, probably not relevant to anything we currently use. Change 3228697 on 2016/12/09 by Graeme.Thornton Rebuilt UnrealPak [CL 3228932 by Robert Manuszewski in Main branch]
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.
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
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
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
2016-03-24 13:53:55 -04:00
static TEncryptionInt TestValues[] =
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
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)
{
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
2016-03-24 13:53:55 -04:00
TEncryptionInt DecryptedValue = FEncryption::ModularPow(TestValues[Index], DecryptionKey.Exponent, DecryptionKey.Modulus);
Copying //UE4/Orion-Staging to //UE4/Main (Source: //Orion/Dev-General @ 2912736) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 2912513 on 2016/03/16 by David.Ratti attempted cook fix #rb none #tests compile Change 2912456 on 2016/03/16 by Zak.Middleton #ue4 - Move Replay client interpolation mode check to OnRegister(), out of TickComponent() so we don't check it constantly. #rb John.Pollard #tests Replays and MultiPIE vs AI Change 2912386 on 2016/03/16 by Ben.Marsh BuildGraph: Add quotes around custom build node lists, so we can support node names with spaces. Change 2912378 on 2016/03/16 by Ben.Marsh BuildGraph: Fix format of custom build arguments when running with buildgraph. Change 2912318 on 2016/03/16 by Marcus.Wassmer Fix mallocleakdetection false positives, and hash collision data corruption. #rb none #test leak finding on goldenpath Change 2912242 on 2016/03/16 by Lukasz.Furman CIS fix #rb none #tests none Change 2912239 on 2016/03/16 by Ben.Marsh UBT: Include the project "Build" folder in the generated project files. It's pretty common to want to edit configuration data that's stored there. #rb none #tests generated project files using UGS after making change Change 2912211 on 2016/03/16 by Ben.Marsh BuildFarm: Allow disabling the local DDC by setting the DDC override environment variable to "None". Testing performance of just using shared DDC for builders. #rb none #codereview Wes.Hunt #tests none Change 2912196 on 2016/03/16 by Mieszko.Zielinski Added a missing #pragma once to GameplayDebuggerCompat.h #Orion #rb Lukasz.Furman #test none Change 2912165 on 2016/03/16 by Lukasz.Furman new gameplay debugger and some replication fixes (disabled by default) uncommment debugger's setup line in FOrionGameModule::StartupModule to enable #orion #rb none #tests yes, a lot. #codereview Mieszko.Zielinski Change 2912065 on 2016/03/16 by Jason.Bestimt [AUTOMERGE] #ORION_MAIN - Copy of DevUI (POST MERGE) @ CL 2912016 #RB:none #Tests:none #CodeReview: matt.schembari -------- Integrated using branch //Orion/Main_to_//Orion/Dev-General of change#2912060 by Jason.Bestimt on 2016/03/16 15:32:56. Change 2912045 on 2016/03/16 by David.Ratti Add support for gameplay cues retrieiving the ability or gameplay effect level of the thing that instigated them. Also added level requirement settings in the addition particle system options in gameplay cues #rb DanY #tests PIE Change 2912030 on 2016/03/16 by Alex.Fennell Merging //Portal/Dev-LibCurl_update/Engine/Source/Runtime/Online/... to //Orion/Dev-General/Engine/Source/Runtime/Online/... support for cookies across curl easy handles in libcurl #TESTS: cookie support confirmed by using the http test targetting google.com #RB: david.nikdel #codereview: david.nikdel, jason.bestimt Change 2911870 on 2016/03/16 by Laurent.Delayen - Added FBranchingPointNotifyPayload used in AnimNotify and AnimNotifyState notifications. - FBranchingPointNotifyPayload includes MontageInstance InstanceID to uniquely identify which Montage it came from. - New notifications are backwards compatible with old. - Added bIsNativeBranchingPoint flag to notify classes to force them into branching points. #rb martin.wilson, frank.gigliotti #tests Kuro VS Rampage abilities in networked PIE Change 2911763 on 2016/03/16 by Nick.Atamas Prevents a re-entrancy crash caused by potentially complex thumbnail generators. In general, we should not be doing heavy lifting in the asset browser until the user has released their mouse. This is especially true when a user is clicking on the content browser tab to bring it to front for the first time. This is probably a good change regardless of the re-entrancy issue. #rb none #test Editor does not crash. #codereview Matt.Kuhlenschmidt Change 2911631 on 2016/03/16 by Dmitry.Rekman Fix AvgPing perfcounter being occasionally NaN (FORT-20523) - Prevent division by zero. #rb none [CL 2917701 by Andrew Grant in Main branch]
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."));
}
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
{
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)
{
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);
}
}
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);
// 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);
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;
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
}
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);
}
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;
}
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)
, PakReader(InPakReader)
, SizeOnDisk(0)
, PakSize(0)
, PakOffset(0)
, SignatureChecker(InSignatureChecker)
{
// Cache global info about the archive
ArIsLoading = true;
Copying //UE4/Dev-Core to //UE4/Main ========================== MAJOR FEATURES + CHANGES ========================== Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore PC builds now log engine initialization time with the load time tracker Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Optimization for FSignedArchiveReader - Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore Extra stats for PakFile group - Time reading from pak handles - Number of open pak handles Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Close disregard for GC pool when disabling it to leave it in a good state. Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core FlushCurrentThreadCache calls forwarded on from FMalloc wrappers. Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core Stats for MallocBinned2. Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash. Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors. Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Send thread heartbeats during potentially slow tasks. Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Added the ability to query the name of a thread given its TLS id. Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2. Switch back to MallocBinned by default. Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core Shrunken GMallocBinned2MemSizeToIndex array. Improvement of some shared templated alignment-related functions. Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore Refactoring of pak signing to be more compatible with patching - Store signatures in a block at the end of the pak file - Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests. Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2 Don't compile UnrealPak with ICU Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0. Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Don't display message boxes in unattended mode when D3D device is removed. Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore Disable reading of anything outside the pak file when in shipping builds Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 A few improvements to thread heartbeat thread: - Don't check for heartbeat in debug builds - Don't spawn the thread heartbeat thread for programs - Ignore stalls when exiting Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Fixing race conditions when using malloc verify Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q. Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core Fix for TQueue::Peek const-correctness. Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 Adding code to test signature keys. Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1 TBigInt Multiply is now 30x faster Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core New FCString::Strspn and FCString::Strcspn functions. [CL 2921423 by Robert Manuszewski in Main branch]
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;
}
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;
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)
{
// 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;
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
// 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);
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;
}
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);
// 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;
// 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
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);
}
}
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)
{
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);
}
}
}