diff --git a/src/app/gamedata.cpp b/src/app/gamedata.cpp index 1bf3f368..05c02426 100644 --- a/src/app/gamedata.cpp +++ b/src/app/gamedata.cpp @@ -78,16 +78,22 @@ std::string CGameData::GetFilePath(DataDir dir, const std::string& subpath) for(std::vector::reverse_iterator rit = m_dataDirs.rbegin(); rit != m_dataDirs.rend(); ++rit) { std::stringstream str; - str << *rit; - str << "/"; - str << m_standardDataDirs[index]; - if (dir == DIR_HELP) - { + + if ( subpath.find("save") == std::string::npos ){ // if its NOT a path to a savefile screenshot + str << *rit; + str << "/"; + str << m_standardDataDirs[index]; + + if (dir == DIR_HELP) + { + str << "/"; + str << CApplication::GetInstancePointer()->GetLanguageChar(); + } str << "/"; - str << CApplication::GetInstancePointer()->GetLanguageChar(); } - str << "/"; + str << subpath; + boost::filesystem::path path(str.str()); if(boost::filesystem::exists(path)) { @@ -95,18 +101,9 @@ std::string CGameData::GetFilePath(DataDir dir, const std::string& subpath) } } - std::stringstream str; - str << m_dataDirs[0]; - str << "/"; - str << m_standardDataDirs[index]; - if (dir == DIR_HELP) - { - str << "/"; - str << CApplication::GetInstancePointer()->GetLanguageChar(); - } - str << "/"; - str << subpath; - return str.str(); + GetLogger()->Error("file subpath error\n"); + + return ""; } std::string CGameData::GetDataPath(const std::string &subpath)