ICryPak

Interface to the Pak file system

C++
struct ICryPak {
  enum EPathResolutionRules {
    FLAGS_PATH_REAL = 1L<<16,
    FLAGS_COPY_DEST_ALWAYS = 1L<<17,
    FLAGS_ADD_TRAILING_SLASH = 1L<<18,
    FLAGS_NO_FULL_PATH = 1L<<21,
    FLAGS_REDIRECT_TO_DISC = 1L<<22,
    FLAGS_FOR_WRITING = 1L<<23,
    FLAGS_NO_LOWCASE = 1L<<24,
    FLAGS_PAK_IN_MEMORY = BIT(25),
    FLAGS_FILENAMES_AS_CRC32 = BIT(26),
    FLAGS_CHECK_MOD_PATHS = BIT(27),
    FLAGS_NEVER_IN_PAK = BIT(28),
    FLAGS_RESOLVE_TO_CACHE = BIT(29),
    FLAGS_PAK_IN_MEMORY_CPU = BIT(30)
  };
  enum EFOpenFlags {
    FOPEN_HINT_DIRECT_OPERATION = BIT(0),
    FOPEN_HINT_QUIET = BIT(1),
    FOPEN_ONDISK = BIT(2),
    FOPEN_FORSTREAMING = BIT(3),
    FOPEN_LOCKED_OPEN = BIT(4)
  };
  enum ERecordFileOpenList {
    RFOM_Disabled,
    RFOM_EngineStartup,
    RFOM_Level,
    RFOM_NextLevel
  };
  enum {
    g_nMaxPath = 0x800
  };
  enum EFileSearchLocation {
    eFileLocation_Any = 0,
    eFileLocation_OnDisk,
    eFileLocation_InPak
  };
  enum EInMemoryPakLocation {
    eInMemoryPakLocale_Unload = 0,
    eInMemoryPakLocale_CPU,
    eInMemoryPakLocale_GPU
  };
  struct PakInfo {
    struct Pak {
      const char* szFilePath;
      const char* szBindRoot;
      size_t nUsedMem;
    };
    unsigned numOpenPaks;
    Pak arrPaks[1];
  };
  const ICryPak::SignedFileSize FILE_NOT_PRESENT = -1;
};
File

ICryPak.h

See Also

CryPak

ICryPak::EFileSearchLocation Enumeration
C++
enum EFileSearchLocation {
  eFileLocation_Any = 0,
  eFileLocation_OnDisk,
  eFileLocation_InPak
};
File

ICryPak.h

Description

file location enum used in isFileExist to control where the pak system looks for the file.

ICryPak::EFOpenFlags Enumeration
C++
enum EFOpenFlags {
  FOPEN_HINT_DIRECT_OPERATION = BIT(0),
  FOPEN_HINT_QUIET = BIT(1),
  FOPEN_ONDISK = BIT(2),
  FOPEN_FORSTREAMING = BIT(3),
  FOPEN_LOCKED_OPEN = BIT(4)
};
File

ICryPak.h

Members
Members
Description
FOPEN_HINT_DIRECT_OPERATION = BIT(0)
If possible, will prevent the file from being read from memory.
FOPEN_HINT_QUIET = BIT(1)
Will prevent a "missing file" warnings to be created.
FOPEN_ONDISK = BIT(2)
File should be on disk
FOPEN_FORSTREAMING = BIT(3)
Open is done by the streaming thread.
FOPEN_LOCKED_OPEN = BIT(4)
on supported platforms, file is open in 'locked' mode
Description

Used for widening FOpen functionality. They're ignored for the regular File System files.

ICryPak::EInMemoryPakLocation Enumeration
C++
enum EInMemoryPakLocation {
  eInMemoryPakLocale_Unload = 0,
  eInMemoryPakLocale_CPU,
  eInMemoryPakLocale_GPU
};
File

ICryPak.h

