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 ); } }
bool ProjectFileParser::ReadItemGroup(rapidxml::xml_node<>* node) { std::string label = GetAttributeValue(node,"Label"); if (label == "ProjectConfigurations") return ReadProjectConfigurations(node); rapidxml::xml_node<>* child = node->first_node(); while (child) { switch (GetNodeType(child)) { case eClCompile: AddSourceFile(child); break; case eClInclude: AddIncludeFile(child); break; case eResourceCompile: AddResourceFile(child); break; case eCustomBuild: AddCustomBuildFile(child); break; case eNone: break; case eProjectReference: AddProjectReference(child); break; default: break; } child = child->next_sibling(); } return true; }
CResourceScript * CResourceBase::LoadResourcesAdd( LPCTSTR pszNewFileName ) { ADDTOCALLSTACK("CResourceBase::LoadResourcesAdd"); // Make sure this is added to my list of resource files // And load it now. CResourceScript * pScript = AddResourceFile( pszNewFileName ); if ( ! LoadResources(pScript)) return( NULL ); return( pScript ); }