BOOL SVERTEXINFLU::LoadFile ( basestream &SFile )
{
DWORD dwVer;
DWORD dwSize;
SFile >> dwVer;
SFile >> dwSize;
if ( dwVer == SVERTEXINFLU::VERSION )
{
SFile >> m_dwIndex;
SFile >> m_vVector;
SFile >> m_vNormal;
SFile >> m_dwNumBone;
SetBoneNum(m_dwNumBone); // Á¡°Ë Â÷¿ø¿¡¼ È£Ãâ.
if ( m_dwNumBone > 0 && m_dwNumBone != COL_ERR )
{
SFile.ReadBuffer ( m_pBone, sizeof(DWORD)*m_dwNumBone );
SFile.ReadBuffer ( m_pWeights, sizeof(float)*m_dwNumBone );
}
}
else if ( dwVer == 0x0101)
{
SFile >> m_dwIndex;
SFile >> m_vVector;
SFile >> m_vNormal;
SFile >> m_dwNumBone;
SetBoneNum(m_dwNumBone); // Á¡°Ë Â÷¿ø¿¡¼ È£Ãâ.
if ( m_dwNumBone > 0 && m_dwNumBone != COL_ERR )
{
SFile.ReadBuffer ( m_pBone, sizeof(DWORD)*m_dwNumBone );
SFile.ReadBuffer ( m_pWeights, sizeof(float)*m_dwNumBone );
}
}
else if ( dwVer == 0xC86BBF80)
{
SFile >> m_dwIndex;
SFile >> m_vVector;
SFile >> m_vNormal;
SFile >> m_dwNumBone;
SetBoneNum(m_dwNumBone); // Á¡°Ë Â÷¿ø¿¡¼ È£Ãâ.
if ( m_dwNumBone > 0 && m_dwNumBone != COL_ERR )
{
SFile.ReadBuffer ( m_pBone, sizeof(DWORD)*m_dwNumBone );
SFile.ReadBuffer ( m_pWeights, sizeof(float)*m_dwNumBone );
}
}
else if ( dwVer == 0x000)
{
SFile >> m_dwIndex;
SFile >> m_vVector;
SFile >> m_vNormal;
SFile >> m_dwNumBone;
SetBoneNum(m_dwNumBone); // Á¡°Ë Â÷¿ø¿¡¼ È£Ãâ.
if ( m_dwNumBone > 0 && m_dwNumBone != COL_ERR )
{
SFile.ReadBuffer ( m_pBone, sizeof(DWORD)*m_dwNumBone );
SFile.ReadBuffer ( m_pWeights, sizeof(float)*m_dwNumBone );
}
}
else
{
CString strTemp = "";
strTemp.Format( "SVERTEXINFLU::LoadFile Error! Name:%s Version:%d Size:%d Current Version:%d" ,SFile.GetFileName(),dwVer,dwSize,SVERTEXINFLU::VERSION);
MessageBox (NULL,strTemp,"Need New Version",MB_OK);
CDebugSet::ToFile ( "EngineLoadError.txt",strTemp );
strTemp.Empty();
SFile.SetOffSet ( SFile.GetfTell() + dwSize );
}
return TRUE;
}