ICryPak::EPathResolutionRules Enumeration
C++
enum EPathResolutionRules {
  FLAGS_PATH_REAL = 1L<<16,
  FLAGS_COPY_DEST_ALWAYS = 1L<<17,
  FLAGS_ADD_TRAILING_SLASH = 1L<<18,
  FLAGS_NO_FULL_PATH = 1L<<21,
  FLAGS_REDIRECT_TO_DISC = 1L<<22,
  FLAGS_FOR_WRITING = 1L<<23,
  FLAGS_NO_LOWCASE = 1L<<24,
  FLAGS_PAK_IN_MEMORY = BIT(25),
  FLAGS_FILENAMES_AS_CRC32 = BIT(26),
  FLAGS_CHECK_MOD_PATHS = BIT(27),
  FLAGS_NEVER_IN_PAK = BIT(28),
  FLAGS_RESOLVE_TO_CACHE = BIT(29),
  FLAGS_PAK_IN_MEMORY_CPU = BIT(30)
};
File

ICryPak.h

Members
Members
Description
FLAGS_PATH_REAL = 1L<<16
If used, the source path will be treated as the destination path and no transformations will be done. Pass this flag when the path is to be the actual path on the disk/in the packs and doesn't need adjustment (or after it has come through adjustments already) if this is set, AdjustFileName will not map the input path into the master folder (Ex: Shaders will not be converted to GameShaders)
FLAGS_COPY_DEST_ALWAYS = 1L<<17
AdjustFileName will always copy the file path to the destination path: regardless of the returned value, szDestpath can be used
FLAGS_ADD_TRAILING_SLASH = 1L<<18
Adds trailing slash to the path
FLAGS_NO_FULL_PATH = 1L<<21
if this is set, AdjustFileName will not make relative paths into full paths
FLAGS_REDIRECT_TO_DISC = 1L<<22
if this is set, AdjustFileName will redirect path to disc
FLAGS_FOR_WRITING = 1L<<23
if this is set, AdjustFileName will not adjust path for writing files
FLAGS_NO_LOWCASE = 1L<<24
if this is set, AdjustFileName will not convert the path to low case
FLAGS_PAK_IN_MEMORY = BIT(25)
if this is set, the pak would be stored in memory (gpu)
FLAGS_FILENAMES_AS_CRC32 = BIT(26)
Store all file names as crc32 in a flat directory structure.
FLAGS_CHECK_MOD_PATHS = BIT(27)
if this is set, AdjustFileName will try to find the file under any mod paths we know about
FLAGS_NEVER_IN_PAK = BIT(28)
if this is set, AdjustFileName will always check the filesystem/disk and not check inside open paks
FLAGS_RESOLVE_TO_CACHE = BIT(29)
returns existing file name from the local data or existing cache file name used by the resource compiler to pass the real file name
FLAGS_PAK_IN_MEMORY_CPU = BIT(30)
if this is set, the pak would be stored in memory (cpu)
Description

Flags used in file path resolution rules

ICryPak::ERecordFileOpenList Enumeration
C++
enum ERecordFileOpenList {
  RFOM_Disabled,
  RFOM_EngineStartup,
  RFOM_Level,
  RFOM_NextLevel
};
File

ICryPak.h

Members
Members
Description
RFOM_Disabled
file open are not recorded (fast, no extra memory)
RFOM_EngineStartup
before a level is loaded
RFOM_Level
during level loading till export2game -> resourcelist.txt, used to generate the list for level2level loading
RFOM_NextLevel
used for level2level loading
ICryPak::PakInfo Structure
C++
struct PakInfo {
  struct Pak {
    const char* szFilePath;
    const char* szBindRoot;
    size_t nUsedMem;
  };
  unsigned numOpenPaks;
  Pak arrPaks[1];
};
File

ICryPak.h

Members
Members
Description
unsigned numOpenPaks;
the number of packs in the arrPacks array
Pak arrPaks[1];
the packs
ICryPak::PakInfo::Pak Structure
C++
struct Pak {
  const char* szFilePath;
  const char* szBindRoot;
  size_t nUsedMem;
};
File

