Code:
{
DWORD dwPieceSize;
//SFile >> m_fScale;
SFile >> dwPieceSize;
if ( dwPieceSize > PIECE_SIZE ) return FALSE;
// Note : มถฐขต้ ทฮตๅ.
//
BOOL bExit;
for ( DWORD i=0; i<dwPieceSize; ++i )
{
SFile >> bExit;
if ( !bExit )
{
m_strPIECE[i].clear();
continue;
}
SFile >> m_strPIECE[i];
}
// Note : บปฦฤภฯ ภะฑโ.
//
SFile >> m_strSkeleton;
// Note :ฟกดฯธภฬผว ภะฑโ.
//
DWORD dwAniNum(0);
SFile >> dwAniNum;
m_vecANIFILE.clear();
m_vecANIFILE.reserve ( dwAniNum );
for ( DWORD i=0; i<dwAniNum; ++i )
{
//std::string strANIFILE;
//SFile >> strANIFILE;
// GForceFX 17-06-2013 Fix ABL read .cfg extension animation
std::string strTEMP ;
SFile >> strTEMP ;
CString strANIFILE;
bool bCFG;
bCFG = STRUTIL::ChangeExt ( strTEMP.c_str(), ".cfg", strANIFILE, ".x" );
if ( !bCFG )
{
strANIFILE = strTEMP.c_str();
}
m_vecANIFILE.push_back ( strANIFILE.GetString() );
}
SFile >> m_fScale;
BOOL bExist = FALSE;
SFile >> bExist;
if( bExist )
{
SFile >> m_fHeight;
SFile >> m_fRadius;
}
else return TRUE;
SFile >> m_dwBONE;
if ( m_dwBONE > MAX_BONE ) return FALSE;
for ( i=0; i < m_dwBONE ; ++i )
{
SFile >> m_fBONE1[i];
SFile >> m_fBONE2[i];
SFile >> m_fBONE3[i];
SFile >> m_strBONE[i];
}
// Note : นูฟ๎ตๅ นฺฝบ มคบธ ทฮตๅ.
//
BOOL bBoundBox(FALSE);
SFile >> bBoundBox;
if ( bBoundBox )
{
SFile >> m_vMax;
SFile >> m_vMin;
}
else
{
m_vMax = D3DXVECTOR3(7.f,20.f,7.f);
m_vMin = D3DXVECTOR3(-7.f,0.f,-7.f);
}
bExist = FALSE;
SFile >> bExist;
if( bExist ) SFile >> m_bWorldObj;
else return TRUE;
// Note : ดวม
SFile >> bExist;
//CDebugSet::ToLogFile( "load version_0000 : %d asp okey" );
return TRUE;
try to change your code to this