40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "CoreMinimal.h"
|
||
|
|
|
||
|
|
struct FAssetData;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Legacy name table reader replaced by FAssetRegistryReader.
|
||
|
|
*
|
||
|
|
* Has an FName table and names are serialized as table indices.
|
||
|
|
*/
|
||
|
|
class FNameTableArchiveReader: public FArchive
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
/** Create a reader that wraps around an existing archive. Existing archive must support seek */
|
||
|
|
FNameTableArchiveReader(FArchive& WrappedArchive);
|
||
|
|
|
||
|
|
// Farchive implementation to redirect requests to the wrapped archive
|
||
|
|
virtual void Serialize(void* V, int64 Length) override;
|
||
|
|
virtual bool Precache(int64 PrecacheOffset, int64 PrecacheSize) override;
|
||
|
|
virtual void Seek(int64 InPos) override;
|
||
|
|
virtual int64 Tell() override;
|
||
|
|
virtual int64 TotalSize() override;
|
||
|
|
virtual const FCustomVersionContainer& GetCustomVersions() const override;
|
||
|
|
virtual void SetCustomVersions(const FCustomVersionContainer& NewVersions) override;
|
||
|
|
virtual void ResetCustomVersions() override;
|
||
|
|
virtual FArchive& operator<<(FName& Name);
|
||
|
|
|
||
|
|
void SerializeTagsAndBundles(FAssetData& Out);
|
||
|
|
|
||
|
|
private:
|
||
|
|
/** Serializers for different package maps */
|
||
|
|
bool SerializeNameMap();
|
||
|
|
|
||
|
|
FArchive* ProxyAr;
|
||
|
|
TArray<FNameEntryId> NameMap;
|
||
|
|
};
|