初步修复
This commit is contained in:
parent
8fc4357cc6
commit
e4714f3f0e
46705 changed files with 12004901 additions and 0 deletions
124
Common/EtFileSystem/EtPackingStream.cpp
Normal file
124
Common/EtFileSystem/EtPackingStream.cpp
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
#include "stdafx.h"
|
||||
#include "EtPackingStream.h"
|
||||
#include "EtFileSystem.h"
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new new(_NORMAL_BLOCK,__FILE__,__LINE__)
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------------------------------------------------------
|
||||
|
||||
CPackingStream::CPackingStream()
|
||||
{
|
||||
m_pStream = NULL;
|
||||
}
|
||||
|
||||
CPackingStream::CPackingStream( const char *pFileName )
|
||||
{
|
||||
m_pStream = NULL;
|
||||
Open( pFileName);
|
||||
}
|
||||
|
||||
CPackingStream::~CPackingStream()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
void CPackingStream::Activate()
|
||||
{
|
||||
Open( m_szFileName.c_str());
|
||||
}
|
||||
|
||||
bool CPackingStream::Open( const char *pFileName )
|
||||
{
|
||||
Close();
|
||||
|
||||
#ifdef _UNICODE
|
||||
std::wstring wstr;
|
||||
|
||||
WCHAR wszBuff[8192] = L"";
|
||||
ZeroMemory(wszBuff, sizeof(WCHAR)*8192);
|
||||
MultiByteToWideChar(CP_ACP, 0, pFileName, -1, wszBuff, 8192 );
|
||||
wstr = wszBuff;
|
||||
|
||||
m_pStream = CEtFileSystem::GetInstance().OpenFile(wstr.c_str());
|
||||
#else
|
||||
m_pStream = CEtFileSystem::GetInstance().OpenFile(pFileName);
|
||||
#endif
|
||||
|
||||
if ( m_pStream == NULL )
|
||||
return false;
|
||||
|
||||
m_szFileName = pFileName;
|
||||
|
||||
return IsValid();
|
||||
}
|
||||
|
||||
void CPackingStream::Close()
|
||||
{
|
||||
if ( m_pStream )
|
||||
{
|
||||
CEtFileSystem::GetInstance().CloseFile(m_pStream);
|
||||
m_pStream = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
bool CPackingStream::IsEnd() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
long CPackingStream::Tell()
|
||||
{
|
||||
_ASSERT( m_pStream );
|
||||
|
||||
if (!m_pStream)
|
||||
return 0;
|
||||
|
||||
return Seek(0, SEEK_CUR);
|
||||
}
|
||||
|
||||
int CPackingStream::Size() const
|
||||
{
|
||||
_ASSERT( m_pStream );
|
||||
|
||||
if (!m_pStream)
|
||||
return -1;
|
||||
|
||||
return m_pStream->GetFileContext()->dwOriginalSize;
|
||||
|
||||
}
|
||||
|
||||
bool CPackingStream::IsValid() const
|
||||
{
|
||||
return ( m_pStream != NULL );
|
||||
}
|
||||
|
||||
int CPackingStream::Seek( long lOffset, int nOrigin )
|
||||
{
|
||||
_ASSERT( m_pStream );
|
||||
|
||||
if ( m_pStream )
|
||||
{
|
||||
return m_pStream->Seek(lOffset, nOrigin);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int CPackingStream::Read( void *pBuffer, int nSize )
|
||||
{
|
||||
if ( m_pStream )
|
||||
{
|
||||
return m_pStream->Read(pBuffer, nSize);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int CPackingStream::Write( const void *pBuffer, int nSize )
|
||||
{
|
||||
_ASSERT(false && "Can't write this Stream." );
|
||||
return -1;
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue