FPS_UINT32 MaterialManager::LoadTexture( const std::string &p_FileName, MD5_DIGEST &p_TextureDigest ) { Texture *pMaterialTexture = new Texture( ); if( pMaterialTexture->LoadFromFile( p_FileName ) != FPS_OK ) { return FPS_FAIL; } pMaterialTexture->GetDigest( p_TextureDigest ); std::pair< std::map< MD5_DIGEST, Texture * >::iterator, bool > TextureMapResult; TextureMapResult = m_Textures.insert( std::pair< MD5_DIGEST, Texture * >( p_TextureDigest, pMaterialTexture ) ); if( TextureMapResult.second == false ) { std::cout << "[FPS::MaterialManager::LoadTexture] <INFO> " "Duplicate texture detected, not adding" << std::endl; SafeDelete< Texture >( pMaterialTexture ); } return FPS_OK; }