Files
UnrealEngineUWP/Engine/Source/Runtime/RuntimeAssetCache/Private/RuntimeAssetCacheEntryMetadata.h

93 lines
1.6 KiB
C
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
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 "CoreMinimal.h"
#include "Misc/DateTime.h"
#include "UObject/NameTypes.h"
#include "HAL/ThreadSafeBool.h"
class FArchive;
/**
* Cache entry metadata.
*/
class FCacheEntryMetadata
{
public:
FCacheEntryMetadata(const FDateTime& InLastAccessTime
, int32 InCachedAssetSize
, int32 InCachedAssetVersion
, FName InName)
: LastAccessTime(InLastAccessTime)
, CachedAssetSize(InCachedAssetSize)
, CachedAssetVersion(InCachedAssetVersion)
, Name(InName)
, bIsBuilding(true)
{ }
FCacheEntryMetadata()
: LastAccessTime(FDateTime::Now())
, CachedAssetSize(0)
, CachedAssetVersion(0)
, Name(NAME_None)
, bIsBuilding(false)
{ }
int32 GetCachedAssetVersion() const
{
return CachedAssetVersion;
}
void SetCachedAssetVersion(int32 Version)
{
CachedAssetVersion = Version;
}
int32 GetCachedAssetSize() const
{
return CachedAssetSize;
}
void SetCachedAssetSize(int64 Value)
{
CachedAssetSize = Value;
}
void SetLastAccessTime(FDateTime Value)
{
LastAccessTime = Value;
}
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3355692) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3348195 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347729 for variable shadow warning caused by CL 3347393 Change 3347935 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347393 for a runtime asset crash Change 3340537 on 2017/03/09 by James.Brinkerhoff Hotfix from CL 3338679 for arrow keys not working to navigate between elements in the details panel Change 3335755 on 2017/03/07 by Ben.Marsh Pass bCreateStubIPA into PrepForUATPackageOrDeploy rather than setting it through a global configuration object (which is no longer accessible). Change 3334652 on 2017/03/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3331740 Change 3332441 on 2017/03/03 by James.Brinkerhoff Hotfix from CL 3296668 for assert when creating memory reports #jira OCN-6087: [CRASH] Crash after entering the memreport command into the command line. Change 3318933 on 2017/02/23 by Allan.Bentham Temp workaround for iOS metal sRGB capable render targets sRGB correcting twice. Change 3314064 on 2017/02/21 by Richard.Fawcett Implement randomized manifest filenames for Ocean. Change 3313139 on 2017/02/20 by James.Brinkerhoff Hotfix from CL 3262052 for UE-40782 Put back the skinxx workflow for the staticmesh Change 3292678 on 2017/02/08 by Brian.Zaugg Back out changelist 3292455 Change 3292455 on 2017/02/08 by Brian.Zaugg Back out changelist 3292268 Change 3292268 on 2017/02/08 by Allan.Bentham Restore DestStride output value when locking compressed textures. Change 3288925 on 2017/02/06 by Brian.Zaugg Change this error from a check to an error log: "Loading non-streamed mips from an external bulk file. This is not desireable." Change 3288441 on 2017/02/06 by James.Brinkerhoff Hotfix from CL 3255451 for UE-40384: Reference Viewer comment text is difficult to read #jira OCN-6059: CLONE - Comment boxes are turning opaque when the game is running Change 3285501 on 2017/02/03 by Allan.Bentham Fix for ring buffer not allocating sufficient space for large requests. Change 3280062 on 2017/01/31 by Max.Chen Sequencer: Find object in any package. This fixes an issue where bound objects can't be found. #jira UE-39459 Change 3279375 on 2017/01/31 by Brian.Zaugg Increase TaskGraph thread stack size for non-shipping builds to prevent stack overflow on iOS. Change 3279366 on 2017/01/31 by Brian.Zaugg Fix for iOS virtual keyboard. Change 3275965 on 2017/01/27 by Max.Chen Sequencer: Only reset persistent evaluation data when the sequence has changed - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence Copy from Release-4.15 #jira UE-40234 Change 3275963 on 2017/01/27 by Max.Chen Sequencer: Fixed crash caused by lingering persistent evaluation data Copy from Release-4.15 #jira UE-40064 Change 3275962 on 2017/01/27 by Max.Chen Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks. - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer Copy from Release-4.15 #jira UE-39882 Change 3275523 on 2017/01/27 by James.Brinkerhoff Fix issue with automation tool caused by a bad resolve Change 3274292 on 2017/01/26 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3269883 Change 3252898 on 2017/01/10 by James.Brinkerhoff Hotfix from CL 3187276 for UE-39071: Crash on adding Actor Reference property to a Struct Change 3248463 on 2017/01/05 by Aaron.McLeran Implementing UE-39421 fix into Ocean Change 3247933 on 2017/01/05 by James.Brinkerhoff Hotfix from CL 3246828 for UE-39249: Particle effects only render in one eye for VR Change 3242274 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209235 for UE-16688 - Selection and selection highlight doesn't work on child actors Change 3242273 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209232 for making the function GetComponents optionally include components in child actors Also fixed a circular dependency due to the hotfix (already applied in UE4 Main) Change 3240035 on 2016/12/19 by Jaren.Peterson MovieSceneEventTemplate - Renamed FEventData to FMovieSceneEventData to eliminate confusion and clear up a crash occuring in Ocean debug builds. Change 3236490 on 2016/12/15 by Chad.Garyet Updating packaged build to not make a stub. This was stopping all icons from making it into the .ipa and messing up the resolution settings. also cleaned up the local staging directories. Change 3231487 on 2016/12/12 by Brian.Zaugg Maintain aspect ratio when render target is clamped. Change 3229050 on 2016/12/09 by Brian.Zaugg #ocn - Hotfix from CL 3218104. Fixes code signing errors related to iCloud support. Change 3225632 on 2016/12/07 by Brian.Zaugg New Chair Entertainment Group iOS Distribution certificate .p12. Change 3224015 on 2016/12/06 by Brian.Zaugg #ocn - Hotfix from CL 3223546 fixes iOS audio crash after last merge from main. Change 3221665 on 2016/12/05 by James.Brinkerhoff Merging hotfixes from //UE4/Ocean-Staging to //Ocean/Main Hotfix from CL 3216832 for non-unity build failures Hotfix from CL 3217564 for fixing the FixDylib script being run on too many modules. Mac build farm is oversaturated right now. Change 3217759 on 2016/12/01 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ 3215855 Change 3214085 on 2016/11/29 by Casey.Spencer Removed logic in K2Node_BaseAsyncTask that excluded properties defined on super classes. Check with engine team prior to making change. [CL 3359832 by James Brinkerhoff in Main branch]
2017-03-23 02:04:59 -04:00
FDateTime GetLastAccessTime() const
{
return LastAccessTime;
}
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3355692) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3348195 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347729 for variable shadow warning caused by CL 3347393 Change 3347935 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347393 for a runtime asset crash Change 3340537 on 2017/03/09 by James.Brinkerhoff Hotfix from CL 3338679 for arrow keys not working to navigate between elements in the details panel Change 3335755 on 2017/03/07 by Ben.Marsh Pass bCreateStubIPA into PrepForUATPackageOrDeploy rather than setting it through a global configuration object (which is no longer accessible). Change 3334652 on 2017/03/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3331740 Change 3332441 on 2017/03/03 by James.Brinkerhoff Hotfix from CL 3296668 for assert when creating memory reports #jira OCN-6087: [CRASH] Crash after entering the memreport command into the command line. Change 3318933 on 2017/02/23 by Allan.Bentham Temp workaround for iOS metal sRGB capable render targets sRGB correcting twice. Change 3314064 on 2017/02/21 by Richard.Fawcett Implement randomized manifest filenames for Ocean. Change 3313139 on 2017/02/20 by James.Brinkerhoff Hotfix from CL 3262052 for UE-40782 Put back the skinxx workflow for the staticmesh Change 3292678 on 2017/02/08 by Brian.Zaugg Back out changelist 3292455 Change 3292455 on 2017/02/08 by Brian.Zaugg Back out changelist 3292268 Change 3292268 on 2017/02/08 by Allan.Bentham Restore DestStride output value when locking compressed textures. Change 3288925 on 2017/02/06 by Brian.Zaugg Change this error from a check to an error log: "Loading non-streamed mips from an external bulk file. This is not desireable." Change 3288441 on 2017/02/06 by James.Brinkerhoff Hotfix from CL 3255451 for UE-40384: Reference Viewer comment text is difficult to read #jira OCN-6059: CLONE - Comment boxes are turning opaque when the game is running Change 3285501 on 2017/02/03 by Allan.Bentham Fix for ring buffer not allocating sufficient space for large requests. Change 3280062 on 2017/01/31 by Max.Chen Sequencer: Find object in any package. This fixes an issue where bound objects can't be found. #jira UE-39459 Change 3279375 on 2017/01/31 by Brian.Zaugg Increase TaskGraph thread stack size for non-shipping builds to prevent stack overflow on iOS. Change 3279366 on 2017/01/31 by Brian.Zaugg Fix for iOS virtual keyboard. Change 3275965 on 2017/01/27 by Max.Chen Sequencer: Only reset persistent evaluation data when the sequence has changed - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence Copy from Release-4.15 #jira UE-40234 Change 3275963 on 2017/01/27 by Max.Chen Sequencer: Fixed crash caused by lingering persistent evaluation data Copy from Release-4.15 #jira UE-40064 Change 3275962 on 2017/01/27 by Max.Chen Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks. - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer Copy from Release-4.15 #jira UE-39882 Change 3275523 on 2017/01/27 by James.Brinkerhoff Fix issue with automation tool caused by a bad resolve Change 3274292 on 2017/01/26 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3269883 Change 3252898 on 2017/01/10 by James.Brinkerhoff Hotfix from CL 3187276 for UE-39071: Crash on adding Actor Reference property to a Struct Change 3248463 on 2017/01/05 by Aaron.McLeran Implementing UE-39421 fix into Ocean Change 3247933 on 2017/01/05 by James.Brinkerhoff Hotfix from CL 3246828 for UE-39249: Particle effects only render in one eye for VR Change 3242274 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209235 for UE-16688 - Selection and selection highlight doesn't work on child actors Change 3242273 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209232 for making the function GetComponents optionally include components in child actors Also fixed a circular dependency due to the hotfix (already applied in UE4 Main) Change 3240035 on 2016/12/19 by Jaren.Peterson MovieSceneEventTemplate - Renamed FEventData to FMovieSceneEventData to eliminate confusion and clear up a crash occuring in Ocean debug builds. Change 3236490 on 2016/12/15 by Chad.Garyet Updating packaged build to not make a stub. This was stopping all icons from making it into the .ipa and messing up the resolution settings. also cleaned up the local staging directories. Change 3231487 on 2016/12/12 by Brian.Zaugg Maintain aspect ratio when render target is clamped. Change 3229050 on 2016/12/09 by Brian.Zaugg #ocn - Hotfix from CL 3218104. Fixes code signing errors related to iCloud support. Change 3225632 on 2016/12/07 by Brian.Zaugg New Chair Entertainment Group iOS Distribution certificate .p12. Change 3224015 on 2016/12/06 by Brian.Zaugg #ocn - Hotfix from CL 3223546 fixes iOS audio crash after last merge from main. Change 3221665 on 2016/12/05 by James.Brinkerhoff Merging hotfixes from //UE4/Ocean-Staging to //Ocean/Main Hotfix from CL 3216832 for non-unity build failures Hotfix from CL 3217564 for fixing the FixDylib script being run on too many modules. Mac build farm is oversaturated right now. Change 3217759 on 2016/12/01 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ 3215855 Change 3214085 on 2016/11/29 by Casey.Spencer Removed logic in K2Node_BaseAsyncTask that excluded properties defined on super classes. Check with engine team prior to making change. [CL 3359832 by James Brinkerhoff in Main branch]
2017-03-23 02:04:59 -04:00
FName GetName() const
{
return Name;
}
Copying //UE4/Ocean-Staging to //UE4/Dev-Main (Source: //Ocean/Main @ 3355692) #lockdown Nick.Penwarden ========================== MAJOR FEATURES + CHANGES ========================== Change 3348195 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347729 for variable shadow warning caused by CL 3347393 Change 3347935 on 2017/03/15 by James.Brinkerhoff Hotfix from CL 3347393 for a runtime asset crash Change 3340537 on 2017/03/09 by James.Brinkerhoff Hotfix from CL 3338679 for arrow keys not working to navigate between elements in the details panel Change 3335755 on 2017/03/07 by Ben.Marsh Pass bCreateStubIPA into PrepForUATPackageOrDeploy rather than setting it through a global configuration object (which is no longer accessible). Change 3334652 on 2017/03/06 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3331740 Change 3332441 on 2017/03/03 by James.Brinkerhoff Hotfix from CL 3296668 for assert when creating memory reports #jira OCN-6087: [CRASH] Crash after entering the memreport command into the command line. Change 3318933 on 2017/02/23 by Allan.Bentham Temp workaround for iOS metal sRGB capable render targets sRGB correcting twice. Change 3314064 on 2017/02/21 by Richard.Fawcett Implement randomized manifest filenames for Ocean. Change 3313139 on 2017/02/20 by James.Brinkerhoff Hotfix from CL 3262052 for UE-40782 Put back the skinxx workflow for the staticmesh Change 3292678 on 2017/02/08 by Brian.Zaugg Back out changelist 3292455 Change 3292455 on 2017/02/08 by Brian.Zaugg Back out changelist 3292268 Change 3292268 on 2017/02/08 by Allan.Bentham Restore DestStride output value when locking compressed textures. Change 3288925 on 2017/02/06 by Brian.Zaugg Change this error from a check to an error log: "Loading non-streamed mips from an external bulk file. This is not desireable." Change 3288441 on 2017/02/06 by James.Brinkerhoff Hotfix from CL 3255451 for UE-40384: Reference Viewer comment text is difficult to read #jira OCN-6059: CLONE - Comment boxes are turning opaque when the game is running Change 3285501 on 2017/02/03 by Allan.Bentham Fix for ring buffer not allocating sufficient space for large requests. Change 3280062 on 2017/01/31 by Max.Chen Sequencer: Find object in any package. This fixes an issue where bound objects can't be found. #jira UE-39459 Change 3279375 on 2017/01/31 by Brian.Zaugg Increase TaskGraph thread stack size for non-shipping builds to prevent stack overflow on iOS. Change 3279366 on 2017/01/31 by Brian.Zaugg Fix for iOS virtual keyboard. Change 3275965 on 2017/01/27 by Max.Chen Sequencer: Only reset persistent evaluation data when the sequence has changed - This ensures that we don't destroy persistent data that is assumed to still exist (i.e. it was created in ::Setup) from the same sequence Copy from Release-4.15 #jira UE-40234 Change 3275963 on 2017/01/27 by Max.Chen Sequencer: Fixed crash caused by lingering persistent evaluation data Copy from Release-4.15 #jira UE-40064 Change 3275962 on 2017/01/27 by Max.Chen Sequencer: Evaluation templates are now only fully rebuilt in PIE, and will not re-cycle track identifiers - This addresses issues with newly compiled tracks recycling the persistent data of old stale tracks. - This commit also ensures we don't fully rebuild templates in the editor when in Sequencer Copy from Release-4.15 #jira UE-39882 Change 3275523 on 2017/01/27 by James.Brinkerhoff Fix issue with automation tool caused by a bad resolve Change 3274292 on 2017/01/26 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ CL 3269883 Change 3252898 on 2017/01/10 by James.Brinkerhoff Hotfix from CL 3187276 for UE-39071: Crash on adding Actor Reference property to a Struct Change 3248463 on 2017/01/05 by Aaron.McLeran Implementing UE-39421 fix into Ocean Change 3247933 on 2017/01/05 by James.Brinkerhoff Hotfix from CL 3246828 for UE-39249: Particle effects only render in one eye for VR Change 3242274 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209235 for UE-16688 - Selection and selection highlight doesn't work on child actors Change 3242273 on 2016/12/21 by James.Brinkerhoff Hotfix from CL 3209232 for making the function GetComponents optionally include components in child actors Also fixed a circular dependency due to the hotfix (already applied in UE4 Main) Change 3240035 on 2016/12/19 by Jaren.Peterson MovieSceneEventTemplate - Renamed FEventData to FMovieSceneEventData to eliminate confusion and clear up a crash occuring in Ocean debug builds. Change 3236490 on 2016/12/15 by Chad.Garyet Updating packaged build to not make a stub. This was stopping all icons from making it into the .ipa and messing up the resolution settings. also cleaned up the local staging directories. Change 3231487 on 2016/12/12 by Brian.Zaugg Maintain aspect ratio when render target is clamped. Change 3229050 on 2016/12/09 by Brian.Zaugg #ocn - Hotfix from CL 3218104. Fixes code signing errors related to iCloud support. Change 3225632 on 2016/12/07 by Brian.Zaugg New Chair Entertainment Group iOS Distribution certificate .p12. Change 3224015 on 2016/12/06 by Brian.Zaugg #ocn - Hotfix from CL 3223546 fixes iOS audio crash after last merge from main. Change 3221665 on 2016/12/05 by James.Brinkerhoff Merging hotfixes from //UE4/Ocean-Staging to //Ocean/Main Hotfix from CL 3216832 for non-unity build failures Hotfix from CL 3217564 for fixing the FixDylib script being run on too many modules. Mac build farm is oversaturated right now. Change 3217759 on 2016/12/01 by James.Brinkerhoff Merging //UE4/Ocean-Staging to //Ocean/Main @ 3215855 Change 3214085 on 2016/11/29 by Casey.Spencer Removed logic in K2Node_BaseAsyncTask that excluded properties defined on super classes. Check with engine team prior to making change. [CL 3359832 by James Brinkerhoff in Main branch]
2017-03-23 02:04:59 -04:00
bool IsBuilding() const
{
return bIsBuilding;
}
void FinishBuilding()
{
bIsBuilding = false;
}
friend FArchive& operator<<(FArchive& Ar, FCacheEntryMetadata& Metadata);
private:
FDateTime LastAccessTime;
int64 CachedAssetSize;
int32 CachedAssetVersion;
FName Name;
FThreadSafeBool bIsBuilding;
};
FArchive& operator<<(FArchive& Ar, FCacheEntryMetadata& Metadata);