83 lines
1.7 KiB
C++
83 lines
1.7 KiB
C++
#include "ifilesystem.h"
|
|
#include "tier1/interface.h"
|
|
#include "tier0/lib.h"
|
|
|
|
class CPAKFileHandle : public IFileHandle
|
|
{
|
|
public:
|
|
|
|
};
|
|
|
|
class CPAKFileSystem : public IFileSystem
|
|
{
|
|
public:
|
|
virtual void Init() override {};
|
|
virtual void Shutdown() override {};
|
|
|
|
virtual IFileHandle *Open( const char *szFileName, int eOpCode ) override
|
|
{
|
|
const char *szOperation;
|
|
switch (eOpCode)
|
|
{
|
|
case FILEMODE_READ:
|
|
szOperation = "r";
|
|
break;
|
|
default:
|
|
V_printf("Operation is not supported\n");
|
|
break;
|
|
}
|
|
return 0;
|
|
|
|
CPAKFileHandle *pHandle = new CPAKFileHandle;
|
|
return pHandle;
|
|
}
|
|
virtual size_t Write( IFileHandle *pFile, const void *pData, size_t nDataSize ) override
|
|
{
|
|
return 0;
|
|
}
|
|
virtual size_t Read( IFileHandle *pFile, void *pData, size_t nDataSize ) override
|
|
{
|
|
CPAKFileHandle *pHandle = (CPAKFileHandle*)pFile;
|
|
if (!pHandle)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
|
|
virtual size_t Seek( IFileHandle *pFile, ESeekMode eSeekMode, size_t nOffset ) override
|
|
{
|
|
int eLibcSeekMode = 0;
|
|
switch (eSeekMode) {
|
|
case SEEKMODE_SET:
|
|
eLibcSeekMode = SEEK_SET;
|
|
break;
|
|
case SEEKMODE_RELATIVE_END:
|
|
eLibcSeekMode = SEEK_END;
|
|
break;
|
|
case SEEKMODE_RELATIVE_START:
|
|
eLibcSeekMode = SEEK_CUR;
|
|
break;
|
|
}
|
|
CPAKFileHandle *pHandle = (CPAKFileHandle*)pFile;
|
|
if (!pHandle)
|
|
return 0;
|
|
}
|
|
|
|
virtual size_t Tell( IFileHandle *pFile ) override
|
|
{
|
|
CPAKFileHandle *pHandle = (CPAKFileHandle*)pFile;
|
|
if (!pHandle)
|
|
return 0;
|
|
}
|
|
|
|
virtual void Close( IFileHandle *pFile ) override
|
|
{
|
|
CPAKFileHandle *pHandle = (CPAKFileHandle*)pFile;
|
|
if (!pHandle)
|
|
return;
|
|
delete pHandle;
|
|
}
|
|
};
|
|
|
|
CPAKFileSystem g_pakFileSystem;
|
|
IFileSystem *filesystem_pak = &g_pakFileSystem;
|