void CResourceBase::AddResourceDir( LPCTSTR pszDirName ) { ADDTOCALLSTACK("CResourceBase::AddResourceDir"); if ( pszDirName[0] == '\0' ) return; CGString sFilePath = CGFile::GetMergedFileName( pszDirName, "*" GRAY_SCRIPT ); CFileList filelist; int iRet = filelist.ReadDir( sFilePath, false ); if ( iRet < 0 ) { // also check script file path sFilePath = CGFile::GetMergedFileName(m_sSCPBaseDir, sFilePath.GetPtr()); iRet = filelist.ReadDir( sFilePath, true ); if ( iRet < 0 ) { DEBUG_ERR(( "DirList=%d for '%s'\n", iRet, static_cast<LPCTSTR>(pszDirName) )); return; } } if ( iRet <= 0 ) // no files here. { return; } CGStringListRec * psFile = filelist.GetHead(); for ( ; psFile; psFile = psFile->GetNext()) { sFilePath = CGFile::GetMergedFileName( pszDirName, *psFile ); AddResourceFile( sFilePath ); } }