ICryPak.h

ICryPak::FILE_NOT_PRESENT Data Member
C++
const ICryPak::SignedFileSize FILE_NOT_PRESENT = -1;
ICryPak::~ICryPak Destructor
C++
virtual ~ICryPak();
ICryPak::AddMod Method
C++
virtual void AddMod(const char* szMod) = 0;
Description

adds a mod to the list

ICryPak::AdjustFileName Method
C++
virtual const char* AdjustFileName(const char * src, char dst[g_nMaxPath], unsigned nFlags) = 0;
Description

given the source relative path, constructs the full path to the file according to the flags returns the pointer to the constructed path (can be either szSourcePath, or szDestPath, or NULL in case of error

ICryPak::CheckFileAccessDisabled Method
C++
virtual bool CheckFileAccessDisabled(const char * name, const char * mode) = 0;
ICryPak::ClosePack Method
C++
virtual bool ClosePack(const char* pName, unsigned nFlags = FLAGS_PATH_REAL) = 0;
Description

after this call, the file will be unlocked and closed, and its contents won't be used to search for files

ICryPak::ClosePacks Method
C++
virtual bool ClosePacks(const char* pWildcard, unsigned nFlags = FLAGS_PATH_REAL) = 0;
Description

closes pack files by the path and wildcard

ICryPak::ComputeCachedPakCDR_CRC Method
C++
virtual int ComputeCachedPakCDR_CRC(const char* filename, bool useCryFile = true, IMemoryBlock* pData = NULL) = 0;
ICryPak::ComputeCRC Method
C++
virtual uint32 ComputeCRC(const char* szPath, uint32 nFileOpenFlags = 0) = 0;
Parameters
Parameters
Description
const char* szPath
must not be 0
Returns

error code

Description

computes CRC (zip compatible) for a file useful if a huge uncompressed file is generation in non continuous way good for big files - low memory overhead (1MB)

ICryPak::ComputeMD5 Method
C++
virtual bool ComputeMD5(const char* szPath, unsigned char* md5, uint32 nFileOpenFlags = 0) = 0;
Parameters
Parameters
Description
const char* szPath
must not be 0
unsigned char* md5
destination array of unsigned char [16]
Returns

true if success, false on failure

Description

computes MD5 checksum for a file good for big files - low memory overhead (1MB)

ICryPak::CopyFileOnDisk Method
C++
virtual bool CopyFileOnDisk(const char * source, const char * dest, bool bFailIfExist) = 0;
ICryPak::CreatePerfHUDWidget Method
C++
virtual void CreatePerfHUDWidget() = 0;
Description

PerfHUD widget for tracking pak file stats

ICryPak::DisableRuntimeFileAccess Method (bool)
C++
virtual void DisableRuntimeFileAccess(bool status) = 0;
Description

When enabled, files accessed at runtime will be tracked

ICryPak::DisableRuntimeFileAccess Method (bool, threadID)
C++
virtual bool DisableRuntimeFileAccess(bool status, threadID threadId) = 0;
ICryPak::FClose Method
C++
virtual int FClose(FILE * handle) = 0;
ICryPak::FEof Method
C++
virtual int FEof(FILE * handle) = 0;
ICryPak::FError Method
C++
virtual int FError(FILE * handle) = 0;
ICryPak::FFlush Method
C++
virtual int FFlush(FILE * handle) = 0;
ICryPak::FGetCachedFileData Method
C++
virtual void* FGetCachedFileData(FILE * handle, size_t & nFileSize) = 0;
Description

Get pointer to the internally cached, loaded data of the file. WARNING! requesting cached file data of the another file will invalidate previously retrieved pointer.

ICryPak::FGetErrno Method
C++
virtual int FGetErrno() = 0;
ICryPak::FGets Method
C++
virtual char * FGets(char *, int, FILE *) = 0;
ICryPak::FGetSize Method (FILE*)
C++
virtual size_t FGetSize(FILE* f) = 0;
ICryPak::FGetSize Method (char*, bool)
C++
virtual size_t FGetSize(const char* pName, bool bAllowUseFileSystem = false) = 0;
ICryPak::FindClose Method
C++
virtual int FindClose(intptr_t handle) = 0;
ICryPak::FindFirst Method
C++
virtual intptr_t FindFirst(const char * pDir, _finddata_t * fd, unsigned int nFlags = 0, bool bAllOwUseFileSystem = false) = 0;
ICryPak::FindNext Method
C++
virtual int FindNext(intptr_t handle, _finddata_t * fd) = 0;
ICryPak::FindPacks Method
C++
virtual bool FindPacks(const char * pWildcardIn) = 0;
Description

returns if a pak exists matching the wildcard

ICryPak::FOpen Method (char *, char *, char *, int)
C++
virtual FILE * FOpen(const char * pName, const char * mode, char * szFileGamePath, int nLen) = 0;
ICryPak::FOpen Method (char *, char *, unsigned)
C++
virtual FILE * FOpen(const char * pName, const char * mode, unsigned nFlags = 0) = 0;
Description

Open file handle, file can be on disk or in PAK file. Possible mode is r,b,x ex: FILE *f = FOpen( "test.txt","rbx" ); mode x is a direct access mode, when used file reads will go directly into the low level file system without any internal data caching. Text mode is not supported for files in PAKs. for nFlags @see ICryPak::EFOpenFlags

ICryPak::FOpenRaw Method
C++
virtual FILE * FOpenRaw(const char * pName, const char * mode) = 0;
Description

Just wrapper for fopen function. For loading sampler unification

ICryPak::FPrintf Method
C++
virtual int FPrintf(FILE * handle, const char * format, ...);
Description

virtual int FScanf(FILE *, const char *, ...) SCANF_PARAMS(2, 3) =0;

ICryPak::FRead Method
C++
template <class T> size_t FRead(T * data, size_t elems, FILE * handle, bool bSwapEndian = eLittleEndian);
Description

Type-safe endian conversion read.

ICryPak::FReadRaw Method
C++
virtual size_t FReadRaw(void * data, size_t length, size_t elems, FILE * handle) = 0;
Description

Read raw data from file, no endian conversion.

ICryPak::FReadRawAll Method
C++
virtual size_t FReadRawAll(void * data, size_t nFileSize, FILE * handle) = 0;
Description

Read all file contents into the provided memory, nSizeOfFile must be the same as returned by GetFileSize(handle) Current seek pointer is ignored and reseted to 0. no endian conversion.

ICryPak::FreePakInfo Method
C++
virtual void FreePakInfo(PakInfo*) = 0;
ICryPak::FSeek Method
C++
virtual size_t FSeek(FILE * handle, long seek, int mode) = 0;
ICryPak::FTell Method
C++
virtual long FTell(FILE * handle) = 0;
ICryPak::FWrite Method (T *, size_t, FILE *)
C++
template <class T> void FWrite(T * data, size_t elems, FILE * handle);
Description

Type-independent Write.

ICryPak::FWrite Method (void *, size_t, size_t, FILE *)
C++
virtual size_t FWrite(const void * data, size_t length, size_t elems, FILE * handle) = 0;
Description

Write file data, cannot be used for writing into the PAK. Use ICryArchive interface for writing into the pak files.

ICryPak::GetAlias Method
C++
virtual const char * GetAlias(const char* szName, bool bReturnSame = true) = 0;
Description

gets an alias from the list, if any exist. if bReturnSame==true, it will return the input name if an alias doesn't exist. Otherwise returns NULL

ICryPak::Getc Method
C++
virtual int Getc(FILE *) = 0;
ICryPak::GetCachedPakCDROffsetSize Method
C++
virtual void GetCachedPakCDROffsetSize(const char* szName, uint32 & offset, uint32 & size) = 0;
Description

Only returns useful results on a dedicated server at present - and only if the pak is already opened

ICryPak::GetFileArchivePath Method
C++
virtual const char* GetFileArchivePath(FILE* f) = 0;
Description

returns the path to the archive in which the file was opened returns NULL if the file is a physical file, and "" if the path to archive is unknown (shouldn't ever happen)

ICryPak::GetFileMediaType Method

Return media type for the file

C++
virtual EStreamSourceMediaType GetFileMediaType(const char* szName) = 0;
ICryPak::GetFileOffsetOnMedia Method

Return offset in pak file (ideally has to return offset on DVD) for streaming requests sorting

C++
virtual uint64 GetFileOffsetOnMedia(const char* szName) = 0;
ICryPak::GetFileSizeOnDisk Method
C++
virtual ICryPak::SignedFileSize GetFileSizeOnDisk(const char * filename) = 0;
ICryPak::GetGameFolder Method
C++
virtual const char* GetGameFolder() const = 0;
ICryPak::GetLocalizationFolder Method
C++
virtual char const* const GetLocalizationFolder() const = 0;
ICryPak::GetLvlResStatus Method
C++
virtual bool GetLvlResStatus() const = 0;
Returns

true=on, false=off

Description

LvlRes can be enabled by command line - then asset resource recording is enabled and some modules can do more asset tracking work based on that

ICryPak::GetMod Method
C++
virtual const char* GetMod(int index) = 0;
Description

returns indexed mod path, or NULL if out of range

ICryPak::GetModificationTime Method
C++
virtual ICryPak::FileTime GetModificationTime(FILE* f) = 0;
Description

virtual bool IsOutOfDate(const char * szCompiledName, const char * szMasterFile)=0; returns file modification time

ICryPak::GetPakInfo Method
C++
virtual ICryPak::PakInfo* GetPakInfo() = 0;
Description

returns an array of PackInfo structures inside OpenPacks structure you MUST call FreeOpenPackInfo

ICryPak::GetPakPriority Method
C++
virtual int GetPakPriority() = 0;
Description

gets the current pak priority

ICryPak::GetRecordFileOpenList Method
C++
virtual ICryPak::ERecordFileOpenList GetRecordFileOpenList() = 0;
Description

get the current mode, can be set by RecordFileOpen()

ICryPak::GetResourceList Method

Get resource list of all recorded files, the next level, ...

C++
virtual IResourceList* GetResourceList(const ERecordFileOpenList eList) = 0;
ICryPak::Init Method
C++
virtual bool Init(const char * szBasePath) = 0;
ICryPak::IsAbsPath Method
C++
virtual bool IsAbsPath(const char* pPath) = 0;
Description

determines if pPath is an absolute or relative path

ICryPak::IsFileCompressed Method
C++
virtual bool IsFileCompressed(const char* filename) = 0;
Description

checks if file is compressed inside a pak

ICryPak::IsFileExist Method
C++
virtual bool IsFileExist(const char * sFilename, EFileSearchLocation = eFileLocation_Any) = 0;
Description

Checks if specified file exist in filesystem.

ICryPak::IsFolder Method
C++
virtual bool IsFolder(const char * sPath) = 0;
Description

Checks if path is a folder

ICryPak::IsInPak Method
C++
virtual bool IsInPak(FILE * handle) = 0;
ICryPak::IsInstalledToHDD Method

Returns true if given pak path is installed to HDD If no file path is given it will return true if whole application is installed to HDD

C++
virtual bool IsInstalledToHDD(const char* acFilePath = 0) const = 0;
ICryPak::LoadPaksToMemory Method
C++
virtual void LoadPaksToMemory(int nMaxPakSize, bool bLoadToMemory) = 0;
ICryPak::LoadPakToMemory Method
C++
virtual bool LoadPakToMemory(const char * pName, EInMemoryPakLocation eLoadToMemory, IMemoryBlock * pMemoryBlock = NULL) = 0;
Description

Load or unload pak file completely to memory.

ICryPak::Lock Method
C++
virtual void Lock() = 0;
Description

lock all the operations

ICryPak::LockReadIO Method
C++
virtual void LockReadIO(bool bValue) = 0;
Description

add a lock operation around the read operations to be sure they only happen from one thread

ICryPak::MakeDir Method
C++
virtual bool MakeDir(const char* szPath, bool bGamePathMapping = false) = 0;
Description

creates a directory

ICryPak::OpenArchive Method
C++
virtual ICryArchive* OpenArchive(const char* szPath, unsigned int nFlags = 0, IMemoryBlock* pData = 0) = 0;
Description

open the physical archive file - creates if it doesn't exist returns NULL if it's invalid or can't open the file nFlags is a combination of flags from EPakFlags enum.

ICryPak::OpenPack Method (char *, unsigned, IMemoryBlock*, CryFixedStringT<:g_nmaxpath> *)
C++
virtual bool OpenPack(const char * pName, unsigned nFlags = FLAGS_PATH_REAL, IMemoryBlock* pData = 0, CryFixedStringT<:g_nmaxpath> * pFullPath = 0) = 0;
Parameters
Parameters
Description
const char * pName
must not be 0
Description

after this call, the pak file will be searched for files when they aren't on the OS file system

ICryPak::OpenPack Method (char*, char *, unsigned, IMemoryBlock*, CryFixedStringT<:g_nmaxpath> *)
C++
virtual bool OpenPack(const char* pBindingRoot, const char * pName, unsigned nFlags = FLAGS_PATH_REAL, IMemoryBlock* pData = 0, CryFixedStringT<:g_nmaxpath> * pFullPath = 0) = 0;
Description

after this call, the pak file will be searched for files when they aren't on the OS file system

ICryPak::OpenPacks Method (char *, unsigned, std::vector< CryFixedStringT<:g_nmaxpath> > *)
C++
virtual bool OpenPacks(const char * pWildcard, unsigned nFlags = FLAGS_PATH_REAL, std::vector< CryFixedStringT<:g_nmaxpath> > * pFullPaths = NULL) = 0;
Description

opens pack files by the path and wildcard

ICryPak::OpenPacks Method (char*, char *, unsigned, std::vector< CryFixedStringT<:g_nmaxpath> > *)
C++
virtual bool OpenPacks(const char* pBindingRoot, const char * pWildcard, unsigned nFlags = FLAGS_PATH_REAL, std::vector< CryFixedStringT<:g_nmaxpath> > * pFullPaths = NULL) = 0;
Description

opens pack files by the path and wildcard

ICryPak::ParseAliases Method
C++
virtual void ParseAliases(const char* szCommandLine) = 0;
Description

Processes an alias command line containing multiple aliases.

ICryPak::PoolAllocMemoryBlock Method
C++
virtual IMemoryBlock* PoolAllocMemoryBlock(size_t nSize, const char * sUsage, size_t nAlign = 1) = 0;
Description

Return an interface to the Memory Block allocated on the File Pool memory. sUsage indicates for what usage this memory was requested.

ICryPak::PoolFree Method
C++
virtual void PoolFree(void * p) = 0;
Description

! Free pool

ICryPak::PoolMalloc Method
C++
virtual void * PoolMalloc(size_t size) = 0;
Description

! Return pointer to pool if available

ICryPak::RawCompress Method
C++
virtual int RawCompress(const void* pUncompressed, unsigned long* pDestSize, void* pCompressed, unsigned long nSrcSize, int nLevel = -1) = 0;
Description

compresses the raw data into raw data. The buffer for compressed data itself with the heap passed. Uses method 8 (deflate) returns one of the Z_* errors (Z_OK upon success) MT-safe

ICryPak::RawUncompress Method
C++
virtual int RawUncompress(void* pUncompressed, unsigned long* pDestSize, const void* pCompressed, unsigned long nSrcSize) = 0;
Description

Uncompresses raw (without wrapping) data that is compressed with method 8 (deflated) in the Zip file returns one of the Z_* errors (Z_OK upon success) This function just mimics the standard uncompress (with modification taken from unzReadCurrentFile) with 2 differences: there are no 16-bit checks, and it initializes the inflation to start without waiting for compression method byte, as this is the way it's stored into zip file

ICryPak::RecordFile Method
C++
virtual void RecordFile(FILE * in, const char * szFilename) = 0;
Parameters
Parameters
Description
FILE * in
0 if asyncronous read
Description

Record this file if recording is enabled.

ICryPak::RecordFileOpen Method
C++
virtual void RecordFileOpen(const ERecordFileOpenList eList) = 0;
Description

Turn on/off recording of filenames of opened files.

ICryPak::RegisterFileAccessSink Method
C++
virtual void RegisterFileAccessSink(ICryPakFileAcesssSink * pSink) = 0;
Parameters
Parameters
Description
ICryPakFileAcesssSink * pSink
must not be 0
Description

useful for gathering file access statistics, assert if it was inserted already but then it does not become insersted

ICryPak::Release Method
C++
virtual void Release() = 0;
ICryPak::RemoveDir Method
C++
virtual bool RemoveDir(const char* pName, bool bRecurse) = 0;
Description

remove directory from FS (if supported)

ICryPak::RemoveFile Method
C++
virtual bool RemoveFile(const char* pName) = 0;
Description

remove file from FS (if supported)

ICryPak::RemoveMod Method
C++
virtual void RemoveMod(const char* szMod) = 0;
Description

removes a mod from the list

ICryPak::SetAlias Method
C++
virtual void SetAlias(const char* szName, const char* szAlias, bool bAdd) = 0;
Description

adds or removes an alias from the list

ICryPak::SetGameFolder Method
C++
virtual void SetGameFolder(const char* szFolder) = 0;
Description

Set and Get "Game" folder (/Game, /Game04, ...)

ICryPak::SetLocalizationFolder Method
C++
virtual void SetLocalizationFolder(char const* const sLocalizationFolder) = 0;
Description

Set and Get the localization folder name (Languages, Localization, ...)

ICryPak::SetPackAccessible Method
C++
virtual bool SetPackAccessible(bool bAccessible, const char* pName, unsigned nFlags = FLAGS_PATH_REAL) = 0;
Description

Set access status of a pack file

ICryPak::SetPacksAccessible Method
C++
virtual bool SetPacksAccessible(bool bAccessible, const char* pWildcard, unsigned nFlags = FLAGS_PATH_REAL) = 0;
Description

Set access status of a pak files with a wildcard

ICryPak::SetPacksAccessibleForLevel Method
C++
virtual void SetPacksAccessibleForLevel(const char* sLevelName) = 0;
Description

this marks as Accessible all paks required for specific level and vice versa for all other paks - useful in case game have per level split assets

ICryPak::SetRenderThreadId Method
C++
virtual void SetRenderThreadId(threadID renderThreadId) = 0;
ICryPak::SetResourceList Method
C++
virtual void SetResourceList(const ERecordFileOpenList eList, IResourceList* pResourceList) = 0;
ICryPak::Ungetc Method
C++
virtual int Ungetc(int c, FILE *) = 0;
ICryPak::Unlock Method
C++
virtual void Unlock() = 0;
ICryPak::UnregisterFileAccessSink Method
C++
virtual void UnregisterFileAccessSink(ICryPakFileAcesssSink * pSink) = 0;
Parameters
Parameters
Description
ICryPakFileAcesssSink * pSink
must not be 0
Description

assert if it was not registered already

ICryPak::FileTime Nested Type
C++
typedef uint64 FileTime;
ICryPak::SignedFileSize Nested Type
C++
typedef int64 SignedFileSize;